amosblomqvist/learnharness
Learning ResourcesA desktop tutor that diagnoses what you already understand, plans a dependency path to your goal, and keeps a persistent knowledge graph across sessions.
The problem
Self-directed learners working through hard material — a textbook chapter, a paper, a new field — usually get one of two things: a static course that assumes a starting level, or a general chatbot that answers the question you asked without knowing what you already know. Both fail at the same point: the material is pitched at the wrong level, or it explains without checking whether the explanation landed. LearnHarness tries to fix that by measuring your understanding before teaching and adapting the lesson as your answers reveal gaps.
What's different
Rather than a chat transcript, the core artifact is a knowledge graph of propositions and reasoning chains, stored locally as plain files. Lessons are planned as a dependency map from a measured starting point to a goal, and practice sessions draw problems from that graph instead of a fixed question bank. The "think out loud" fields — typed or dictated reasoning, not just right/wrong answers — are the main input the agent uses to decide what comes next. Compared with a generic chat client, this is a structured pedagogical loop; compared with something like Anki, the graph is relational and explanatory rather than flashcard-based, and it is generated through dialogue rather than authored by hand.
Who it's for
People teaching themselves a genuinely difficult subject — mathematics, physics, a systems-heavy CS topic — who are willing to articulate their reasoning and want continuity across sessions. It suits learners who already know how to study and want a tool that tracks conceptual dependencies. It is a poor fit for exam cramming, for people who want a passive video-like experience, and for anyone unwilling to pay per-token model costs or send their learning context to a model provider.
Cost of adoption
A desktop app for macOS (Apple Silicon), Windows x64 (installer unsigned, expect SmartScreen warnings) and Linux x64, with in-app updates. You bring your own provider API key; 30+ providers are listed, and dictation and web search need separate keys. There is no subscription markup, but a live cost meter exists because usage is billed by your provider. Data and keys stay local, yet model requests still leave the machine — local storage is not offline processing. Licensing is AGPL-3.0, which matters if you plan to fork or embed it. Dev setup is the usual npm install plus npm run dev, and the test suite is deterministic with no LLM or network calls.
Verdict
This is a brand-new project — eight days old, roughly 1,000 stars and about 127 stars per day at its peak, with no Hacker News discussion and no trending-board history. That trajectory is a launch spike, not a track record, and the README says little about model-evaluation quality or how well the graph holds up over long courses. The design ideas are concrete and the local-first, bring-your-own-key stance is coherent, so it is worth a trial if adaptive tutoring is a real need for you. Treat it as an experiment: expect rough edges, and keep your notes exportable if the project stalls.
Written by AI from the project's README, updated October 25, 2026. The project's own docs are the source of truth.