This is the whole app. None of it is shipped yet, and we would rather show it than describe it.
FRAP is in build. Everything below is the design as it stands — the real screens, the real copy, the real numbers from one illustrative child — rather than a photograph of a product that does not exist. When there is a running app to screenshot, these get replaced.
Two of these are what the third becomes at either end of K–12.
Grade band comes from the profile a parent already made — nobody picks a theme. The skin shifts colour, corner radius, type scale, density and, most of all, the words. The same event reads “You got a sticker”, “Level 4 unlocked” or “+3.5 hrs logged” depending on who is holding the phone.
Trust sits above price, because that is the order the question gets asked in.
Parents do not choose by category first. They choose by what fits — the day, the distance, the price, and whether it clashes with the other child. Then they decide whether the adult is safe. Everything on the booking screen is arranged in that order.
Today
Wed 3 SeptDiscover
ParentActivity
No listing above is live and no instructor above is a real person. Cards carry the role and the verification state, which is what the product actually knows about a listing — a made-up name beside a verified tick would be a claim about a real person nobody has checked.
If closing out takes longer than ten seconds, none of the rest is true.
This is the load-bearing screen in the whole product: it is where a verified hour is created. Pre-ticked roster, tap to unmark, one tap to award, one optional line home. If it were slower than the paper register, instructors would keep the paper register — and a record nobody attests is a record a college reader can ignore.
Today
InstructorSession 11
4:30 pmOne record, and every hour in it has a person’s name on it.
Every screen on this page — the child’s home, the parent’s booking, the instructor’s close-out — exists to put one more attested hour here. Nothing else writes to it. Not a parent, not a child, not us, and not a machine.
hours
“Played through a mistake instead of stopping. That is new.”
Her piano instructorA badge on its own is a picture. A badge that unlocks something is a reason to come back.
The moment is awarded by the instructor at close, so it lands after real work rather than after a tap — and the card names exactly what was done to earn it. What it buys is cosmetic and only cosmetic: a buddy, a colour, a finish. Nothing a child picks can touch the record, the hours, or what an instructor sees.
Make it mine
Live previewDrawn, not photographed — and there is a way out for the teenager.
A fixed brand mascot is decoration. A chosen one becomes the thing a seven-year-old names and shows people. Each buddy carries one element in the chosen accent so it restyles with the palette instead of fighting it, and “just my initial” is the escape hatch, framed as a choice rather than as opting out.
- PimReady to pick
- RuskReady to pick
- BodeReady to pick
- NoxReady to pick
- BoltTry a STEM activity
- SulaLog 25 hours
- Just my initialReady to pick
Hue is the child’s choice. Contrast is ours.
Every accent is pre-validated against both the light and the dark ground, so a child cannot pick an unreadable app. There is no colour picker, deliberately — free composition is how you end up with white on yellow. Discipline colours never move: music stays violet, sport stays green, across every theme, so a parent scanning three children’s schedules never relearns them.
- SunburstReady to pick
- Deep SeaReady to pick
- JungleReady to pick
- BerryReady to pick
- NebulaReady to pick
- GraphiteReady to pick
- LavaFinish a full term
- MintLog 10 sessions
The same earned badge, four ways.
The finish is a display preference and never a rank, so an eight-year-old and a sixteen-year-old can show the same accomplishment without either feeling written for someone else. A rare badge in Sticker is still rare.
- StickerFlat and bright. The default under grade six.
- Enamel pinDomed and lit, like something on a jacket.
- CrestShield-cut. Does the work for the older band.
- HoloComplete 3 terms
All four mechanics eventually. Not all four at once.
Launching them together is how a kid app gets uninstalled by a parent. Each one below only unlocks when the one before it has data to stand on, and each carries the constraint that keeps it from going wrong.
Mastery — the spine
Verified hours and skill tiers per activity, awarded by the instructor at session close and never self-reported. It is the only mechanic that produces something with value outside the app.
Badges — the surface
Earned for real milestones only: a first performance, a tenth session, a new discipline tried, a term completed. Scarcity is the entire point.
Streaks — carefully
Framed around the week, never the day. A child has one piano lesson a week, so a daily streak is a rule you would be punishing them for failing.
Social — last, and gated
Class and team goals, family challenges between siblings, a milestone card a parent can send. Not a ranked list of children.
The parent account is the root. A child is a profile inside it.
That is a product decision and a legal one at the same time: kid access as a read-only profile inside the parent’s account means no separate signup, no messaging, and none of the worst of the under-13 consent problem. The instructor account is separate, and verified.
- HomeToday across every child, one card each
- DiscoverFilter by age, distance, day, price, format
- Activity → bookA paid trial first, the term second
- The recordPer child, exportable, and the reason to stay
- FamilyProfiles, approvals, payment, sharing controls
- HomeMap, deck or dashboard, chosen by grade band
- SessionCheck in, and see what today covers
- RewardAwarded at close by the instructor, not by a tap
- Their recordTheir stuff — badges, hours, tiers
- WishlistAsk a parent. One notification, not a nag
- TodaySessions, rosters and headcount on open
- Run sessionAttendance, award hours, one line home
- ListingsSchedule, capacity, pricing, waitlist depth
- EarningsPayouts, fill rate, repeat rate
- VerificationChecks and expiry dates, visible to parents
Designed, argued over, and not yet built.
The database underneath this is real — the consent gate, the append-only record and the verification expiry sweep all exist and are tested. The screens above are not. We open one city at a time and we start where families are asking, so telling us your ZIP is the single most useful thing you can do today.
Every figure on this page comes from one illustrative child across twelve years, and each year’s total is the sum of its rows. If any of them stopped adding up, the whole argument would be worth less than the arithmetic.