Childcare
Attendance and invoicing for a nursery
A nursery records which children attended each day and at what times, bills parents monthly based on the hours used plus extras, and lets parents see the day's photos and notes about their own child only.
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
A nursery records daily attendance and extras to generate monthly bills while giving parents secure access to their child's daily logs and photos.
Section 03 · Screens
Every screen, and what it is for.
- ›Dashboard — director views today's attendance and unbilled totals, and this must load instantly.
- ›Roster — staff check children in and out, and status toggles must update instantly.
- ›Daily Log — staff upload photos and notes, and text entry must render instantly.
- ›Parent Portal — parents view today's photos and notes, and media loading must feel instant.
- ›Billing Summary — directors review monthly hours and extras, and calculations must compute 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.
child
id uuid, first_name text, last_name text, dob date, status enum(active,inactive), created_at timestamptz
Access · Staff can read all; parents can read only their linked children.
attendance_session
id uuid, child_id uuid, check_in timestamptz, check_out timestamptz, verified_by uuid, created_at timestamptz
Access · Staff can read all; parents can read sessions for their linked children.
daily_activity
id uuid, child_id uuid, staff_id uuid, note text, photo_url text, logged_date date, created_at timestamptz
Access · Staff can read/write all; parents can read only their linked child's activities.
invoice
id uuid, child_id uuid, period_month date, hours_amount numeric(10,2), extras_amount numeric(10,2), total_amount numeric(10,2), status enum(draft,sent,paid), created_at timestamptz
Access · Staff can read all; parents can read invoices for their linked children.
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
draft → sent → paid | overdue
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.
Staff check in multiple children simultaneously on poor Wi-Fi, causing missed timestamps or dropped check-ins.
Queue check-in actions in local device storage and sync silently when connection restores.
Parents upload or view high-resolution photos over slow connections, exhausting mobile data or crashing the feed.
Resize all uploaded images on the server immediately and serve compressed WebP thumbnails.
Section 08 · Deliberately left out
What version one does not do.
- ×Automated direct debit processing — adds complex third-party gateway integrations; manual bank transfer records cost 2 days to build.
- ×Granular hourly rate tiers per child — standard flat hourly rate covers 90% of use cases and saves 3 days of billing logic.
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.
- How are extras priced and recorded by staff during the day?
- What is the exact formula for rounding attendance hours on the monthly bill?
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.