← All projects

Studdy Buddy

0 comments

What it does

studdy-buddy is a local study app for structured courses. It turns your class materials into a combined lesson note, quizzes and visualizations, and tracks what you've actually learned. The problem it solves: studying from scattered lecture PDFs and HTML pages plus your own notes is slow. Making good practice quizzes by hand takes time, and it's hard to tell which topics you've really mastered and which need review before an exam. Goal is to avoid the last minute learning sprint before the exam, that you spread out your learning over a longer period. What it does: - Organizes courses into classes. For each class you upload the materials (PDF/HTML) and, optionally, your own notes in Markdown. - Generates study material with one click. A pipeline of AI agents (built on Claude via Mozaik): - merges materials and notes into one lesson note; - plans a quiz and builds it from that plan; - suggests topics for visualizations, then builds the ones you pick, in parallel. - Reviews its own output. Planner agents check what the builder agents produce, with up to 3 fix rounds. If a part still fails, the app reports it and offers to regenerate just that part. - Runs quizzes and grades them. You take quizzes in the app and your answers are graded automatically. - Tracks progress. It keeps a model of what you know, updates it from quiz results, and builds cumulative reviews across classes. - Stays local and private. It runs on your machine. Course material leaves it only when it's sent to the Anthropic API to generate content.

How the agents run concurrently

Everything runs in one Node process with one Mozaik runtime. "Parallel" means several model API calls are in flight at the same time while the event loop waits on them. There are no threads or workers. Which agents run at the same time - Quiz branch and viz-topics branch: both handlers listen for lesson.ready, so they start at the same moment. - Viz builds: viz.selected creates one job per selected suggestion and emits a viz.requested for each. All N run at once, and there is no global limit. - Inside a job, steps run in order: the planner runs first, then the builder, then the reviewer. The reviewer runs again after every fix. - Grading is the only step with a limit. It reads the learner model before the slow grader call and writes it afterwards, so two gradings for the same course would overwrite each other's progress. grading-branch.ts:380 keeps a promise queue per course to run them one at a time. What state they share - The agents themselves share nothing. Each stage creates a fresh agent, because Mozaik keeps adding to an agent's memory across calls, and removes it with leave() when done. The one exception is on purpose: the builder session is kept through its fix cycles so it remembers the review history. Each reviewer is a new agent. - Data moves through SQLite, not through agent memory. Each handler loads what it needs (lesson text, plan, earlier lessons, the learner model) from the DB, runs its agents, and saves the result in a

Comments

No comments yet.

Sign in to like and comment