Thursday, April 9, 2026
Day 7 — the manager actually has a dashboard
First week down. Clients, horses, stalls, programs, settings — the manager can run the basic shape of a barn now. None of it is pretty yet, but every page works on a phone.
1 min read · Backfilled retrospective — written 2026-05-04
Daily entry
Day 7of building EquinePilot
Currently Day 77 · founder build log
Milestones reached
- ✓Manager dashboard
- ✓UI foundation
- ✓Mobile-first nav
End of week one. The shape of the manager's world exists.
Most of the week was foundation. I picked shadcn/ui (Nova preset), got the Tailwind tokens dialed in around a Paddock Green and Dune Sand palette, and built out the core component library — Button, Input, Card, Table, Dialog, Form, Select. Boring scaffolding, but every page after this gets faster because it's done.
The actual product surfaces that landed:
- Clients — searchable table, level badges, a horse-owner flag, plus a client detail page with race-condition-safe level changes (because two people promoting a kid's level at the same time is exactly the kind of thing that would corrupt data in the worst possible way).
- Horses — owner names, stall assignments, status badges, full create + detail pages.
- Stalls — an occupancy grid with clickable cards. Atomic stall-swap transactions so you can never accidentally double-book a stall.
- Programs — per-client program assignments (lesson packages, board, half lease) with monthly fees and lessons-per-week.
- Settings — barn name, contact info, credit cap.
The decision I'm proudest of from week one is probably the smallest one: I built the mobile nav shell on Day 5, not at the end. Hamburger menu and Sheet drawer on mobile, sidebar on desktop, both audited together. Every page since then has been built mobile-first by default. Trainers use phones in the barn aisle. Clients check bookings on the go. If I'd left mobile for "later," that "later" would have meant a painful refactor in three weeks.
Lots of empty rooms in the building, but the building exists.