The problem is not the list of animals, it is the JOURNEY
A shelter does not accumulate records, it moves trajectories forward. An animal arrives (surrendered, seized, stray), goes through quarantine, maybe leaves for a foster home, comes back, receives care, is put up for adoption, meets three applicants, turns two of them down, and finally leaves. At every step what matters is not the new data point — it is its link to everything that came before.
That is precisely what a spreadsheet cannot hold. It answers "how many animals?" and never "which ones have been in foster care for more than six months", "which are waiting on a post-adoption visit", "which applicant was turned down, and why". Those questions do not call for more columns, they call for the records to be LINKED.
And the stakes are higher than tidiness: a shelter that cannot retrieve an animal's history loses health or behavioural information nobody else holds.
What you describe, and what the engine makes of it
You write your need in plain language — "we are an animal welfare charity, we take in dogs and cats, we work with about thirty foster homes, I want to track intakes, care, adoption applicants and completed adoptions". The engine derives a business schema from it: the entities, their fields, what links to what.
Before a single line of code is written, that plan is shown to you and you edit it: rename an entity, add the microchip number next to the name, drop a section, fix the values of a status list so they are your shelter's. This is the point where the application becomes yours rather than a rough reading of your sentence.
The animal, its stay, its care
Each animal carries its own identity — name, species, sex, estimated age, microchip number, intake date and reason, status — and everything about it attaches to that record. Its page therefore shows its journey: where it has been housed over time, its care, its behavioural notes, its applicants.
Lists filter and sort: by species, status, location, intake date. A deletion erases nothing permanently — it goes to a trash view the record can be restored from, which matters on data nobody can reconstruct.
- One record per animal, with its full history
- Dated intakes: origin, reason, condition on arrival
- Care and observations attached to the animal
- Filtering and sorting by species, status, location or date
- Trash and restore for deleted records
Foster homes, applicants, adoptions
A foster home is an entity in its own right: contact details, what it can take in, and the animals it hosts or has hosted. From its record you see its history; from an animal's record you see where it is. The same relation, read both ways, with no double entry.
Adoption follows the same logic: an applicant attaches to the animal they are asking for, with the state of their application. A rejected application stays in the history with its reason — precisely what an overwritten spreadsheet loses, and what you regret two years later.
- Foster homes: capacity, contact details, animals hosted
- Adoption applicants attached to an animal
- Application tracking: contact, visit, decision
- Completed adoptions and post-adoption follow-up
- JSON and CSV export of every dataset, whenever you decide
What the application is not
It is an internal management tool, not regulatory software, and the distinction matters here. Identification of pet carnivores is mandatory in France, and updating it on a transfer goes through the national identification database (I-CAD): the application is NOT connected to it, files nothing on your behalf and replaces no official step. It records the microchip number as one data point among others — that is all.
Nor does it replace your vet or the animal's health record: the care you log there is an internal reminder, not an official health document. And it has no offline mode: it is a web application, it opens in a phone browser, but with no signal in the kennels, entry happens when you get back.
What it does do, it does with code that belongs to you: a standard Next.js and Prisma project, exportable as a ZIP or pushed to your own GitHub repository. For a charity that means one concrete thing — no vendor can switch the tool off, and it does not become unusable the day the person who set it up moves on.
Possible entities
- Animal
- Intake
- Care record
- Foster home
- Applicant
- Adoption
Possible screens
- Dashboard
- Animal list
- Animal record and its journey
- Foster homes
- Applications
- Adoptions
- Settings
Possible indicators
- Animals on site
- Animals in foster care
- Adoptions this month
- Animals unadopted for over six months
Frequently asked questions
Is the application connected to the national identification database?
No. Identification of pet carnivores is mandatory in France and updating it on a transfer is handled by the national database (I-CAD): the application is not connected to it and takes no step on your behalf. It records the number as one data point among others, so that you can find it again.
Can we manage foster homes without re-entering the animals?
Yes — that is the whole point: hosting is a relation between an animal and a foster home, not a copy. From the foster home's record you see the animals hosted, from the animal's record you see where it is. One entry, read both ways.
Can several volunteers use it?
Yes: as soon as the application requires a login, it ships real separate accounts across three roles — admin, user, read-only. Rights are global to the application: there is no fine-grained permission per species, per location or per entity.
Can we enter data from the kennels, on a phone?
The application is a web app served on a dedicated URL: it opens in a phone browser as well as on a desktop. There is no offline mode — with no signal in the buildings, entry happens when you get back.
What happens to the tool if the volunteer who set it up leaves?
The application's full code belongs to you: a standard Next.js and Prisma project, exportable as a ZIP or pushed to the charity's GitHub, and hostable wherever you want. No vendor can switch it off, and any developer can pick it up — that is the difference between a charity's tool and one person's tool.
What if our shelter doesn't look like this example?
The entities and screens listed above are what a description of this kind produces, not a fixed template. Your text decides, and the proposed plan can be edited before generation.
