A domain engine for Italian university exam preparation: Calculus I and Linear Algebra, solved step by step. Written in Rust, 2024 edition, with three dependencies and 66 unit tests.
It ships a symbolic math core — expression AST, parser, differentiation, LaTeX rendering, limits, integrals, series, Taylor expansions, differential equations — and a natural-language solver that turns a plain question into an exam-style, step-by-step answer.
Run it
cargo run -- "calcola il limite di (sin(x)/x)"
The whole interface is the command line: no flags to remember, the question is the argument.
The web server
cargo run -- --server 3000 # port configurable via PORT too
| Endpoint | What it does |
|---|---|
GET /api/solve?query=... |
Solves a request |
GET /api/exercise?topic=...&difficulty=... |
Generates an exercise |
GET /api/chapter?topic_id=... |
Shows a chapter |
GET /api/search?query=... |
Searches the knowledge base |
GET /api/topics |
Lists the chapters |
GET /api/health |
Health check |
The web frontend is static (web/index.html): it calls the API from the same
origin, so serving the folder next to the server is all the setup it needs.
Desktop (Tauri)
cargo run # the default target is the Tauri desktop app
Known limits, stated up front
- The repository is private: this page can describe the project, but the source is not publicly downloadable. It is available on request.
- Everything is in Italian — comments, knowledge base, strings — because the exam papers it targets are in Italian. There is no localization layer.
- The knowledge base (
kb/) derives from course handouts and is not covered by the code license.
Full detail in the repository's docs.md.