Skip to content
frap
Every screen, drawn

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.

Join the waitlist

One library, three personalities

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.

Grades K–5ExplorerA · Quest MapA path, not a number. Legible before a child reads fluently, and the one next thing is impossible to miss — which is what a six-year-old needs from a home screen and what nobody over eleven wants from one.
Grades 6–8ChallengerB · Living DeckToday in a card you can act on, everything else stacked below. It survives one activity or nine, and the same card renders a parent’s schedule row and an instructor’s roster entry. This is the chassis.
Grades 9–12ProC · Passport DashDense, dark and deliberately cold. The reward stops being a badge and becomes a document — which is the only version a sixteen-year-old keeps on a home screen.
The parent app

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.

TodayA parent with three children is running logistics, not browsing. Who is where, what needs a decision, and nothing gamified — a streak on this screen would read as pressure to spend.
DiscoverFilters that match how a family actually decides. An empty result is fatal at launch, so the radius widens automatically and says so rather than showing zero.
The activityFive checks with their expiry dates, what the child would earn, and the cancellation terms — all above the price. A missing credential shows as an explicit gap; silence reads as hiding.

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.

The instructor app

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.

TodayRoster, headcount and payout on open, with nothing to configure. Waitlist depth is surfaced as a prompt to add a section, because it is the best supply signal in the product.
The close-outA first name, a last initial and a grade. That is the complete list — there is no surname field in this product to leak, and no date of birth.
What it all writes to

One 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.

See how the record works

The reward loop

A 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.

The momentOne line stating what was done. Roughly one per two weeks of real activity — a child holding thirty badges by week three is holding nothing.
Make it yoursBuddy, theme and finish in one place. Every locked item states the activity that earns it. No currency, no mystery boxes, and no price is ever shown to a child.
Seven buddies

Drawn, 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
Eight themes

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
Four finishes

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
Where we are pushing back

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.

01

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.

The guardrailTiers must rest on instructor attestation. The moment hours can be self-claimed, the record is worthless to a university and the whole point goes with it.
02

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.

The guardrailRoughly one earnable badge per two weeks of real activity, and every badge states in one line exactly what was done to earn it.
03

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.

The guardrailIllness and holiday freezes on by default, and a streak never breaks for a session the family cancelled or the instructor moved. Otherwise you have built an anxiety machine.
04

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 guardrailOff entirely under grade six. No child-to-child messaging at all — the moderation and consent burden would eat the whole roadmap.
Three apps, one account, one record

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.

ParentPayer, gatekeeper, reporter
  1. HomeToday across every child, one card each
  2. DiscoverFilter by age, distance, day, price, format
  3. Activity → bookA paid trial first, the term second
  4. The recordPer child, exportable, and the reason to stay
  5. FamilyProfiles, approvals, payment, sharing controls
ChildA profile inside the parent account, never their own login
  1. HomeMap, deck or dashboard, chosen by grade band
  2. SessionCheck in, and see what today covers
  3. RewardAwarded at close by the instructor, not by a tap
  4. Their recordTheir stuff — badges, hours, tiers
  5. WishlistAsk a parent. One notification, not a nag
InstructorThe side that makes or breaks it
  1. TodaySessions, rosters and headcount on open
  2. Run sessionAttendance, award hours, one line home
  3. ListingsSchedule, capacity, pricing, waitlist depth
  4. EarningsPayouts, fill rate, repeat rate
  5. VerificationChecks and expiry dates, visible to parents
Where this actually is

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.

Be there when it opens

We open one city at a time, and we start where people are asking. Teach or tutor? Different door →