YC Fall 2026 RFS · The Primer

The Primer gets built
either way.

The only open question is who ends up holding the file — a company, or the family. primer is the open, local-first learner record it should run on. One SQLite file on your machine, an MCP server so any tutor can read it, and a review gate no model can lift.

install click to copy
$ curl -fsSL https://raw.githubusercontent.com/VedSoni-dev/primer/main/install.sh | sh

01 / the ask

YC asked for it by name.

Fall 2026 Requests for Startups. Thirteen ideas YC wants funded, and the first is called The Primer — a straight description of Neal Stephenson's A Young Lady's Illustrated Primer, shipped as a consumer product. It is a public page. Nothing here is leaked or inferred.

While we think this begins as something a parent buys to help their child learn basic skills, it is also the entry point to far greater ambitions.
Y Combinator, Requests for Startups — The Primer ycombinator.com/rfs

Read as an investor

Large market, long retention, an expanding surface area starting from a wedge product parents already pay for.

Read as a parent

The reading app is the wedge. The wedge goes somewhere. Nobody wrote down where.

Both readings are correct, and the honest half of the pitch is genuinely true: every child deserves the tutoring only wealthy children get today. That is exactly why this gets built. So the argument worth having is not whether — it is on what terms.

02 / the stakes

A primer is the book you read first.

To prime someone is to decide, before they decide anything, what will come easily to their mind later. To teach a child well you have to know things about her nobody writes down. A good tutor holds all of it for one year. A record holds it forever. That is why it teaches — and why it is worth being careful about.

learner_context("Ada") 28 tools · one call
  • misconceptionreads every short e as short i4 sessions
  • frustrationshuts down when a timer is visible2 markers
  • interestdinosaurs — works twice as longstable 6w
  • trustworks for dad, not for the app's voiceobserved
  • self_belief“I'm bad at reading” after two missesverbatim
  • attentionloses her at minute 11n=37
  • accommodationno countdowns, no streaksparent-set
  • ↳Same rows. In other hands, not a lesson plan — a map of where she gives.
1child

One adult holds the whole picture and carries it for a year. This is what a good tutor already is, and it is fine.

0days · three years

The record stops being a snapshot and becomes a trajectory — not what she knows, but how she bends.

0childhoods · one login

Now scale it the way a company must. Nobody has to be malicious. Engagement to defend, renewals to protect, a board to answer to. Ordinary incentives are enough.

01

The company dies, the child starts over

Ship an interface, treat the learning history as exhaust. Pivot, acquisition, shutdown — the history goes with it. Every teacher already knows this, because they have re-assessed the same child three years running.

02

Export becomes a churn button

Once one company holds a few years of a few million childhoods, portability is a feature that costs retention. No growth team ships a churn button. Terms are settled early or not at all.

03

The teaching disappears into the weights

Pedagogy locked in a proprietary model cannot be read, forked, or proven wrong. A bad prerequisite edge quietly mis-teaches a real child, and no outsider can even file the bug.

04

Engagement machinery, aimed at a six-year-old

Streaks, coins, leaderboards, countdowns. A twelve-minute session that ends on a win beats forty minutes that ends in tears — but only one of those numbers reaches a board deck.

03 / the terms

Open source here is not a license. It is the threat model.

None of this is a values page. Each item is a constraint in the repository, and most have a test asserting them. That is the only kind of commitment that survives an acquisition.

  1. The record is the product

    There is no app in the repo, on purpose. The tutor generates a page for one child for one afternoon and throws it away. Anything that makes the record depend on a UI is a bug.

  2. One file, on your machine

    SQLite, 20 tables, in the family's home directory. No account, no server, no API key left lying around a family's laptop.

  3. Evidence over scores

    Every number derives from append-only observations kept forever. evidence_for returns the raw attempts behind any estimate, verbatim.

  4. Export carries everything

    Observations, sessions, generated activities, and the curriculum packs the history depends on — documented and versioned in FORMAT.md so this project is not the only thing that can read a child's record.

  5. The child never talks to a model

    The fast loop never calls one. She meets a static page an adult approved. The model works on the record, not on the child.

  6. A review gate that cannot self-lift

    Everything generated lands in pending_review. Rejections are read back on the next planning run, so saying no teaches the tutor instead of just blocking it.

  7. The unattended run is caged

    No shell, no filesystem, no web, no inherited config, an explicit tool allowlist, and a budget ceiling the runtime enforces rather than our own accounting.

  8. No engagement machinery, structurally

    No streaks, coins, leaderboards, timers — and nothing in the schema to optimize minutes-on-task with.

  9. Deletable, and it means it

    primer delete --learner <name> --yes removes every row, plus that child's recordings and generated activities on disk, and reports any file it could not remove.

