offSchool
EdTech
Knowledge Graphs
Adaptive Learning

Building offSchool: AI Adaptive Learning + Graphs

Shihab Shahriar Antor
6 min read

TL;DR

offSchool builds personalized study plans with spaced repetition and knowledge graphs on a Next.js + Go + Python stack. Here is the architecture.

offSchool is an AI adaptive learning platform I built that generates personalized study plans using spaced repetition and a topic knowledge graph. Next.js front end, Go services, Python ML workers. Here is the architecture and how the knowledge graph drives personalization.

The problem

Most ed-tech apps are linear: lesson 1, lesson 2, lesson 3. Real learning isn't linear — a student's gap in algebra blocks them on calculus. Generic curricula treat every learner identically.

offSchool builds a learner-specific plan based on what they actually know.

Architecture

LayerTech
UINext.js, TypeScript
APIGo
Knowledge graphPostgreSQL + recursive CTEs (same pattern as Context-Heavy)
ML workersPython, sentence-transformers for content embedding
Spaced repetitionCustom scheduler (SM-2 derivative)
StoragePostgreSQL + R2 for content

How the graph drives personalization

Every topic is a node. Edges encode prerequisites. When a learner gets a question wrong, the system walks up the graph to find which prerequisite is shaky and schedules review on that — not on the failed topic itself.

This is the same recursive-CTE pattern I described in Building Context-Heavy. One database, semantic + graph + relational.

Spaced repetition

We use a SuperMemo SM-2 variant. After each answer, the next review date adjusts based on the difficulty rating + how long they took. Standard SR; the value comes from combining it with the graph.

Generative content (carefully)

LLMs write practice questions for less-common topics where curated content is thin. Every generated question is rated by users; low-rated questions are removed. The graph filters by quality before scheduling.

Where ed-tech burns founders

Content acquisition. Pre-generated quality content is the moat. AI helps but does not replace.

Distribution. Schools are slow. Direct-to-student requires distribution from day one.

Retention. Spaced repetition does not magically retain users. UX, motivation, social features all matter.

What I'd do differently

Start with a single subject and ace it before adding more. We spread too thin in the early MVP and the experience suffered.

FAQ

Q: Is offSchool live? A: It is in private beta.

Q: How does the knowledge graph stay accurate? A: A combination of curated edges (subject experts) plus learner outcome feedback that re-weights edge strength.

Q: Why combine graph and SR? A: The graph picks what to review; SR picks when. Together they answer "the right topic at the right time."


Built by Shihab Shahriar Antor. Related: Building QuantumSketch (the visual STEM engine). Hire me.

Written by

Shihab Shahriar Antor — AI Engineer & Founder of Shahriar Labs. Creator of LetX, QuantumSketch, and more.

Share this mission log