Kinedu app redesign
Screen-by-screen report · Trial→paid conversion focus · June 2026
Segment: new parents 0–12 m7-day Apple IAP trial$7/monthPost-trial: limited free tier Clickable mockups →
Key improvements vs. the current app — at a glance
- Today becomes finishable: one 3-activity daily plan (~10 min) with a featured-next mechanic — replacing an endless feed where the plan, articles, classes and trackers all competed.
- The trial becomes visible and designed: day chip, accumulating value, and a day-5 recap timed before Apple's reminder — built for an opt-out trial (no fake "subscribe" ask; "see next week's plan" + annual upsell + honest charge-date line).
- Personalization starts at minute one: the baseline assessment moves into onboarding, so profile and pace exist on day 0 — instead of "Update milestones" begging and zero-line charts later.
- Progress leads with wins, not deficits: a pace band with a healthy zone (words first, multipliers one layer deeper), wins-first buckets, micro-milestone deltas — and percentile charts that never plot missing data as zero.
- Every completed activity feeds the data loop: the Done payoff asks one micro-milestone question — assessment as a by-product of play.
- The tracker talks back: age norms on every card, weekly pattern insights, caregiver sync promoted from a buried menu item to a visible card.
- Live classes get merchandised, not scheduled: age-filtered cards on Today, LIVE NOW banners, expert bios — instead of a month grid of anonymous dots.
- 4 tabs instead of 5: Today / Progress / Tracker / Explore, with Explore as one pill-driven catalog — Activities / Library / Masterclasses / Live — personalized by default inside each section, over 2,000+ activities, 1,000+ guides, 8 masterclasses and live classes.
- A principled free tier: logging and check-ins always free, the plan and the meaning premium — celebrations never locked, and every lock names the real value waiting behind it.
1 · Executive summary
The landing page promises "Know exactly what to do with your baby, every single day." The current app delivers a content catalog. Trial→paid conversion is decided by whether, within 7 days, a parent feels "this app knows my baby, and she is progressing because of me." Nothing in the current design manufactures that feeling on a deadline.
Four root causes found in the audit
- The Today feed is a flat mall. Live class, plan, age explorer, tracker grid, articles, expert content, live classes again — equal weight, no finishable primary action.
- The progress system depends on manual data entry nobody does — and renders the absence of data as a terrifying flat-zero line under the population percentile curves.
- The tracker logs but never talks back. 8–10 daily logging moments, zero intelligence shown. Free competitors already do silent logging.
- The UI does not know a trial is happening. No day marker, no accumulating value story, no designed moment before Apple's day-5 charge reminder.
Trial start rate (~17–20% of new users) is healthy, so the leverage is inside the trial, not before it. The strategy: redesign the week as an arc that front-loads proof of value into days 1–3 and lands an explicit value recap before the Apple reminder fires.
Day 0 · baseline assessment → instant profileDays 1–4 · daily plan + tracker insightsDay 5 · "first week" recapDays 6–7 · continuity, not paywall
2 · Information architecture: 5 tabs → 4
Today · Progress · Tracker · Explore. A tab earns its slot by being a distinct job, not a content type: what do I do now / is it working / log and understand her day / find anything.
- Live Classes loses its tab but gains placements: a LIVE NOW banner on Today when a class is actually live, one age-filtered class card on Today, "Live this week" + recordings inside Explore, and contextual suggestions from Progress focus areas. The old tab was schedule-ware (month grid, anonymous dots); the new placements do the choosing for the parent.
- Milestones becomes Progress — outcome-named, pace-led, wins-first.
- Library + articles + expert content + classes merge into Explore, structured as a catalog (see §7) because the content base is large: ~2,000 activities, 1,000+ parenting library items, 8 masterclasses, live schedule + recordings.
3 · Today
Job: answer "what do I do with my baby right now?" in one glance — and be finishable in ~10 minutes, so the day ends in completion, not scroll fatigue.
What changed
- One hero element: Today's plan (3 activities, ~10 min) with segment progress and a single featured activity. Featured = the next one up: completing it promotes the next activity to featured (in the prototype: Peek-a-boo done → "We can stand up!" featured → "Mirroring the sounds" promoted after). Other plan items stay accessible below.
- Trial chip ("Free trial — day 5 of 7") makes the week legible; tapping it opens the value recap. Premium replaces it with the week-rhythm card ("Week 4 with Kinedu · recap arrives Sunday"); free replaces it with the upgrade pill.
- "Why these" line under the plan ties activities to the pace check — the product thesis, restated daily.
- Pace snapshot, Tracker strip (2 live rows with intelligence microcopy), one live class for her age, one expert content card. Each module has a "View all" that routes to its full surface (Progress, Tracker, Explore) — modules are previews, not destinations.
- Removed from Today: age-explorer circles, baby-tracker icon grid, article carousels, duplicate live class section. All live in Explore now.
Watch: D1→D3 plan completion rate during trial; % of trial users completing ≥1 activity in first session.
Design rule: the home screen must be finishable. Infinite feeds read as "content app"; a finishable plan reads as "program my baby is enrolled in." Programs are what parents pay to keep.
4 · Activity detail + the Done payoff
Job: get the parent from intent to playing in seconds — then turn the completed activity into a progress data point while the moment is still warm.
What changed
- The developmental benefit is the first line, not buried italic text ("Builds leg strength and balance — the next step in her gross motor pace").
- Meta chips up front: duration · materials · age band. "No materials" is a friction-killer and gets called out.
- Steps are 3 short numbered lines. Materials tab merged into chips + steps.
- A "works toward" card names the exact micro-milestone this activity practices.
- One big Done button. Save / Swap / Share demoted to text links ("Swap" replaces the ambiguous "Change").
- The payoff sheet is the key addition: celebration + plan progress + one question matched to the activity just played ("Did Emma pull up to stand today?"). Yes logs a micro-milestone instantly. This is assessment without the questionnaire: it keeps pace data fresh as a by-product of play, which solves the root problem of the old "Update milestones" begging.
Watch: Done-tap rate; % of Done taps answering the micro-milestone question; micro-milestones logged per trial user.
5 · Progress
Job: answer "is she okay — and is what we're doing working?" in a way that's emotionally survivable for an anxious parent, with every gap attached to an action.
What changed
- Pace of development is the headline, shown as a healthy-zone band (shaded green range + dot), not a 0–2x gauge. On a gauge, 1.0x renders half-filled — the best outcome looks like a C grade. On a band, "on track" sits visibly inside the healthy zone.
- Words first, multipliers in the detail layer. Calibrated scale: focus area / on track / ahead, plus early read when a domain has too few assessed milestones to deserve a verdict. Numbers under 1.0 read as a grade ("my child is at 60%"); superlatives above 1.0 ("remarkably advanced") set up regression-to-mean disappointment at the next check-in.
- Wins first: summary buckets ordered outstanding → on track → to practice ("to practice" replaces "Reinforce," which collides with the Today section name and leads with deficit).
- Micro-milestone skill rows (from the June 2026 Milestones release — the best new component): progress bar, real micro counts ("7 of 12"), "+2 this week" deltas. Skills with zero data show "not started · try the first activity," never counted as behind.
- "New milestones this week" celebration card; monthly PDF report promoted from an afterthought link to a card with a concrete job ("for your pediatrician visit").
- Check-in reframed: "Update check-in · takes 2 min." Science credibility footer: 830 milestones across 74 skills · Stanford · Harvard.
Watch: % of trial users with a completed baseline; check-in repeat rate; report downloads.
6 · Skill detail + percentile graph
Job: show exactly where one skill stands and the next concrete thing to practice — with the percentile chart as opt-in depth for data-hungry parents, never the default read.
What changed
- Micro-milestone checklist kept (achieved-at dates, bulb→practice link per item) — flip the button prominence: Practice activities is primary, percentile view is a link. The current release makes the anxiety graph the solid blue button and the action the outline one.
- Percentile chart fix: the child's line starts at a labeled "first check-in" marker. The no-data region has no line. The current chart plots months of missing data as a flat zero under the population curves — a parent reads it as "catastrophically behind," then as "broken." Both kill trust during the exact week that decides conversion.
Watch: percentile-sheet open rate vs. practice-activities tap rate (should invert from today).
7 · Explore
Job: let a parent find anything in a 3,000+-item catalog fast — personalized by default inside each section, but never competing with Today for the "curated for you" role.
What changed
- Architecture for a large catalog: search hero ("Search 3,000+ activities, guides and classes") + four content-type pills as the only selector — Activities / Library / Masterclasses / Live — with honest counts (Activities 2,000+, Library 1,000+, Masterclasses 8, Live schedule + recordings).
- "For [baby]" is not a pill — it's the default state inside every section. Activities opens filtered to her age band with real counts; Library opens age-targeted (285 of 849 guides match a 7-month-old); Live opens with her age band's classes first. Mixing a personalization lens with content types in one selector is a category error — and Today already is the cross-content personalized surface, so a curated segment in Explore would duplicate it. Segmented controls belong among peers; they do not belong on Today, where they'd force a mode choice before value.
- Library topic chips are age-relative. What an article library means changes with the baby: at 7 months the real catalog is dominated by feeding, sleep, health/growth and early reading; at 30 months it's behaviors, potty, language. The chip set should be derived from what actually exists for the child's age — not a fixed global taxonomy. (The API has a real cross-content domain taxonomy — sleep, feeding, reading, safety… — but it's null on ~90% of articles; see the taxonomy map in §17.)
- Masterclasses earn their own pill as a distinct content type, presented as series cards with real lessons and durations (Baby Sleep · Dr. Spencer) rather than anonymous tiles. In the free tier, the first lesson of each series plays as a preview — a natural freemium surface.
- Live classes get real merchandising one level down: named expert with credentials, "you'll learn" bullets, tie-back to the baby's focus area, recording promise for parents who can't attend live. The Live section opens filtered to the baby's age band.
Watch: search usage, pill switching, % of class reservations originating from Today vs Explore.
8 · Tracker
Job: capture the baby's day in two taps and give meaning back — the daily habit anchor for 0–12m parents, and the bridge from logging to development insight.
What changed
- Logging mechanics kept as-is (the feed timer modal is solid). Added the intelligence layer: contextual norms on every card ("usually ~3h," "window ~2h"), pattern insight banner ("longest night stretch grew 40 min this week"), and a "why this matters at 7 months" explanation one level down.
- Caregiver sharing promoted from a profile dropdown to a visible card ("logs sync instantly" → "Pau logged 2 feeds today"). Shared data is shared lock-in.
- Empty states never render broken math (the audit found "Wake window: 504:17 hrs"). Every empty state proposes the action that fills it.
- Insights are rule-based v1 — wake-window math, feed-gap norms, week-over-week deltas. No ML required to ship.
Watch: logs/day per trial user; insight-banner tap-through; caregiver invites sent in week 1.
9 · Day-0 assessment results (onboarding)
Job: prove the app knows this specific baby within the first two minutes — then convert that proof into the trial start while perceived value is at its peak.
What changed
- The baseline check-in moves into onboarding so the app is personalized from minute one — this is the single highest-leverage build; everything downstream is empty without it.
- Results screen: celebration → pace band → per-domain rows (with "early read" guards on small samples) → handoff to action ("Language is where Emma gains the most — her first week's plan starts there", followed by the science fact for her next milestone) → "See her plan" = trial start. Classic quiz-to-paywall: perceived value peaks at the results moment; the current beta celebrates and stops.
- Credibility footer at the decision moment: Kinedu Skills framework · 830 milestones across 74 skills · Stanford & Harvard research. Longitudinal promise planted: "her pace re-checks June 19."
Watch: assessment completion rate; results→trial-start conversion (could also lift the ~18% trial start rate).
10 · Day-5 trial recap
Job: make the accumulated week undeniable before Apple's reminder triggers the cancel decision — deepen commitment and offer the annual switch, never ask for a subscribe action that doesn't exist.
What changed
- New screen, timed before Apple's trial-ending reminder: value ledger (activities done, new milestones, tracker logs, classes), the week's biggest milestone with its science fact (including its safety guidance — expert voice at the decision moment), focus-area progress shown as logged micro-milestones ("Day 1: 2 of 9 → Today: 5 of 9" — observed behaviors, never a within-week "pace moved" claim; see §12), and "next week's plan is ready."
- Because the trial is opt-out, there is no subscribe action to ask for — the user is charged unless they actively cancel in Apple settings. A "keep your plan" button would imply a required action that doesn't exist. The recap's job is to make value undeniable so Apple's reminder doesn't convert into a cancellation.
- CTA stack: primary "See next week's plan" (commitment-deepening — engagement is the real cancellation preventer), secondary "Switch to annual · save 40%" (locks revenue before the charge date), plus an honest transparency line: "Your membership begins Thursday · $7/month · manage anytime." Honest pre-charge reminders reduce refunds, App Store complaints, and resentment churn.
- Micro-milestones make this screen honest: they genuinely move within 7 days, full milestones don't.
Watch: recap view rate; cancellations within 48 h of Apple's reminder vs control; annual take-rate at the recap. This is the cleanest first A/B of the whole program.
11 · Free tier (post-trial)
Principle: logging is free, meaning is premium. Free users keep building the dataset (habit + sunk cost grows); every locked surface names the specific value waiting — true statements, made true by the user's own data.
| Surface | Free | Trial (7 d) | Premium |
| Daily plan | 1 activity/day | Full (3/day) | Full (3/day) |
| Pace of development | Locked teaser | Full | Full + 6-week trend |
| Milestone check-ins | Free | Free | Free |
| Tracker logging | Free | Free | Free |
| Tracker insights | Locked teaser | Full | Full |
| Live classes | Visible, locked | Join + recordings | Join + recordings |
| Masterclasses | First lesson per series | Full | Full |
| Articles / library | Previews | Full | Full |
| Caregiver sharing | Free | Free | Free |
Never lock the celebration. New-milestone moments stay free — the emotional bond is the re-conversion asset. Free Progress carries one button: "See how her pace changed."
12 · Pace-of-development framing rules
- 1. Words first (focus area / on track / ahead / early read); multipliers live one layer deeper for parents who want them. Educators (Classrooms) can see multipliers on the first read.
- 2. Never a 0–2x gauge for consumers — the healthy-zone band makes "normal" look like winning.
- 3. Every lagging domain pairs with an immediate action in the same view.
- 4. Celebrate deltas over levels — the delta is what the parent caused, and that attribution is what they pay to keep feeling.
- 5. Small samples get "early read," no superlatives, no verdicts. Regression to the mean must never read as "my baby got worse."
- 6. Never plot no-data as zero. Lines start at the first check-in.
Science alignment — checked against the Kinedu skills validation paper and the Stanford structure-of-development study (Stenhaug, Ram & Frank). The framing above matches the instrument's scientific scope, not just UX preference: the scale is validated as surveillance, not diagnosis ("strengths and areas of opportunity" is the paper's own purpose statement, and it explicitly flags parental anxiety as a risk to design against); "every child develops at their own pace" is the literature's own language; "usually at X months" correctly translates the 75th-percentile age of acquisition (AAP convention); and the differentiation finding — domains are tightly coupled within-child in year one (~0.75 at 2 months) and decouple by ~12 months — supports leading with overall pace for the 0–12 m segment, since a large single-domain gap in a young infant is more often measurement noise than true divergence (domain detail earns more prominence as the child ages). Both papers also document parental over-reporting at 0–3 months, which makes "early read" guards scientifically required, not just polite. Two evidence-based copy rules: (1) never claim pace moved within a week — show logged micro-milestones instead; real pace deltas belong to re-checks weeks apart. (2) "Activities matched to her pace" is supported (selection); "activities moved her pace" is not an established causal claim — the defensible benefit line is the Stanford engagement finding (parents' verbal and non-verbal engagement increases).
13 · Build order
Original impact-first ordering — refined by the risk-adjusted test order in §14, which sequences additive changes before the Today remodel.
| Build | Impact | Effort |
| 1 | Day-0 baseline assessment in onboarding + results screen (quiz-to-paywall) | Very high — unblocks everything | Medium |
| 2 | Today hero plan + demote the feed mall (View-all links to full surfaces) | High | Low–medium (UI) |
| 3 | Trial day chip + day-5 recap screen | High, direct revenue | Low |
| 4 | Done payoff sheet with micro-milestone question | High — feeds the data loop | Low |
| 5 | Tracker insight layer (rule-based v1) | Medium–high | Medium |
| 6 | Empty-state audit (no zero-lines, no broken timers) | Medium (trust) | Low |
| 7 | Progress reorder + pace band + "not started" state | Medium–high | Low–medium |
| 8 | IA consolidation 5→4 + Explore catalog architecture | Medium | High |
| 9 | Caregiver invite in the week-1 journey | Medium (retention compounder) | Low |
14 · Conversion hypotheses & risk-adjusted test order
The unifying thesis: a parent converts when, inside 7 days, they feel attribution — "my baby is progressing, I'm the reason, and this app is how I know." Every hypothesis below manufactures that feeling faster, protects it from anxiety, or surfaces it at the moment the keep-or-cancel decision forms.
Tier 1 — attack the conversion decision directly
- H1 · Day-0 assessment in onboarding (quiz-to-paywall): results → plan handoff → trial start at peak perceived value; guarantees every trial begins with baseline data. Measure: results→trial-start rate; % of trials with baseline.
- H2 · Day-5 recap before Apple's reminder: honest value ledger so the reminder doesn't convert into a cancellation. The cleanest first A/B in the program. Measure: cancellations within 48 h of the reminder.
- H3 · Finishable Today (one 3-activity plan): a completable daily program reads as "something my baby is enrolled in," not a cancellable content app. Measure: D1–D3 plan completion and its correlation with conversion — likely the best leading indicator.
Tier 2 — build the paying emotion during the week
- H4 · Done→micro-milestone payoff loop: assessment as a by-product of play; micro-milestones genuinely move within 7 days, so the trial shows honest progress. Measure: % of Dones answered; micro-milestones per trial user vs. conversion.
- H5 · Tracker that talks back: 8–10 daily logging moments return intelligence instead of silence — the bridge from habit to what only Kinedu sells. Measure: tracker days/week vs. conversion.
- H6 · Anxiety-safe pace framing: wins-first, healthy-zone band, words before multipliers — the validation paper itself flags parental anxiety as a design risk. Measure: Progress repeat visits; check-in repetition.
Tier 3 — compounders
- H7 · Caregiver invite in the week-1 journey: shared data is shared lock-in; cancellation becomes a two-person decision. Measure: 2-caregiver vs. 1-caregiver trial conversion.
- H8 · Science facts at moments of belief: 417 already-written trust injections at the payoff, assessment result and recap.
- H9 · One job per tab / Explore as a clean catalog: the enabler that makes H3 possible — Today can't shed the content mall until Explore can absorb it.
- H10 · Free tier as re-conversion engine: logging stays free and accumulating; every lock names value the user created.
The build order — additive before subtractive
H3 (Finishable Today) is the highest-impact and highest-risk item: it is the only change that removes surfaces existing users touch daily, and it depends on H1 (baseline data), H4/H6 (the micro-milestone and pace systems) and H9 (Explore as the new home for demoted content). Everything else is additive — worst case, nobody uses the new thing. So the sequence runs every additive, de-risking step first; by the time the Today remodel ships, it is no longer a leap but an assembly step, backed by weeks of completion-vs-conversion data.
| Step | Why this position |
| 1 | H2 · Day-5 recap | Additive screen, cleanest A/B in the program, immediate revenue signal at the cancellation moment. |
| 2 | H6 · Progress remodel + pace framing | Low-traffic surface today — can only improve. Builds the progress narrative every later step displays. |
| 3 | H4 · Done→micro-milestone payoff | Additive sheet on the existing activity flow; starts the attribution loop and keeps pace data fresh. |
| 4 | H1 · Day-0 assessment | Big build, but it touches only new users — zero disruption to existing behavior, full upside on every new trial. |
| 5 | H7 + H8 · Caregiver invite, science facts | Cheap compounders; run alongside whatever else is in flight. |
| 6 | H9 · Explore consolidation | The hard prerequisite for H3: the content mall needs a good home before it can be demoted out of Today. |
| 7 | H5 · Tracker intelligence | Independent parallel track; rule-based v1 needs no ML and no other step. |
| 8 | H3 · Finishable Today — last, deliberately | Ship to new cohorts first with a holdback group. Watch engagement guardrails (sessions, content consumption), not just conversion — a home remodel can win on conversion while quietly killing browsing behavior worth keeping. |
| 9 | H10 · Free tier | Once the trial flow proves out — it inherits its locks and teasers from everything above. |
Prerequisite before sequencing Tier 1: pull day-of-cancellation data from App Store Connect. If cancellations cluster on days 0–1, the center of gravity is H1 (the first-session aha); if they cluster at Apple's reminder, it is H2 (the recap). One number, already sitting in a dashboard, decides where the effort goes first.
15 · Measurement plan
- Get day-of-cancellation within the 7-day trial (App Store Connect). If cancellations cluster on days 0–1, prioritize the day-0 results + first-session aha; if they cluster at the Apple reminder, the day-5 recap is the highest-ROI test.
- Identify converter behaviors: activities completed, check-ins done, tracker days, class attendance — converters vs cancellers. Design doubles down on whatever separates them.
- First A/Bs, in order: day-5 recap (vs none) · baseline-in-onboarding (vs current) · Done payoff question (vs plain confirmation) · wins-first Progress ordering (vs current).
16 · Housekeeping flagged during the audit
- Credibility numbers — now resolved by the data: the live catalog holds 830 active milestones across 74 skills. The Classrooms page ("74 skills") is accurate; science.html's "414 milestones / 46 skills" reflects the milestone set studied in the published Stanford structure-of-development paper (180 physical · 100 cognitive · 75 linguistic · 59 socio-emotional, as of 2017) and the 46-skill validation paper — today's framework holds 830. The strongest credibility line cites both honestly: "830 milestones, validated in Stanford research on 21,861 children."
- Mixed Spanish/English in the assessment beta ("¡Evaluación completa!" + "Right on track"). Inconsistent pace labels for the same value (0.7x = "Own rhythm" vs 0.6x = "At their own pace"; 1.5x = "Ahead of the curve" vs "Remarkably advanced"). One calibrated scale, localized.
- "Reinforce" used for both a Today activity section and a milestone bucket — rename the bucket "To practice."
- Age-targeting cracks undermine the "tailored" promise (37-month list containing an 18–36m item; breastfeed/diaper trackers for a 3-year-old profile). Personalization claims are the product — they must never be visibly wrong.
17 · Data integration notes (GraphQL round)
The clickable prototype now runs on a real snapshot from Kinedu's GraphQL content API (June 10, 2026): the daily plan uses real activities (Peek-a-boo → We can stand up! → Mirroring the sounds), the Explore catalog samples 24 of the 340 real activities in the 6–9 month band with working area filters and real per-area counts (Physical 99 · Cognitive 36 · Linguistic 28 · Social 24), the Library shows age-targeted articles, the Masterclasses pill shows Dr. Spencer's actual Baby Sleep lessons with real durations, and the Progress layers run on the real Kinedu Skills framework — skills, milestone checklists with typical ages, and science facts.
API quirks found — for the backend team
- The live schema is snake_case (
request_auth_token), while internal docs show camelCase (requestAuthToken) — doc drift in both directions.
- The gateway returns 503 without the expected User-Agent; with it, everything routes fine.
- Multiple root fields in one request fail with a SQLAlchemy "concurrent operations are not permitted" error — one query per request is the working rule (it bit the milestones integration too) — nested resolution would be far more usable than parallel root fields.
- The documented nested
locales { ... } field on activities does not exist in the live schema — activities and locales require two pulls joined on activity_id.
- Tokens are single-session, ~15 minutes — fine for snapshot pulls, worth remembering for any live dashboard.
- The
skills base query is broken: the resolver SELECTs the full model regardless of requested fields, and the DB lacks skills.illustration — so every skills query fails with "Unknown column" while skill_locales works fine. Until fixed, skill metadata (area, age ranges, official milestone counts) is unreachable; the prototype reconstructs it from the milestones themselves.
Product insight from the data: 285 of the 849 articles in the catalog carry age ranges matching a 7-month-old (the "1,000+ library" marketing claim presumably also counts audio and expert content) — a third of the entire library is relevant to any given baby. The current app's generic category carousels hide a personalization asset that already exists in the data. The Library should default to age-filtered (with "browse all" as the escape hatch), exactly like the activities catalog.
Skills & milestones exposure — delivered June 10. The prototype's Progress layers now run on it: real skills (Object Exploration · Babbling · Imitating), real milestone checklists with typical ages and master/micro structure, and a real science fact in the skill detail. What the data shows, and what remains:
- Delivered:
skill_locales (84 skill titles), milestones (830 active: 212 master + 618 micro across 74 skills — matching the new release's micro-milestone structure exactly), milestone_locales with science_fact on 417 milestones. Those science facts are a sleeping credibility asset — one line turns "trust us" into "here's the developmental science." In the prototype they now deploy at four moments of belief: the Done payoff (reframing the behavior just practiced — "dropping things is hypothesis testing"), the day-0 assessment results (under the focus area, before the trial ask), the day-5 recap (attached to the week's biggest milestone, including its safety guidance), and the skill detail. Principle: one fact, one line, always tied to the specific milestone in view — and visible in the free tier, where generosity earns trust.
- Blocked: the
skills base query (see the resolver bug above) — area mapping, official age ranges and counts per skill wait on that fix.
- Still pending — the activity↔milestone link: it powers "works toward: …" on every activity detail and the Done-payoff question.
activities_indicators_count already exists on ActivityType, so the join table exists; exposing activity_indicators (activity_id, indicator_id) is likely all it takes.
- Catalog only — no per-child data needed for design work.
- Article categories: the domain taxonomy below is the right topic system for the Library, but it's null on ~90% of articles (240 of the 285 age-matched ones). The named collections shown in the app ("Building a Healthy Brain", "Challenging Behaviors"…) live in the CMS, not the API. Request: backfill
domain_id on articles (or expose the CMS collection mapping) — age-relative Library navigation depends on it.
Empirical taxonomy map
No lookup tables are exposed, so this was inferred from the full catalog (3,391 activities, 849 articles, 303 masterclass lessons). It is the reference the prototype now implements.
| Level | Values | Notes |
area_id | 1 Physical · 2 Cognitive · 3 Linguistic · 4 Social-emotional · 5 Daily routines · 6 Health & parenting · 7 Prenatal | Shared by activities and articles. 1–4 are the developmental areas shown in the app; 5 is bonding-through-routines activities; 6 is practical content (recipes, care, gear); 7 is entirely prenatal-flagged. |
domain_id | 6 Cognitive · 7 Social-emotional · 8 Linguistic · 16 Reading · 20 Physical/growth · 21 Feeding · 22 Nutrition & recipes · 23 Health & safety · 24 Soothing & massage · 25 Bath & body care · 26 Sleep · 27 Diapering & hygiene | Cross-content topic system — the same ids mean the same thing on activities and articles. Dense on activities (~62% covered), sparse on articles (~10%). Within areas 1–4 it is 1:1 redundant with area. |
activity_type | activity (2,466) · webinar (534) · interactive (391) | Stored with inconsistent casing ("Activity"/"activity", "Webinar"/"webinar") — worth normalizing before any filter relies on it. |
| Masterclasses | 8 classes → 78 modules → 303 lessons | Only module ids are exposed (master_class_module_id); the class level and class/module names are not in the API. |
| Food groups | Fruits · Vegetables · Proteins · Grains · Fats · Others | Real localized taxonomy — ready to power the Solids tracker ("14 foods tried · 4 of 6 groups"). Recipes (domain 22) could cross-link from Solids. |