mrkeyoor.com_
Sun 25 Oct 07:50 UTC
Self-Hostedevaluationupdated 25 Oct 2026

mathua review

Mathua is a local-first math learning engine that chooses practice through a graph of prerequisites. It requires accuracy and speed before progression, and brings review scheduling and learner progress into a web application.

Verdict

Our Mathua build succeeded in 68 seconds, but verification ended with 53 passes and 1 unexplained failure. It is worth a supervised trial for a technical learner who wants enforced prerequisites and accepts speed-based mastery. Check the relevant grading paths and content permissions before relying on it for a class or a paid product.

We ran it

Lab card: what happened when we ran mathuaScreenshot of mathua (mathua.com)
Install✓ · 36s76 packages
Build✓ · 68s
Tests✗ · 49s53 passed · 1 failed of 54 (go test)
Repo4878 files~231,734 lines of source · 41.4 MB · 2 CI workflows · Dockerfile

Answers from our run

Does mathua build from source?

Dependencies installed in 36 seconds (76 packages), and the build succeeded in 68 seconds. We cloned commit 04c848d into a clean Debian container with 3 CPUs and no project-specific setup.

Do mathua's tests pass?

No. The project's own test command finished in 49 seconds and reported 53 passed, 1 failed (go test).

Who should not use mathua?

Learners who want unrestricted topic access: the scheduler withholds concepts with unmastered prerequisites.

What are the alternatives to mathua?

Anki, Kolibri. Our Mathua build succeeded in 68 seconds, but verification ended with 53 passes and 1 unexplained failure.

SetupN/AThe sandbox compiled the pinned revision, but supported production onboarding and full grading were not reproduced.
DocsN/AREADME setup and grading boundaries were inspected; linked learner and administrator workflows were not reproduced.
CommunityN/ARecent maintenance is visible, but learner support quality and contributor responsiveness were not assessed.
MaturityN/AA single source run cannot assess curriculum correctness, learning outcomes or durable progress tracking.

Who it’s for

Technical learners who want structured prerequisite-based math practice they can host themselves.
Parents or teachers willing to check generated exercises and progress behavior before relying on them.
Go developers interested in extending a math scheduler and its problem generators.

Who it’s NOT for

Learners who want unrestricted topic access: the scheduler withholds concepts with unmastered prerequisites.
Operators requiring a Go-only grader for all answer types: symbolic and related grading paths need Python and SymPy.
Commercial curriculum builders assuming MIT covers the lessons: adapted content carries separate NonCommercial terms.
People seeking purely untimed mastery: speed is part of the progression rule, though accommodated timing is documented.

Setup reality

Our October 24 sandbox installed commit 04c848d in 36 seconds with 76 dependencies and built it in 68 seconds. Tests failed after 49 seconds: 53 passed and 1 failed out of 54. The supplied tail ends in FAIL without identifying the failing case or cause.

SQLite is the default, with Postgres available for multi-user operation. Production needs a persistent JWT secret and an appropriate origin allowlist. Symbolic and related answer types require Python with SymPy, so the Go binary alone does not cover every grading path.

The recorded image was golang:1.24-bookworm on 3 CPUs and 8 GB RAM. That label does not establish the actual runtime version. Current README toolchain requirements describe current source, and should not be treated as proof of the compiler used in our pinned run.

Mathua makes prerequisite mastery part of the product

Mathua withholds the next concept until the learner meets both accuracy and speed requirements for its prerequisites. That is a meaningful choice for someone rebuilding a shaky foundation in mathematics. You don't just choose an exercise and move on after getting it right once. The learning engine maintains progress through a dependency graph and uses that history to decide what should appear next.

The README describes a local-first Go service with a React and Next.js web interface. It includes spaced review, courses and progress sharing for parents or teachers. Those features make it a candidate for a supervised learning routine. They do not establish that its sequencing improves learning, or that every generated problem and accepted answer is correct. Our sandbox measured the repository workflow, which leaves those educational questions open.

What happened when we ran it

Our sandbox installed Mathua commit 04c848d in 36 seconds, recording 76 dependencies, and built it successfully in 68 seconds. The October 24, 2026 run used 3 CPUs and 8 GB RAM. The configured image was golang:1.24-bookworm. An image name is not a toolchain log, so it does not establish the compiler or operating-system version actually used by the commands.

