A custom operations platform for a small daycare, built around how they actually run the floor
Results at a glance
Owner reporting
Hours of manual spreadsheet work each Monday
Glanceable KPI dashboard, live
Check-in / check-out + billing
Paper + a generic POS, reconciled by hand
Live, tied to the family record, receipts printable or emailed
Legacy data on cutover
Locked inside an expensive industry SaaS
27 historical reports parity-checked against the legacy data
The situation
The owner was branching off from a daycare chain to run her own single location: herself on the floor, a small staff, real families she knows by name. Striking out on her own, she needed software that was actually hers, and the category's incumbent (think the well-known industry SaaS) is overkill for an operator at her scale and expensive enough to feel like rent. The alternative was the way she'd actually been running things: a stack of spreadsheets, a generic point-of-sale, paper for check-in and check-out, and the Monday-morning ritual of compiling everything into something resembling a report.
She didn't need an enterprise system. She needed software shaped around the way her business actually works.
What we built
- Check-in / check-out: Live attendance with PIN-authenticated staff actions, an audit log on every state change, and an "is this child still here?" view the owner can glance at from anywhere.
- Family billing: Per-family ledger with sibling pricing tiers, prepaid balances, coupons, refunds, voids, and adjustment receipts. Stripe Terminal integration so the operator can take a card on the floor without leaving the system.
- Receipts: Itemized, printable, emailable. Tied to the visit, the family, and the line items, so a parent question two weeks later is answered in 30 seconds, not 30 minutes.
- Owner KPI dashboard: Three sections: **Today** (revenue, sessions, kid-hours, live ratios), **This month** (trends with prior-month overlay, top families, active families), and **Things to fix** (open AR, inactive families, voids, refunds). Each card compares against the right baseline: Tuesday compares to the last four Tuesdays, not a blended average.
- Staff time + payroll prep: Clock-in / clock-out with editable time entries, blended-wage cost surfaced live, audit-logged edits.
- Migration from the legacy system: 312 families, 40 children, ~100 historical staff, 45 prepaid opening balances, plus historical receipts and visit history, all imported, deduplicated, and parity-checked against 27 legacy reports. Cutover landed at zero failed parity checks.
A full custom operations platform: not adapted from a template, not stitched together from off-the-shelf tools.
How it changed the work
The owner stopped compiling reports. The "how did this month go" answer lives on a URL she opens. The "did that family pay?" answer is one search away. The "did we have the right staff ratio at 3pm last Tuesday?" question is answerable, with the audit log to back it up.
It runs the way she runs, not the way an enterprise SaaS thinks a daycare should run.
Engagement details
- Type:: Larger build, multi-phase
- Stack:: Next.js · Supabase · Stripe Terminal · custom audit logging throughout
- Ongoing:: The platform is the operator's day-to-day system. Maintenance, monitoring, and iteration handled on retainer.