Healthcare
Patient records for a veterinary practice
Clinical records for a veterinary practice. Each animal has an owner, a history of visits, vaccinations with due dates, and weight over time. Vets write notes during the consultation and the system flags which vaccinations are overdue this month.
Automatically generated draft
Written by machine against our own engineering playbook. The company is invented; the decisions are the ones we would make on a real build. A reviewed blueprint goes further — nine sections, agreed line by line, and it is what the build is tested against.
Section 01 · What has to work
The system must provide a vet with a complete, instantly-accessible clinical history for any animal, and clearly flag overdue vaccinations.
Section 03 · Screens
Every screen, and what it is for.
- ›Dashboard — All staff, see today's appointments and alerts, must load instantly.
- ›Client Search — All staff, find an animal by name or owner, results must appear while typing.
- ›Animal Record — Vets & techs, view full history, weight, and vaccinations, must load instantly.
- ›Consultation — Vets, write notes and record vitals for a current visit, saving notes must be instant.
- ›Vaccination Report — All staff, list animals with vaccinations due or overdue, must generate instantly.
Anything not on this list is not in version one. That is what keeps a fixed price fixed.
Section 04 · The data model
What it stores, and who can read a row.
Owner
id uuid, name text, contact_details jsonb
Access · Any authenticated staff member can read any owner row.
Animal
id uuid, owner_id uuid, name text, species text, breed text, dob date, microchip_id text
Access · Any authenticated staff member can read any animal row.
Visit
id uuid, animal_id uuid, attending_vet_id uuid, visit_at timestamptz, notes text
Access · Any authenticated staff member can read any visit row.
WeightLog
id uuid, animal_id uuid, recorded_at timestamptz, weight_kg numeric(6,2)
Access · Any authenticated staff member can read any weight log row.
Vaccination
id uuid, animal_id uuid, vaccine_name text, administered_on date, due_on date
Access · Any authenticated staff member can read any vaccination row.
Those access rules belong in the database, not in the screens. Someone who edits the address bar still cannot read a row that is not theirs — and the test that proves it blocks delivery if it fails.
Section 05 · States
Visit: scheduled → checked_in → in_consultation → billing → complete
Most scope arguments three weeks into a build are really arguments about a state nobody named at the start.
Section 06 · Where this breaks
What bites products like this one.
Two staff members edit the same consultation notes, causing one person's work to be overwritten and lost.
Show a warning if the record was updated since being opened; implement a 'last-write-wins' policy for v1.
A due date of 'May 1st' is calculated differently depending on the server's and user's time zones.
Store event timestamps in UTC (timestamptz), but use calendar dates (`date`) for expirations and due dates, which are timezone-agnostic.
Incorrect weight entry (e.g., lbs vs kg) skews historical data and can lead to incorrect medication dosage.
Explicitly label all input fields with units, e.g., 'Weight (kg)', and add validation for sensible ranges.
Section 08 · Deliberately left out
What version one does not do.
- ×Weight-over-time graphing — Why: Charting libraries add front-end complexity. When: Add after core record-keeping is stable and data capture is confirmed reliable.
- ×Automated 'Overdue This Month' dashboard widget — Why: Requires a potentially slow, complex query on every login. When: Replace with a dedicated report page for v1.
This is the section that protects the date, and the only place in the document where somebody says no. It is also why clients trust the rest of it.
Still open
What we would ask before quoting.
- Do different roles (vet, tech, admin) require different access levels, or can all staff see and edit all records?
- Is there an existing system with client and animal data that needs to be imported? If so, in what format?
- Are consultation notes simple text, or do they require structured templates, file uploads, or embedded images?
Your product, not this one
Get this written for what you are actually building.
Describe it in a sentence and the generator returns the same sections for your own product. Free, no email, nothing saved to a list.
Next step
Find out if your idea fits in 10 working days.
Tell us what you want to build. We reply the same day with a straight yes, no, or here is what we would cut.