Brilliant sells its course library: more than 40 courses whose lessons were designed one interaction at a time, with puzzles that come before the explanation. An agent can build the frame around that in a sitting (problem generators, answer checking, streaks, a few draggable graphs), but not the lessons, and the lessons are what the subscription pays for. Free options are a better trade than a build: Khan Academy covers the same math at no cost, and Brilliant's own free tier still unlocks two lessons a day.
Before you buildTry the free options first: Brilliant Free still unlocks 2 lessons a day, and Khan Academy is free in full.
Build me a daily math practice app to replace the practice side of Brilliant. Requirements: - Python 3.12 with FastAPI and plain HTML pages on http://127.0.0.1:4900; KaTeX renders the math and there is no front-end framework. - Problem generators in Python, one module per topic: fractions, linear equations, quadratics, probability and derivatives. Each returns a random problem together with its answer, so correctness never depends on a language model. - Check answers with SymPy, so equivalent forms such as 1/2, 0.5 and 2/4 all count. - A wrong answer shows the worked solution the generator wrote step by step. An optional "explain it differently" button asks an LLM (key in .env); that is the only network call. - Interactive widgets for three topics, built with JSXGraph: drag the slope and intercept of a line, move the vertex of a parabola, flip coins and watch the frequency settle. - Spaced repetition: store attempts in SQLite at ./data/practice.db, bring weak topics back more often, and keep a daily goal of 10 problems with a streak. - No accounts, no telemetry, local-first; everything works offline without the key. - Out of scope: written courses, video lessons and a mobile app. - README: setup, how to add a topic generator, and an honest note that Brilliant sells designed lessons and this only covers the practice.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Brilliant.
Add a hint tutor to the math practice app in this folder. Requirements: - On any problem, a Hint button opens a short chat with the LLM from .env. - Send the problem, the correct answer and my attempts, with instructions to ask one guiding question at a time and never state the final answer. - Limit it to 3 hints per problem and record hint use in ./data/practice.db, so problems solved with hints come back sooner. - Out of scope: free-form chat on unrelated topics. - Update the README.
Add lessons to the math practice app in this folder. Requirements:
- A lesson is a Markdown file in ./lessons/<topic>/ with KaTeX math and optional
{{widget:name}} tags that embed the existing JSXGraph widgets.
- Lessons are listed per topic in order; finishing one unlocks that topic's practice.
- Each lesson can end with 2-3 check questions using the topic's generator.
- Track lessons done in ./data/practice.db.
- Update the README with an example lesson file.Add Python exercises to the math practice app in this folder. Requirements: - An exercise is a folder in ./exercises/ with a Markdown task, starter code and pytest-style test functions. - Run my code in the browser with Pyodide; show which tests passed and failed. - A CodeMirror editor with Python highlighting; save my last attempt per exercise. - Exercises count toward the daily goal and streak. - Out of scope: other languages and server-side code execution. - Update the README.
People pay for learning that feels like a game: short lessons that fit into a coffee break, puzzles before formulas, and a streak that pulls them back every day. Parents also pay for a family plan their children actually open, which a homemade drill app rarely manages.
Estimate · Runs locally for free. The optional explanations cost a fraction of a cent each through an API. The build session is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | 2 lessons or practice sets a day, courses in order, a limited preview of the Koji tutor, occasional ads. |
| Premium Individual | $30 | $20 | All 40+ courses with no daily limit, jump to any lesson, unlimited Koji tutoring, no ads. |
| Premium Family | — | $40 | Premium for up to 6 people. |
Free gives 2 keys a day, each unlocking one lesson or practice set, with courses taken in order and only a preview of the Koji tutor.
Not really. People pay for learning that feels like a game: short lessons that fit into a coffee break, puzzles before formulas, and a streak that pulls them back every day. Parents also pay for a family plan their children actually open, which a homemade drill app rarely manages. The prompt on this page builds the closest honest substitute.
About $30 a month on the Premium (Individual) plan, $360 a year (checked 2026-10-13).
The designed courses and their visual puzzles; Guided paths that put topics in a sensible order; The Koji tutor inside every lesson; Phone apps with streaks, leagues and reminders; New courses as they are released. If any of those matter to you, keep paying.
Yes: Khan Academy (free), Oppia (open source), freeCodeCamp (open source).