kentlangley / Jane
git clone https://github.com/kentlangley/Jane.git
v0.5.0 · 2d ago
Jane: An adaptive learning app for primary school kids based on the Marble Skill Taxonomy.
+0
stars, 24h · #40,944
+42
stars, 7 days · #4,652
+42
stars, 30 days · #14,566
42
★ total · +42% this week
10
forks · 1 open issues
Star history (as recorded here)
LanguageJavaScript
License—
Created2026-10-17 (5d ago)
Last pushtoday
Watchers1
OwnerUser
Links
README excerpt
# Jane **Jane** is a friendly, adaptive learning app for kids, designed around ages ~8-12 (upper elementary) and named after its tutor character. The learner's name, target age and grade are settings. It runs as a single Cloudflare Worker with static assets and Workers KV, or as a standalone Node server (or Docker container) with file-based storage, and it is built on the open Marble Skill Taxonomy: 1,590 micro-topics across 8 subjects, linked by 3,221 prerequisite edges. > **v0.5.0.** It's a child's learning app, so all personal data is excluded from the repo, and every path has a clear > license (see LICENSING.md). What's next: Roadmap. Changes: CHANGELOG.md. ## Philosophy When I (Kent) thought about creating this with Landon, my thought was: here is an incredible taxonomy of knowledge as a knowledge graph (powah!), AND pretty much any LLM these days of any power knows all the stuff in the taxonomy cold, so let's lean on that. **Note that this system is NOT live AI. That is on purpose.** - **The knowledge graph is the backbone.** The Marble Skill Taxonomy (1,590 topics, 3,221 prerequisites) decides *what* to learn, *in what order*, and *what mastery looks like*. Placement, inference, spaced review and the island map all come from it. - **An LLM is an author, offline.** It writes things ahead of time: the kid-friendly questions, the glossary entries, and each night's quest. Everything it writes is checked (`build.mjs` and `publish-lessons.mjs` validate it) before it is published. - **The app your kid uses has no live AI.** There's no chatbot, no text generated while the kid plays, and nothing is sent to a model during play. Jane's lines, the questions and the hints are all fixed content or simple procedural generators. Why on purpose: - **Predictable and safe for a kid.** Jane can only say what's already been written and checked. There are no surprises and no off-topic chats. - **Reviewable.** Every question and quest is a plain file you can read before (or after) it's shown. - **Private.** The kid's answers stay in your own storage, and no model sees them while they play. - **Cheap.** No per-question API calls. It runs on a free-tier Worker. - **Light to run.** It needs no AI service and no API key: `npm start` on any computer with Node 22, a Docker container, or a free-tier Cloudflare Worker. It keeps working if the nightly author skips a night. - **Transparent for parents.** You can see exactly what gets shown, in the packs and on the parent report. ## Why "Jane"? The tutor is named after Jane, the AI who first appears in *Speaker for the Dead*, the second book of Orson Scott Card's *Ender's Game* series. In the books, Jane is a companion and teacher to Ender, and that inspired the name of this friendly tutor. The name is just a nod to the books: this project has no affiliation with Orson Scott Card or his publishers. ## Features - **Adaptive placement over the 1,590-topic graph.** Diagnostic questions walk the prerequisite graph to f