The test step failed with exit 1 after 49 seconds. The lab summary reports 53 passed and 1 failed out of 54. The supplied tail shows successful package results followed by FAIL, but it does not name the failed case or include its diagnostic. There is no basis here for attributing the result to Python, a database or a particular generator. We reached a compiled application and an unresolved failure in the verification step.

The checkout occupied 41.4 MB, with 4,878 files and about 231,734 source lines recorded by the lab. Docker and Compose files were present. None of those observations demonstrates a correct symbolic grader or a complete learner session. Before a family or classroom relies on its progress records, someone should inspect the full failure log and exercise representative questions and answers on the intended deployment.

Speed thresholds can exclude the learner you want to help

The README requires both a consecutive-correct-answer streak and an acceptable average response time for mastery. A learner who solves a problem correctly but slowly can therefore remain below the threshold. That behavior is part of the stated learning design. If your purpose is untimed exploration, proof discussion or open access to advanced topics, the prerequisite and timing policy may be a reason to choose something else.

Accommodated timing and pauses are documented, so it would be unfair to describe the policy as entirely inflexible. Even so, I'd check those controls with the actual learner before adopting the engine. The practical question is whether its progression rules reflect the kind of competence you're trying to teach. Correctness, fluency and confidence need not develop at the same pace, and our source run did not assess that fit.

Some grading still requires Python and SymPy

The README says symbolic, polynomial, expression and complex answers need Python with SymPy. Running without Python limits grading to the pure-Go types. A successful Go build therefore cannot establish that every advertised subject has a working answer checker. Operators who want a Go-only service should treat the grading boundary as a deployment constraint and verify which concepts they intend to serve.

Production configuration also needs attention. The documentation calls for a persistent JWT secret, noting that a randomly generated secret otherwise invalidates tokens on restart. SQLite is the default storage path, with Postgres available for multi-user operation. These are documented options, rather than evidence that our run exercised either a production database or restart behavior. Persist the database and authentication configuration deliberately before collecting progress you want to retain.

Mathua also documents a grading-repair operation that rechecks persisted incorrect attempts and rebuilds affected progress, with a dry-run option. The description says undecidable attempts stay untouched and XP is not rewritten. That is useful operational detail for a learning system: a corrected grader may need to repair historical records as well as judge the next answer. It doesn't establish that such a repair is needed for our unidentified failure.

The MIT code license does not cover every lesson

The README separates the MIT software license from adapted lesson content carrying NonCommercial terms. It identifies OpenStax and Algebrica material under their respective Creative Commons licenses and explicitly says the code license does not extend to that adapted content. If you're considering Mathua as the basis of a paid learning service, that is a reason to resolve content permissions before committing to its curriculum.

For a private evaluator, the same distinction helps set expectations about reuse. Forking the engine and republishing its lessons are different decisions with different stated terms. I'd keep a record of the source and license for material retained in a deployment. This review has not assessed permissions for a particular commercial use, and a successful software build would not answer that question.

Anki suits review, while Kolibri targets offline teaching

Anki is a spaced repetition program. Choose it when reviewing material you select is the main job and you don't need Mathua's enforced mathematical prerequisite graph. That is a narrower alternative for remembering definitions or procedures, rather than evidence of equivalent automatic grading. Kolibri is an offline-first teaching and learning platform. Consider it when offline educational delivery is the primary requirement, instead of a math-specific mastery engine.

GitHub recorded a Mathua push on October 25, 2026. The recent issue and PR list contains work on mastery-check scheduling and learner reports, alongside an open localization proposal. The public release list was empty, but the push and issue activity give no basis for calling the project abandoned. Start with a disposable learner account, verify the grading path for the topics you need, and obtain the missing test diagnostic before entrusting it with a sustained learning record.

Alternatives

ProjectWhat it isPick it when
Anki gh↗A spaced repetition program.pick this instead when reviewing material you select matters more than an enforced math prerequisite graph.
KolibriAn offline-first teaching and learning platform.pick this instead when offline educational delivery is the main requirement.

What people are saying

  1. [github-trending] chuma-beep/mathua

Sources

  1. Mathua README
  2. Repository facts
  3. Recent issues and PRs
  4. Release list
  5. Anki README
  6. Kolibri README

More self-hosted reviews

redlib · logto · bloom · Mailu · immich-go · itsaplan · the whole board →