Maturator - Infinite Math Platform
The Problem
Preparing for the Polish Matura exam in mathematics has a fundamental flaw: you eventually run out of practice problems. Textbooks have limited exercises, past exams get memorized, and online banks are finite. Once you've seen a problem, solving it again doesn't build the same skills.
I wanted to create a platform where students could practice forever - with unique, algorithmically-generated problems every single time.
"Just make a quiz app," the reasonable part of me suggested.
The Solution
Maturator is an advanced educational platform that generates infinite, unique math problems in real-time. Unlike static question banks, every problem is created on-the-fly with randomized values, contexts, and solutions.
You can solve the same type of task 100 times, and the numbers, scenarios, and correct answers will be different every single time.
Is this overkill for exam prep? Perhaps.
Will students run out of problems? Literally impossible.
Live Webpage: maturator.vercel.app
Key Features
Infinite Problem Generation
No static databases, no memorizing answers. Every request generates fresh problems with randomized:
- Numerical values
- Variable names
- Geometric configurations
- Graph parameters
Try memorizing your way out of infinity. I'll wait.
Two Study Modes
| Mode | Description |
|---|---|
| Thematic Training | Focus on specific topics (Algebra, Geometry, Functions, Probability...) |
| Exam Simulator | Full-scale 30+ task simulation with 180-minute timer and detailed scoring |
Dynamic Visualizations
Problems come with live-generated SVG graphics:
- Function graphs with precise plotted curves
- Geometric figures with labeled vertices
- Statistical charts (histograms, box plots)
- Coordinate systems with marked points
Yes, I checked my high school notes.
Smart Math Input
Custom input interface for easy typing of:
- Fractions:
1/2→ $\frac{1}{2}$ - Roots:
sqrt(x)→ $\sqrt{x}$ - Powers:
x^2→ $x^2$ - Greek letters and symbols
Instant Feedback
- Immediate validation for closed (ABCD) questions
- Open-ended answer checking with tolerance
- Step-by-step solution reveal
The Engine - matura-engine
This isn't just a frontend consuming a third-party API. I built the entire generation engine from scratch:
Repository: wolfie-university/matura-engine
Live API: math-api-azure.vercel.app
Because using an existing math API would've been too easy. And where's the fun in that?
12 Specialized Generator Modules
| Topic | Coverage |
|---|---|
| Algebra | Powers, Roots, Logarithms, Percentages |
| Functions (General) | Properties, Linear functions, Graphs |
| Quadratic | Vertex, Roots, Inequalities, Viète's formulas |
| Optimization | Revenue problems, Geometry optimization |
| Sequences | Arithmetic, Geometric, General properties |
| Analytic Geometry | Lines, Circles, Intersections, Coordinates |
| Planimetry | Triangles, Quadrilaterals, Angles, Theorems |
| Stereometry | Solids, Angles in 3D, Cross-sections |
| Trigonometry | Identities, Equations, Geometry applications |
| Combinatorics | Permutations, Combinations, Variations |
| Probability | Dice, Coins, Urns, Set operations |
| Statistics | Mean, Median, Mode, Standard Deviation |
API Endpoints
# Specific topic generator
GET /api/v2/generator/:topic?difficulty=medium&count=5
# Random mix of all topics
GET /api/v2/generator/random?count=10
# Full exam simulation (30+ tasks)
GET /api/v2/exam/full?difficulty=hard
Response Structure
{
"meta": {
"type": "QuadraticGenerator",
"difficulty": "medium"
},
"content": {
"question_text": "Determine the vertex of the parabola:",
"question_latex": "f(x) = 2x^2 - 4x + 1",
"image_svg": "<svg>...</svg>",
"variables": { "a": 2, "b": -4, "c": 1, "p": 1, "q": -1 }
},
"answers": {
"type": "closed",
"correct": "W(1, -1)",
"distractors": ["W(-1, -1)", "W(-1, 1)", "W(1, 1)"]
},
"solution": {
"steps": [
"Formula for p: $$p = -b/2a$$",
"Calculate: $$p = 4/4 = 1$$",
"Calculate q: $$q = f(1) = -1$$",
"Result: $$W(1, -1)$$"
]
}
}
Difficulty Levels
| Level | Description |
|---|---|
easy | Simpler numbers, fewer steps |
medium | Standard exam complexity |
hard | Extended ranges, edge cases |
Tech Stack
Frontend (Maturator)
| Technology | Purpose |
|---|---|
| Next.js | App Router, SSR |
| TypeScript | Type safety |
| Tailwind CSS | Styling |
| shadcn/ui | Components |
| KaTeX | LaTeX rendering |
| React Query | Data fetching |
Backend (matura-engine)
| Technology | Purpose |
|---|---|
| Node.js | Runtime |
| Express | REST API |
| Custom SVG | Dynamic graphics |
| LaTeX strings | Math formatting |
Result
Maturator demonstrates full-stack engineering with a focus on algorithmic problem generation:
- Custom math engine - 12 topic-specific generators
- Infinite randomization - No two problems are identical
- Dynamic visualizations - SVG graphs generated per-problem
- LaTeX integration - Beautiful math rendering
- Full exam simulation - 30+ tasks, timer, scoring
- Modern frontend - Next.js, TypeScript, shadcn
- REST API design - Clean, documented endpoints
The platform is live and used by students preparing for the Polish Matura exam. It proves that educational software doesn't have to be static - with the right algorithmic approach, you can create unlimited learning content.
License: MIT - fork it for your own exam system!
P.S. - If you use this to pass your Matura, you're welcome. If you still fail, I take no responsibility. Math is not for everyone I guess (but I strongly do not believe it - I built 12 modules proving it).
Thanks for reading! Check out my other projects.
