Everything from the design and research work in one place, so you never have to go hunting for a link. Each page below is live and self-contained. Last updated 19 July 2026.
Seventeen. Start with What works if you only open one.
The full user flow map, read out of the actual codebase rather than described from memory. 32 routes, about 60 distinct wireframe states, 5 actors, 6 journeys, plus a ranked list of 10 gaps.
The thing to know: a child never logs in. The parent signs in and hands the device over via a PIN switch, so most app screens need two designs, not one.
Open the flow mapThe parent/kid theming concept, with a live toggle on a real screen so you can flip between the two and see exactly what changes. Eleven tokens carry the whole difference.
Decided: same brand, different room. Not two products. The mechanism already exists in the code, one attribute on the body tag.
Open the conceptDeep research with adversarial verification. Every claim survived three independent agents trying to kill it. Fifteen claims didn't survive and are listed. Covers parent dashboards and child motivation systems.
The thing to know: praise as we currently word it scores -0.44 on children's intrinsic motivation. Worded informationally it scores +0.66. Same mechanic, opposite sign.
Open the evidence reportThe second research pass, covering what the first one missed. Includes five colour-and-font combinations rendered in the real typefaces, with mockups of both rooms.
The thing to know: Nunito is fine, but running it everywhere means we have no display face at all. Every strong brand in this category has one.
Open the brief · jump to the font combosEight screens written to be pasted straight into Stitch, Pencil or any other generative design tool, with a copy button on each. Deliberately brand-neutral: no colour, no typeface, no visual direction.
The thing to know: the four research findings that actually change what gets drawn are written into the prompts, so you don't have to carry them in your head while you ideate.
Open the promptsThe locked v1 spec rendered in its real colours and buttons, an honest audit of what the code actually does, and five recommendations each sat next to what it would replace.
The thing to know: five separate token sets and four typefaces are live against a spec that bans a second display font. A page that forgets its wrapper class falls back to the old brand, which the buildchain marks as a failure condition.
Open the design systemWhether we're just a Duolingo copy, what the evidence says about it, and four concrete directions that would break the mold. Includes the risk of going first.
The thing to know: zero of the seven homeschool curriculum brands we could reach use gamification, including Euka. And roughly 28-30% of Queensland home-ed families cite autism or ADHD specifically, which turns restraint from a taste question into an accessibility one.
Open the researchThe system exactly as built, with no recommendations in it. Tokens, type scale, buttons, cards, child mode, composition laws. Every example rendered live in the real Nunito file, plus the whole thing as plain text behind one copy button.
Use it for: handing to another design platform as a baseline before you ask it for anything.
Open the specThe proposed brand, specified to the same depth as the current one so the two read side by side. Dark chrome, warm light, cream paper for reading. Live specimens, measured contrast, ten laws, and one copy button.
The thing to know: the mechanics don't change. XP, badges and the quest map all survive; the arcade costume goes. Version 0.1, unbuilt, with its four weaknesses listed.
Open the proposalFive marks drawn as real editable vectors in the Lantern palette, each shown at 48, 32, 24 and 16px on both surfaces, plus wordmark lockups where the lantern lights up keepers, and all ten AI concepts.
The thing to know: two concepts got cut. A lighthouse with light arcs reads as a wifi symbol, confirmed independently by the AI round, and a pair of flames reads as water droplets.
Open the conceptsA real waitlist page in the Lantern brand. Three required fields so anyone can finish in seconds, optional depth for the motivated. The brief for Claude Design is at /waitlist-brief.
The thing to know: the form does not capture yet, on purpose. My Cloudflare token has no storage permission, and a form that silently discards real people's details is worse than one that admits it isn't connected.
Open the pageThe Lantern with the ground flipped: warm cream instead of night, same Fraunces and Nunito, same rules, colour given more room, and the wave divider brought back from the locked spec. All three systems shown side by side on the same component.
The thing to know: I've reversed my recommendation here. Two of the risks I listed against the dark version both point at a lit ground, so I'd now build daylight first and keep night for the child's own space.
Open the proposalLight ground, dark elements. Warm cream page, white cards, and one dark card carrying the next action. Includes a real child-home screen built in it rather than swatches.
The thing to know: this is now my recommendation over both. A glow only reads on dark, so putting the one dark card where the attention should go makes the rule enforce itself.
Open the proposalThe single source of truth. New pill button system with no trace of the Duolingo slab, three-layer tokens, all six interactive states live, and real focus rings. Supersedes the lantern, daylight and hybrid pages.
The thing to know: the primary is now navy with the amber demoted to an arrow chip, so the lantern colour is an accent doing a job rather than the whole button.
Open the systemThree parent dashboards built in the brand system: calm single column, two column with a paperwork rail, and child-first. All live, all with real content from the flow map.
The thing to know: I'd build A. It's the only one that reads in ten seconds and behaves the same on a phone, which is where most parents will actually be.
Open the layoutsThe tweak loop, working rather than described. Every element on a screen carries a short address, so one line typed into Discord points at exactly one thing.
The thing to know: no new tool, no seat, no app. You say "F3 is too long" from your phone and I change it and send back a picture.
See the loopPlain list, no jargon. Green is tested and working. Red is broken and why. Amber is waiting on somebody. If you ever wonder what we can actually do, this is the page.
The rule: nothing goes green because a website said it would work. It goes green because I ran it and watched it work.
Open itThree calls I can't make without you. Everything else I can just get on with.
Five options in the brief. My pick is A, Lantern (Fredoka + Nunito): it leaves your palette alone, fixes the missing display face, and it's the pairing Khan Academy Kids already uses. E, Plain Speech is the one worth considering if you want a position that's hard to copy.
See the five optionsYou approved "same brand, different room" as the direction. I haven't started building it.
Say the word and I'll do the two token sets on a karl/room-theming branch, which
is entirely in our lane and needs nothing from Nathan.
Euka, our dominant Australian competitor, produced nothing across both passes. And streaks as a distinct mechanic, which has the thinnest evidence and the loudest criticism. Both need Apify budget, which is at $6.24 for the month.
Pulled together from both reports and the flow map, ranked by leverage rather than effort. All of it is in our lane unless marked.
| Fix | Why | Size |
|---|---|---|
| Rewrite the celebration copy | "Nicely done, Ruby!" is controlling praise, which measures at -0.44 for children. Naming what she actually did measures +0.66 | Copy change |
| Gate the exit from child mode | A child taps "Exit profile" and lands in your live parent session. Every product checked puts the gate on the parent surface, not the child's | Small |
| Wire notifications | Three waits exceed the 10-second attention threshold and not one has any feedback. Nothing tells a parent their term is ready | Needs Nathan |
| Fix the draft dead end | A parent whose term is stuck pre-vetting sees no action and no timeline, while the dashboard tells them to generate a plan they already have | Medium |
| Make the padlocks honest | Quest map padlocks aren't enforced. NN/g says lock forward, GOV.UK says never lock backward. Ours does neither | Small |
| Give parents a monitoring-only path | Khan explicitly lets a parent skip the teacher role. We gate everything behind generate-then-approve | Medium |
| Make work review prescriptive | We show that Ruby was "a little unsure" and stop. IXL names the questions, gives three moves, and defines when to stop | Medium |
| Add a retry to failed autosaves | GitLab and Primer both insist a failed save carries an action, not just status text. Ours is informational only | Small |
| Add a PIN attempt limit | Currently re-renders "Incorrect PIN." forever. Apple's kids guidance wants gates that are non-trivial for a child | Small |
| Soft-gate email verification | A hard verify wall before any value is the worst-case login wall. Let them in, verify later | Needs Nathan |
The first two are the ones I'd do immediately. One is a copy change with the best evidence-to-effort ratio of anything on the list, and the other closes a real hole rather than a theoretical one.
| Thing | Where |
|---|---|
| These pages | lightkeepers-concepts.pages.dev, on Nathan's Cloudflare |
| Flow map source | docs/user-flows-2026-07-19.md |
| Evidence report source | docs/research-ux-2026-07-19.md |
| Design brief source | docs/research-design-brief-2026-07-19.md |
| Repo map | docs/repo-map-2026-07-18.md |
| Market research | docs/market-research-australia-2026-07.md, -us- |
| The app itself | lightkeepers-homeschool/, Nathan's repo |
These pages are unlisted rather than private. Anyone with a link can read them, and they carry a noindex so they won't turn up in search. If you want them locked to specific emails, say so and I'll put Cloudflare Access in front.