Results and What's Next
A build retrospective on the adaptive knowledge graph behind Amal, a kids' Arabic-learning app used by 95,000+ families. • Day 10 lands the story: what the finished system does in the real world, the map it gives parents, and where it goes next.
What actually shipped
After nine days of building — graph, overlay, frontier, tree, generated bytes, one read seam, safe rollout, and an honest signal — it is worth stating plainly what runs in production today. The adaptive knowledge graph is live on prod for the Amal beta cohort, generating real lessons for real children right now, behind the feature flag and fail-closed fallback from Day 8.
It is not a single-subject demo. The same engine drives four domains at once, because every one of them is just concepts and prerequisite edges in the same graph:
| Domain | Coverage | Notes |
|---|---|---|
| Arabic | letters → words → sentences | the original spine of the curriculum |
| Math | ages 3–8, all operations | Day 6's 4-bit recipe |
| English | year 2–8 | second language track |
| Grammar | rules and usage | structure on top of vocabulary |
And it is bilingual — the same graph presents in both Arabic and English, because (Day 2) the graph stores ideas and prerequisites, not finished screens, so language is a presentation choice over one source. Four domains, two languages, one engine: that breadth is the proof that the graph model generalized rather than being an Arabic-only trick.
The knowledge-map: what parents actually see
The most visible payoff for families is the knowledge-map — an interactive, expandable picture of the graph where each node is a concept, and each node is colored by the child's own state (the Day 3 overlay, made visual). Instead of a single meaningless "progress: 62%" bar, a parent sees where in the curriculum their child is strong, learning, or stuck.
The colors are a direct reading of mastery strength and recency:
| Color | State | Rule (from the overlay) |
|---|---|---|
| bright green | mastered | strength ≥ 0.8 |
| blue | learning | 0.3 ≤ strength < 0.8 |
| red | needs work | strength < 0.3, has practiced |
| amber | needs review | strength ≥ 0.5 but not played in 7+ days (spaced-rep due) |
| grey | not started | no sessions yet |
Node size grows with practice — proportional to log2(sessions + 1) — so a well-worked concept is visibly bigger than a barely-touched one. Put color and size together and the map tells a story at a glance:
The diagram shows the map's superpower: a mostly-green parent concept with a single red child instantly reveals where a weakness sits, what depends on it, and what to do next — something a flat percentage or a heatmap can never show, because they throw away the structure. And a grey "not started" node reads as visibly different from a red "needs work" node: idle is not broken. A parent can tell "we haven't gotten there yet" apart from "this needs attention", which is the difference between trust and false alarm.
THE KNOWLEDGE-MAP (each node = a concept, colored by the child)
┌────────────────┐
│ green: mastered │ (a parent concept)
└───────┬────────┘
┌───────────┼───────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌───────────────────┐
│green:done│ │blue:learn│ │ RED: needs work │◄── the gap is HERE
└──────────┘ └──────────┘ └───────────────────┘ (and the next step)
grey ○ = not started ──── idle, NOT broken (visibly distinct from red)Why the whole design earned its keep
Stepping back across the ten days, each property of the system maps to a concrete benefit for a child or a parent — which is the real test of whether the architecture was worth it.
- No walls, for kids. Prerequisite edges (Day 2) mean the frontier (Day 4) never serves a concept whose foundation is missing — a child is always in the just-right zone, never marched into something they weren't prepared for.
- The right next step, always. Because the tree is built per child in realtime (Day 5), the next thing is chosen for this child's state, not a shared list — and spaced repetition (HLR, Day 3) brings concepts back right before they fade.
- Transparency, for parents. The knowledge-map shows exactly what is mastered, learning, and weak — one coherent source (Day 7) means the app, printables, and books all teach the same curriculum, with no conflicting material.
- Honest adaptivity. After the ERPA fix (Day 9), the signal parents and the engine rely on actually reflects demonstrated recall, so the map tells the truth.
What's next
The design leaves obvious room to grow, precisely because the expensive part — the graph and its read seam — is already built. Adding value now mostly means adding renderers and reach, not re-authoring curriculum.
- A kids' magazine generator. The next surface (Day 7's pattern): a renderer that reads
/app/v1/graph/nodesand lays concepts out as a printable magazine. Because the seam already exists, this is one new renderer, and every existing concept flows into it for free. - Wider rollout. Graduate the graph engine from the beta cohort toward all families by widening the feature flag's cohort step by step (Day 8), watching the signal at each step — the safe path, generalized.
- More domains and depth. New subjects and finer concepts are just more nodes and edges in the same graph; the frontier, tree, byte generator, and every surface pick them up with no new plumbing.
The through-line of the whole course: build the curriculum once, as a graph, and layer a per-child model on top — and you get an app that teaches each child differently, a map that tells parents the truth, and every other surface almost for free. That is the system behind Amal, trusted by 95,000+ families in 50+ countries, and it is why "one graph, every lesson" was a bet worth making.
Key takeaways
- The adaptive knowledge graph is live on prod for the Amal beta cohort across four domains — Arabic, Math, English, Grammar — and is bilingual (AR + EN), proving the model generalized beyond a single subject.
- The knowledge-map shows parents the graph with each node colored by their child's state (green mastered, blue learning, red needs-work, amber needs-review/due, grey not-started) and sized by practice (log2(sessions+1)).
- The map's value over a flat percentage is structure: a mostly-green parent with one red child pinpoints where a gap is and what to do next, and idle (grey) is visibly distinct from broken (red) — idle is not broken.
- Every design property earned a concrete benefit: no walls for kids, the right next step always, transparency for parents, and — after the Day 9 fix — honest adaptivity.
- What's next is mostly renderers and reach, not re-authoring: a magazine generator (one new reader of the catalog seam), wider rollout by widening the flag cohort, and more domains as just more nodes and edges — behind a system already trusted by 95,000+ families in 50+ countries.
Checklist
- [ ] I can state what shipped: the graph engine live for the Amal beta cohort across four domains, bilingual.
- [ ] I can explain what the knowledge-map is and read a node's color and size back to the overlay rules.
- [ ] I can explain why a structured map beats a flat percentage, using the mostly-green-with-one-red example.
- [ ] I can explain why "idle is not broken" matters for parent trust (grey vs red).
- [ ] I can name the three next steps (magazine generator, wider rollout, more domains) and why each is cheap given the existing graph and read seam.