← Index
iOS & Android · Private beta — 28 topics, ~1,025 cards

Parent Learning App

Research-backed guidance on a specific child behaviour, condensed into seven days of small actions.

Overview

A parent facing a hard behaviour moment has too much advice and too little they can trust. Searching how to handle a tantrum returns scattered, conflicting answers across Google, Reddit and Instagram — much of it anonymous, or written to drive engagement. The cost is not wasted time so much as low confidence: you cannot tell which advice is grounded in child-development research and which is a stranger's opinion dressed as expertise. The gap is trust, not volume. So the product's job is to give parents less content, not more — curated, sourced, and absorbable in a few minutes a day, with the original source always one tap away.

Features
  • Seven-day plans
    Pick an age range and the behaviour you are working on, and get a seven-day plan. 28 topics shipped, each a full week.
  • Five fixed formats a day
    Ask or observe, read, watch or listen, environment, and model. Variety keeps a plan from feeling like a lecture; fixed slots make content predictable to produce and to consume.
  • Every card cited
    Roughly 1,025 guidance cards drawn from 16 vetted clinical sources — the AAP, Child Mind Institute, Zero to Three, AACAP, St. Jude, Cincinnati Children's. Each carries a citation and a working link.
  • Plain-language summaries
    746 cards carry a plain-language summary, generated and cached ahead of time rather than produced on demand, so it is there the moment the card opens.
  • No account, no child data
    Anonymous device identity and an age range. Never a child profile, never anything that identifies a specific child.
  • Over-the-air content
    Content is server-delivered and versioned, so new material reaches every phone without an app-store release. A bundled copy is the offline fallback.
How it works
  1. 01Choose your child's age range and the behaviour you are working on.
  2. 02The app returns a seven-day plan: five small actions a day, one per format.
  3. 03Each card gives a sourced takeaway with the original one tap away.
  4. 04The plan completes by being viewed. No quiz, no streak, no grade.
Stack
FlutterDartBackend proxyVersioned content APIiOSAndroid
Key decisions
Collect no child data at all
The app runs on anonymous device identity, with an age range as the only targeting signal. That sidesteps COPPA risk and earns trust, and it means there is nothing sensitive to leak. A child profile would have improved targeting slightly and cost the whole privacy position.
A plan completes by being viewed
No quizzes, no streaks, no pressure mechanics. The goal is parent learning, not engagement farming — and engagement mechanics would have undercut the calm, supportive tone the product depends on. Positioned deliberately as learning rather than coaching: it builds a parent's judgement instead of prescribing or grading.
A curated library, not open AI generation
Wiring the app to generate guidance on demand would have been faster and would have quietly reintroduced the exact trust problem the product exists to solve. A closed set of vetted sources is the value proposition, not an implementation detail.
A no-shame filter, enforced above source authority
Nothing that blames or shames the parent or child gets in, however reputable the source it came from. Three rules hold the line: every claim paraphrased in plain language and copyright-safe, every claim cited with a working link, and nothing that shames.
Links are audited, not trusted
When one source quietly removed its articles, the dead links were caught by a routine audit and the entire topic was repointed to a live, equally credible source — rather than left pointing at a homepage and silently degrading.
Production-first, even in beta
It would have been easy to wire the app straight to an AI API and ship a demo. Instead the app never calls an external model directly — only its own backend proxy, which keeps API keys off the device and puts every outbound call behind one controllable boundary. Summaries are pre-generated and cached rather than produced per request, so the app stays fast offline and predictable under load. The principle: you are always building for production, even while testing in beta.
How it was built
Product management, not hand-written code
Built end to end by one person with no coding background, through AI-assisted development with Claude Code. I owned problem definition, the user model, scope, content curation, architecture and release — directing the build rather than typing the Dart.
Independent review as a quality gate
Because I was building outside my own expertise, I treated review as a first-class step rather than an afterthought. A separate AI model with no stake in the code ran security and quality passes.
It earned its place immediately
The review caught a critical bug where Android release builds were missing the internet permission — every release had been silently offline-only. It also found a race condition in the usage cap, and a privacy screen that overstated what the app stored. Each was fixed and verified.
Tests derived from the content itself
99 app-side and 39 server-side automated tests, with counts derived from the content so new material cannot silently break them.
What is next
The iOS TestFlight build, then optional accounts layered onto the anonymous device identity already in place, a wider library across more age ranges, and expert video links to round out the watch-and-listen format. The foundation is built to grow without re-architecting.
Next projectOutbox →