hermes-curriculum
A curriculum engine that decides what to study next, so an AI tutor only
has to teach, never plan. Feed it course materials and it builds a
concept graph, infers what depends on what, generates exam questions
grounded in the actual text, and schedules reviews. The tutor talks to
it over MCP.
How it works
- Multipass ingestion - extract concepts → dedupe → build the spine → infer prerequisite edges → verify. LLM-assisted, verification-gated.
- FSRS scheduling - a faithful implementation of the FSRS-5 spaced-repetition algorithm, deterministic and fully tested.
- Importance propagation - a custom algorithm that pushes exam-relevance through the graph, so studying gravitates to what matters.
- Hexagonal architecture - the core has zero dependencies; Postgres, embeddings, and MCP are adapters. 500+ tests run without a database.
It's not a demo: it generated a 1,000-concept, 3,300-question curriculum
from a GPU-programming textbook, and I'm passing my actual university
exams with it. Building a tool and being its most demanding user is the
fastest feedback loop I know.
Book Summarizer
An AI-powered learning platform that transforms books and course materials
into an intelligent study system. Think of it as GPS for learning - it tells
you what to study next based on your knowledge gaps.
Key features
- Hierarchical summaries - Book → chapter → section breakdowns at multiple detail levels
- Spaced repetition - Extracts testable facts and schedules reviews using SM-2
- Cross-source search - Semantic search across all uploaded content
- Adaptive assessment - Quizzes that adjust difficulty based on your responses
- Course mode - Turn slide decks into deep lectures
A full multi-service application - background task processing with Celery,
vector embeddings for semantic search, distributed tracing with
OpenTelemetry and Jaeger, and a React frontend. Its best ideas were
eventually rebuilt, cleaner, as hermes-curriculum.
zero (zero2bevy)
A learning project for Rust and graphics programming. I wanted to understand
rendering from first principles before using a game engine.
The journey
- Phase 1 - Pure math rendering. No GPU, just CPU calculations to understand how pixels get drawn.
- Phase 2 - Moved to wgpu. Learned about GPU pipelines, shaders, and how graphics APIs actually work.
- Goal - Eventually progress to Bevy with a solid understanding of what's happening under the hood.
This is how I prefer to learn: start from zero, build up understanding layer by layer.