finds.dev← search

// the find

andymatuschak/orbit

★ 1,824 · TypeScript · NOASSERTION · updated Oct 2024

Experimental spaced repetition platform for exploring ideas in memory augmentation and programmable attention

Orbit is Andy Matuschak's TypeScript monorepo for building spaced repetition into texts — the infrastructure behind Quantum Country. It's primarily a research vehicle exploring the 'mnemonic medium' concept, where prompts are embedded directly in articles and books. If you want to build SRS-augmented reading experiences, this is the only serious open-source implementation of that specific idea.

The multi-environment package split is genuinely well done — each package explicitly declares whether it targets Node, browser, or React Native, which prevents the usual 'works on my machine' mess in cross-runtime monorepos. The web-component package lets you embed review prompts into any external site without coupling to the full app stack, which is the right API boundary for authors. Apache 2.0 on all the library packages (core, sync, stores, api) means you can build on the data model without inheriting the AGPL. The Anki import package handles the actual .apkg SQLite format rather than just CSV export, so migrations from existing decks don't throw away card history.

Last commit was October 2024 — eight months ago — and the README openly says this is research-first, not a product. That's not inherently bad, but you should assume API stability is not a priority and that it could go quiet for another year without warning. Firebase/Firestore is load-bearing for the backend; there's no self-hosting story without ripping that out and replacing it with something else, which touches auth, sync, attachments, and notifications simultaneously. Sixty-two forks against 1800 stars is a telling ratio — almost nobody is actually running their own instance or building derivative work, which means when you hit a sharp edge, you're mostly on your own. The BUSL-1.1 dual license on the app and backend is also friction: production use requires either accepting AGPL's network copyleft or negotiating a commercial license directly with Matuschak.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →