Skip to content
HN On Hacker News ↗

Making math automatic with Mathy

▲ 102 points • 37 comments • by gmays • 3w ago • HN discussion ↗

Pangram verdict · v3.3

We believe that this text is a mix of AI and human-written content.

11 %

AI likelihood · overall

Mixed
88% human-written 12% AI-generated
SEGMENTS · HUMAN 1 of 2
SEGMENTS · AI 1 of 2
WORD COUNT 1,428
PEAK AI % 80% · §2
Analyzed
Sep 23
backend: pangram/v3.3
Segments scanned
2 windows
avg 714 words each
Distribution
88 / 12%
human / AI fraction
Verdict
Mixed
Pangram v3.3

Article text · 1,428 words · 2 segments analyzed

Human AI-generated
§1 Human · 1%

I finally built Mathy, a little project I’ve been thinking about for a couple years. It’s free, and no account is required if you want to try it on iOS or web. I use Math Academy daily, which is the best way to learn math. But I wanted a mobile-friendly way to drill math and weak areas on the go that was more convenient/less cumbersome than Anki cards. It’s also a nice way to do something productive (feel like I’m building towards something) in those spare moments here and there rather than scrolling. The gist of Mathy is counterintuitive: If it works, you’ll use it less. For example, as your topics become automatic, recommended practice sessions can get weeks apart or longer (you can still practice whenever you want). Why Mathy First, I’m a huge proponent of Math Academy, their philosophy and everything Justin shares about learning (check it out), so I won’t recap that here. I want to be much better at advanced math, but I’m not a naturally gifted mathematician and bump into a ceiling. I also intentionally don’t put in as much time and focus as I could. It’s a hobby. Though I have consistency over a long period of time, my daily volume is quite low. But I’m ok with that, and I’m quite happy with the progress I’m making given the time I put in. It fits well into my life. So to give myself an advantage, I wanted an easier way to drill math to make more things automatic. I’m curious how far I can go there and how much automaticity can raise my ceiling given my other constraints. And though Math Academy is the best way to learn math, it focuses on lessons, reviews and quizzes, not drilling like flashcards. But there are plenty of other tools for that, which I experimented with. The most popular seemed to be Anki cards. And though Anki is a flexible tool, it wasn’t ideal for math. It was also cumbersome to create and maintain cards. I didn’t find any other good math alternatives out there, so here we are. How it came together I’d been thinking about something like this for a couple years and it became quite acute as I struggled memorizing trig ratios, formulas, etc. especially since there’s such a wide variety of content the deeper into math you venture. I’d been taking notes on what I wanted over time, so I had a decent starting point. Then finally one weekend I just put them into a product requirements doc to see what this would look like. I liked it, but didn’t have time, so forgot about it for a few months. In parallel over the last year I’ve been going deep on agentic coding, burning hundreds of millions of tokens learning what AI was capable of, the best ways to build with it, refining my workflows, etc. But most of the things I worked on were quite complex with a lot of moving parts. I wondered how “easy” it’d be to build a simpler product. And so I decided this would be the project. The core app came together in a few days, but using the app revealed dozens of little rough edges that didn’t quite feel right and revealed deeper issues I had to iterate on. So though the core app came together fast, getting it to a point where I was somewhat happy with it took a couple of weeks as I experimented with a lot of approaches. It still has plenty of rough edges, so if you have any feedback let me know. How it works Mathy is meant to be simple for users and complement your existing learning. An example of how it fits into your learning program: Learn the concept with something like Math Academy and get initial practice. Pick the topic (by grade, course or topic) and Mathy tells you when to practice again based on how you do (using FSRS). When you’re ready, you can do timed “sprint” challenges to try and beat your best score. Future plans may let you compete against others. There is no diagnostic or other placement like Math Academy has. It’s up to you to pick the topics. So I recommend aligning it with what you learned in Math Academy. Next I’ll share more about how Mathy works. Product focus & constraints Constraints help, so I was quite deliberate with what it is and isn’t for: It’s only for building math automaticity, NOT learning new concepts. It’s for practicing what you already know. Only things you can do mentally, mostly direct recall and short procedures that become roughly 3–5-second responses with fluency. Offline & mobile optimized: You can use the app on the go and core features must work offline in the mobile app (iPhone & iPad support). Minimum effective dose: The goal isn’t to practice every day, just to keep you ‘automatic’ at your selected topics. The better you get, the less you need to practice. Some days/weeks you may not need any. The goal is to stay automatic and give you flexibility. So, once you reach automaticity it’s just for periodic maintenance when you have a few free minutes. Platform Instead of building a native iOS app (in Swift) like my last apps, I opted for React Native so it could support iOS (iPhone and iPad) and web from the same codebase. If there’s traction, I may replace it with native iOS and Android apps later, which would be fun to convert. Practice, grading, scheduling, and progress storage all run locally, without an account or a practice backend. Sending help or feedback requests requires an internet connection. The app is free to use. Progress currently stays on the device or browser where you practice. It doesn’t sync across devices (yet), and deleting the app or clearing browser data can erase it. Note: I plan to add optional account support so you can save progress, sync it across devices, etc. I’d also like to support mini competitions and leaderboards. But these are TBD, the MVP is local only as described. Spaced repetition algorithm I used FSRS for scheduling. FSRS was created by Junyao Ye, who is also a Math Academy user! Here’s an explanation of the algorithm from the FSRS project. FSRS determines memory scheduling state and when something should be reviewed. Mathy’s own queue policy decides how relearning, due work, new targets, weak material, maintenance, reinforcement, confusability, etc. get composed into practice. The app’s homepage shows recommended practice and upcoming review dates. A separate “Play your way” option lets you practice whenever you want in multiple modes (Daily Math, Timed Math, Endless Math, or 60-Second Sprint). Programmatically generating problems This became a lot easier thanks to the focus constraints I mentioned above. I limited myself to things I could deterministically verify. Math Academy has a killer team creating and reviewing instructional content, which makes sense for teaching advanced math. However, this is just an automaticity app and NOT teaching new material. So, if I can’t verify it deterministically, it doesn’t belong in this app.

§2 AI · 80%

It uses a curated bank of recall targets, including fixed facts and formulas alongside parameterized problem families. Those families generate variants within checked bounds, with deterministic answer keys rather than AI-generated answers. Intuitive presentation with deterministic verification Mathy presents each problem with clear typography and mathematical formatting, while keeping grading fully reproducible. The same problem variant always resolves to the same answer key, regardless of how the practice queue is shuffled or ordered. Under the hood, every recall target and generated variant has a stable ID. That lets it identify and reproduce the exact problem a learner saw, which is useful for grading, debugging, and responding to problem reports. Normalizing inputs For typed numeric answers, the app normalizes submissions before comparison: Trim whitespace Unify symbols Parse via deterministic numeric parser rules Convert to a canonical form (fractions, decimals, percentages, radicals where allowed). For a question that accepts equivalent numeric values, inputs such as 1/2, 0.5, 50%, and 2/4 can resolve to the same value. Questions that test a specific representation can still require a percentage, decimal, or simplified fraction. Then if the syntax is invalid, it returns a clear invalid-format error before checking the value. Accepted forms depend on the question. Equivalent values are accepted where appropriate, but a question specifically testing a fraction, decimal, or percentage can require that form. Choices and structured answers use their own deterministic checks. Measuring automaticity It tracks repeated correct behavior over time, not just one-off correctness.