what the unattended tutor may touchasserted by tests
claude -p --tools ""                 // every built-in tool off — no bash, fs, or web
       --strict-mcp-config           // cannot see your other MCP servers
       --setting-sources ""          // no CLAUDE.md, no hooks, no plugins
       --mcp-config <primer only>    // this record and nothing else
       --allowedTools mcp__primer__learner_context,…
       --max-budget-usd <left today> // ceiling enforced outside our accounting

What the autonomous loop cannot do

create or delete learners change accommodations set goals

Those tools exist where a human is asking for them, and are absent from the unattended loop. If the tutor thinks an accommodation is wrong it writes a note, and a human decides.

04 / receipts

Nobody in this story has to be a villain.

That is the uncomfortable part. There is no cackling — there is a cap table, a growth target, and a renewal date, and those are enough. So this is not about anyone's character. It is about incentives, addressed to the people who actually decide.

To YC

You wrote the honest sentence out loud. Good — now fund the version where the ambition is not owning the child's file. One question for every founder pitching this RFS: can the family walk out with the whole record, in a documented format, on day one? If it needs a slide, it is a no.

To the founder who wins it

You will be told portability is a v2 feature. It is the one feature that cannot be added later, because by v2 you will have a retention number that depends on it not existing. Build on an open record while it costs you a weekend.

To the labs

The model is not the moat and you know it. The moat about to get built is the memory of a childhood. If long-horizon tutoring is coming, the state should be a file the family holds and any model can read — including a competitor's.

To edtech

A decade of products treated a child's learning history as exhaust, then took it down with them. That is not a rare tragedy, it is the default outcome. Export is not a courtesy. It is the product.

To parents

The question is not “is it adaptive.” It is where does the file live, can I read it, can I take it, and who else has a copy? If the answer is a dashboard, the answer is no. You are the last gate — this is built to keep you in that job.

To teachers

213 skills, pre-K to grade 3, English only, and somewhere in that graph a prerequisite edge is wrong. Wrong edges quietly mis-teach real children. You are the only people who can find them, and no startup can outspend you on it.

To us

One child. One week. Curriculum stops at grade 3. The BKT parameters are principled defaults, and the fitting code refuses to run on a sample this small rather than print a confident number. Releases currently ship a Windows binary only. Check every claim on this page against the repo — including this one.

05 / what it is

A record and a server. That is the whole trick.

Open Learner Record

20-table SQLite schema, append-only evidence, forward-only migrations. Full spec in SPEC.md, interchange format in FORMAT.md.

Mastery model

Bayesian Knowledge Tracing over a two-component forgetting curve. Mastery is a cache — replayable from raw evidence at any time.

Scheduler

Ranks lapsed / due / stuck / frontier across strands, so a session is never eight vowel drills.

Placement

A cold start is placed, not assumed. Probes at the band age suggests, bisects to where the child actually is.

Curriculum

213 skills, pre-K–grade 3, reading / writing / math, with a prerequisite graph that crosses domains.

MCP server · 28 tools

learner_context returns the whole child in one call: mastery, what slipped, misconceptions, interests, accommodations, and which past interfaces actually worked. Same implementations for the human-driven and unattended paths.

Autonomous tutor

Drives claude -p on a loop. Your existing login, no API key. Queue, review gate, budget.

Surface

/k/<name> is the only URL a child needs. /review is the adult gate. Localhost by default.

One runtime dependency: the MCP SDK. Storage is node:sqlite, built into Node 22+. The model is reached through the claude binary you already have.

06 / build

The proprietary version will have polish and a marketing budget.

That is a real fight, and pretending otherwise is stupid. The open version wins on the three things a company structurally cannot offer — your record is yours, the teaching is inspectable, the curriculum was improved by a thousand teachers instead of a growth team. All three are made of contributions.

most needed

Curriculum beyond grade 3, and beyond English. A content job, not an engineering one.

most needed

Teachers and reading specialists auditing the prerequisite graph.

needed

macOS and Linux release binaries. CI has never successfully run.

needed

Real evidence samples, so BKT parameters can be fitted instead of assumed.

Terms are settled early or not at all.
This is early.