What we are building.
Fosterdesk is early, and pretending otherwise would waste your time. Here is the plan: what works today, what is being built right now, and the records the entire product is built around.
Last updated October 2026. This page changes whenever the plan does.
The plan, in order
Nothing here is a feature list for its own sake. A phase ships when a rescue can do something new from beginning to end.
- Shipped
- Live today
- Building now
- Actively being built
- Planned
- Committed, not started
Phase 0 · Foundation
ShippedGoal: Have somewhere to put the product.
- Public site, this roadmap and the design system
- Sign-up and log-in screens
Phase 1 · The core record
Building nowGoal: Make the animal spreadsheet obsolete. A coordinator can answer "where is this dog and who has them" in one click.
Accounts and access
- Register a rescue: the organisation and its first admin in one step
- Log in, log out, and a session that survives closing the browser
- Every record belongs to one rescue, enforced on the server, not just hidden on screen
- Password reset by email
- Invite team members by email; they set their own password
- Roles: admin runs the team and settings, coordinator runs the records
Animals
- Name, species, breed, sex, date of birth or estimated age
- Colour and markings, microchip number
- Intake date, source (stray, surrender, transfer, return, born in care) and reason
- Status: intake, in foster, on hold, adoption pending, or how they left care
- Behaviour and care notes, good with dogs, cats and children
- Each record on its own page, corrected one group at a time
- Photos
- The date of every status change, kept
Foster homes and placements
- A directory of foster households with contact details
- Capacity, the species a home takes, and limits like "no cats" or "can handle medical cases"
- Status: active, paused, inactive
- Place an animal with a home, move it, or take it out, from the animal's page
- Who is placed where, on both the animal and the foster home
- Placement start and end dates, and the reason it ended
- Placement history on both the animal and the foster home
- The current placement is worked out from the dates, never typed in by hand
Dashboard and search
- Animals in care, against your account's limit
- Lists of animals in care or left care, and of foster homes by status
- Animals in care, counted by status
- Free foster space, by species
- Find any animal by name or microchip number
- Filter by species, status and foster home
Done when: A coordinator can sign up, invite a colleague, log an intake, place the animal with a foster, and find them again by microchip number.
The records
What we are modelling
The features above are made out of these records. Get one of them wrong and every screen built on it is wrong too, so this is the part worth arguing about early. Open a record to see the fields and how it connects to the rest.
Organisation
The rescue itself. The tenant that owns every other record in the system.
Organisation
The rescue itself. The tenant that owns every other record in the system.
- Name, country, timezone
- Contact email and public profile
- Settings: species handled, application form questions
- Subscription plan (later)
Connects to: Owns every Member, Animal, Foster home, Contact and Application. Nothing is ever shared between organisations.
Member
A person with a login and a role inside one organisation.
Member
A person with a login and a role inside one organisation.
- Name, email, password
- Role: admin, coordinator or foster
- Invitation status and date joined
- Last active
Connects to: Belongs to one Organisation. A foster-role Member may be linked to one Foster home. Can be assigned Tasks and can author Updates.
Animal
The centre of the whole app. One record per animal, from the first phone call to the day they go home.
Animal
The centre of the whole app. One record per animal, from the first phone call to the day they go home.
- Name, species, breed, sex, date of birth or estimated age
- Photos, colour and markings, microchip number
- Intake date, intake source and intake reason
- Status: intake, in foster, on hold, adoption pending, adopted, returned to owner, transferred out, deceased, lost
- Behaviour and care notes, good-with flags
Connects to: Belongs to one Organisation. Has many Health events, Updates, Placements, Applications and Attachments. Has at most one Outcome.
Foster home
A household that takes animals in. It exists whether or not anyone there has a login.
Foster home
A household that takes animals in. It exists whether or not anyone there has a login.
- Household name, address, phone, email
- Capacity: how many animals, and which species
- Limits and preferences: no cats, no small children, medical-capable
- Status: active, paused, inactive
- Coordinator notes
Connects to: Belongs to one Organisation. Has many Placements over time. Optionally linked to a Member, which is how a foster gets a login.
Placement
An animal in a foster home over a date range. This is the record that makes "who has this dog" answerable.
Placement
An animal in a foster home over a date range. This is the record that makes "who has this dog" answerable.
- Animal, foster home, start date, end date
- Reason it ended: adopted, moved, returned, foster unavailable
- Handover notes
Connects to: Links one Animal to one Foster home. The current placement is derived from the dates, never maintained by hand, and time in care falls out of it for free.
Health event
One dated medical fact about an animal. Many small records rather than one long free-text field.
Health event
One dated medical fact about an animal. Many small records rather than one long free-text field.
- Type: vaccination, treatment, surgery, vet visit, weight
- Date, vet or clinic, cost
- Product or medication and dose
- Next due date, for anything that repeats
Connects to: Belongs to one Animal. May reference a Contact (the vet) and carry Attachments. A next-due date can generate a Task.
Update
A dated note and photos on an animal's timeline, usually written by the foster caring for them.
Update
A dated note and photos on an animal's timeline, usually written by the foster caring for them.
- Body text
- Photos
- Author and date
- Optional flag: needs a coordinator to look at this
Connects to: Belongs to one Animal, authored by one Member. Ordered by date, these are the animal timeline.
Task
Something that has to happen by a date, owned by a named person rather than by everyone.
Task
Something that has to happen by a date, owned by a named person rather than by everyone.
- Title and description
- Due date, assignee, status
- Optional link to an animal, placement or application
- Source: created by hand, or generated from a due vaccination
Connects to: Belongs to one Organisation, assigned to one Member, optionally about one Animal.
Contact
A person who is not on your team: an applicant, an adopter, someone surrendering an animal, a vet.
Contact
A person who is not on your team: an applicant, an adopter, someone surrendering an animal, a vet.
- Name, email, phone, address
- Type: applicant, adopter, surrenderer, vet, partner
- History with your rescue, and notes
Connects to: Belongs to one Organisation. May be the applicant on many Applications, the adopter on an Outcome, or the vet on Health events.
Application
Someone's request to adopt a specific animal, moving through your screening process.
Application
Someone's request to adopt a specific animal, moving through your screening process.
- Applicant, animal, date received
- Stage: received, screening, home check, approved, declined, withdrawn
- Answers to your application questions
- Screening notes, home check result, decision and reason
Connects to: Belongs to one Organisation and links a Contact to an Animal. Carries Attachments, can generate Tasks, and when approved leads to an Outcome.
Outcome
How an animal left care. It closes the record, and it is what every report counts.
Outcome
How an animal left care. It closes the record, and it is what every report counts.
- Type: adopted, returned to owner, transferred, deceased
- Date
- Adopter, or the organisation they went to
- Adoption fee, contract, follow-up date
Connects to: Belongs to one Animal, at most one per animal. References a Contact when somebody adopted them.
Attachment
A file hung off another record: a vaccination card, a signed contract, a vet invoice.
Attachment
A file hung off another record: a vaccination card, a signed contract, a vet invoice.
- File, original name, type, size
- Uploaded by, and when
- Optional label
Connects to: Attaches to an Animal, Health event, Application, Foster home or Outcome, and belongs to the same Organisation as whatever it hangs off.