Back to all posts

    Inside Numera's local solver: 20+ math solvers that work offline

    Numera Team 7 min read1,497 words
    Share:

    Most math apps send your problems to the cloud. We built something different — a complete math solver that runs entirely on your device, with step-by-step explanations for every problem type from Grade 1 through Grade 10.


    What's wrong with cloud-based solvers

    When you use a typical math app, here's what happens: you type a problem, the app sends it to a server, the server solves it (using AI or algorithms), and the solution streams back to you.

    That sequence creates four problems for the kind of users we care about. It requires internet, so it doesn't work on the subway, in rural areas, or during outages. It sends your math problems to a third-party server, which is a privacy concern for students and a compliance concern for schools. It adds latency — even a fast connection inserts noticeable delay. And it breaks during server downtime, which means a free study tool randomly stops being free or available.

    We wanted something better.

    What the local solver actually is

    Numera's local solver is a complete mathematics engine that runs entirely in your browser. No servers. No internet required after the first visit. Just deterministic math.

    The numbers: 20+ solver types covering Ontario Grades 1–10, 0 server calls after first visit, <100ms response time for most problems, 100% deterministic (same input always produces same output), and step-by-step explanations for every solution.

    What the solver covers

    The 20 solver types break down across the Ontario curriculum like this:

    Elementary (Grades 1–3) | Solver | Example | What it does | |---|---|---| | Arithmetic | `2 + 3 × 4` | Basic operations with order of operations | | Story arithmetic | "Sarah has 5 apples and gives 2 away..." | Extracts numbers from word problems and solves |

    Number sense (Grades 4–6) | Solver | Example | What it does | |---|---|---| | Fractions | `Simplify 6/8` | Reduces, converts, compares | | Percent | `What is 30% of 150?` | Percentages, discounts, increases | | Proportion | `If 3 apples cost $6, what do 5 cost?` | Ratio and rate problems | | Average | `Find the mean of 80, 90, 70` | Mean calculations |

    Pre-algebra (Grades 7–8) | Solver | Example | What it does | |---|---|---| | Linear (1 variable) | `Solve: 2x + 3 = 11` | Isolates variables, shows each step | | Linear word problems | "A number plus 5 equals 12..." | Translates English to equations | | Rate | "A car travels 240 km in 4 hours..." | Distance, speed, time | | Age problems | "John is twice as old as Mary..." | Age difference equations |

    Geometry (Grades 7–9) | Solver | Example | What it does | |---|---|---| | Rectangle | "Find the area of a 5×3 rectangle" | Area, perimeter | | Pythagorean | "Find the hypotenuse of a 3-4-? triangle" | a² + b² = c² |

    Advanced topics (Grades 9–10) | Solver | Example | What it does | |---|---|---| | Simple interest | "$1000 at 5% for 3 years" | Principal × rate × time | | Mixture | "Mix 20% and 50% solutions to get 30%..." | Concentration problems | | Work rate | "Pipe A fills in 3 hours, Pipe B in 6..." | Combined work problems |

    How classification works

    When you enter a problem, the solver doesn't guess. A classifier checks the input against a set of patterns: keywords ("percent", "area", "hypotenuse"), structural patterns (2x + 3 = 11 looks different from 30% of 150), and context clues (units, question structure). Each match has a confidence score. If the classifier is confident (>70%), it routes directly to the matching solver. If not, it tries multiple solvers and picks the highest-quality result.

    Most problems get classified in under 5ms. The actual solving step usually takes the rest of the budget, and even hard problems finish well under 100ms.

    Step-by-step explanations

    Every solver doesn't just produce an answer — it shows the work. A few examples.

    For Solve: 2x + 3 = 11, the steps are: original equation 2x + 3 = 11; subtract 3 from both sides to get 2x = 8; divide both sides by 2 to get x = 4; check the answer with 2(4) + 3 = 11 ✓. Result: x = 4.

    For What is 30% of 150?: convert percent to decimal (30% = 0.30); multiply by the number (0.30 × 150); calculate (= 45). Result: 45.

    For "Pipe A fills a tank in 3 hours, Pipe B in 6 hours, how long together?": Pipe A's rate is 1/3 tank per hour; Pipe B's rate is 1/6; combined is 1/3 + 1/6 = 1/2 tank per hour; time to fill is 1 ÷ 1/2 = 2 hours. Result: 2 hours.

    The point of showing the work is the same as in a classroom: students don't just need the answer, they need to see the reasoning.

    Why JavaScript, why deterministic

    We chose JavaScript running in the browser because it's universal (every device with a browser can run it), fast (modern JS engines are highly optimized), portable (the same code works everywhere), and requires no install (just open a web page).

    We chose deterministic algorithms over AI for an even simpler reason: students need reliable, repeatable explanations. AI math solvers occasionally hallucinate plausible-looking wrong answers, vary their explanations between runs, and give different reasoning to the same problem on different days. None of that is acceptable in education. Deterministic means the same input always produces the same output, the same explanation, every time. The student who works through a problem on Monday and revisits it on Friday sees the exact same walkthrough.

    Privacy as a design consequence

    Because the solver is local, your input stays on your device, computation happens locally, results display immediately, and nothing transmits to our servers — even we can't see your math problems. That's not a privacy policy claim; it's a structural property of the architecture. There's no server-side log of what you typed because there's no server-side at all.

    For schools, this matters for compliance. FIPPA in Ontario, PIPEDA federally, and equivalent regulations elsewhere generally require minimizing data collection and storing student data securely. The cleanest way to satisfy "minimize data collection" is to not collect it. The cleanest way to "store securely" is to not store at all.

    Coverage and limitations

    The local solver covers the full Ontario Grade 1–10 curriculum: basic arithmetic and word problems for Grades 1–3; fractions, decimals, percentages, and ratios for Grades 4–6; linear equations, geometry, and rate problems for Grades 7–8; advanced linear equations, the Pythagorean theorem, and data work for Grade 9; and interest, mixture, and work-rate problems for Grade 10.

    This is everything on the Ontario MPT (which tests up to Grade 9) and a bit beyond.

    What it intentionally doesn't handle: quadratic equations (beyond MPT scope), calculus (not needed for teacher certification), advanced statistics like standard deviation or correlation, graphing and visual problem representations, and multi-variable systems. These limitations are features, not bugs. We focused on what Ontario teachers actually need to know, not on what's impressive to demo.

    What's next

    We're expanding the local solver to cover more word problem templates, additional curriculum strands as we identify gaps, and richer step explanations (alternative solution paths where they exist). At some point we'd like visual problem recognition — point a camera at a textbook page and have the solver work out what's there.

    But the core principle stays: your math stays on your device. Every new feature has to fit through the offline-first, no-server-call constraint, or it doesn't ship.

    Why this matters for education

    In an era of cloud-everything, offline-capable tools are slightly radical. They're also more aligned with what students actually need. Equity, because they work for students without reliable internet. Privacy, because there's no data collection by default. Reliability, because they work during outages, on commutes, and anywhere else. Focus, because there are no notifications or distractions, just the math. Trust, because deterministic answers can be independently verified.

    For teacher candidates preparing for the MPT, this means you can practise on the GO Train without burning data, study at the cottage with no wifi, review in schools with spotty connections, and focus without digital distractions getting in the way.

    Try it

    The local solver is live in Numera right now. Visit app.numeracode.com, enter any math problem (try 2x + 5 = 13 or What is 25% of 80?), and watch the step-by-step solution appear instantly. Then turn off your internet and watch it keep working.

    No signup. No download. No internet required.


    Numera is a free, offline-first math practice platform built for Ontario teachers and teacher candidates. Built with React and Vite, with a math engine that runs entirely in your browser.

    Share:

    Comments (0)

    Leave a comment

    Comments are moderated. Approved comments will appear after review.

    The views in comments are those of the author and do not necessarily reflect the views of Numera. We reserve the right to remove inappropriate content.