In Japanese primary schools there's a drill called 百ます計算 — numbers across the top and side, an operation in the corner, race the clock filling every cell. I grew up on it. Twenty-five years later I caught myself scribbling grids for my own kid on the back of a receipt, and figured: this should just be an app.
So, Math Grid: adaptive difficulty, local profiles, and a realtime mode where two kids race the same grid. Core loop is free, no ads. Building for kids shaped the engineering in ways I didn't expect — analytics runs fully anonymous (no person profiles, no session replay, off-switch in Settings), and battle codes stay byte-identical to my original HTML prototype so old codes never break.
Happy to answer anything — the pedagogy, SwiftUI, or what App Review's kids-data questionnaire is like.
In Japanese primary schools there's a drill called 百ます計算 — numbers across the top and side, an operation in the corner, race the clock filling every cell. I grew up on it. Twenty-five years later I caught myself scribbling grids for my own kid on the back of a receipt, and figured: this should just be an app.
So, Math Grid: adaptive difficulty, local profiles, and a realtime mode where two kids race the same grid. Core loop is free, no ads. Building for kids shaped the engineering in ways I didn't expect — analytics runs fully anonymous (no person profiles, no session replay, off-switch in Settings), and battle codes stay byte-identical to my original HTML prototype so old codes never break.
Happy to answer anything — the pedagogy, SwiftUI, or what App Review's kids-data questionnaire is like.
Just wondering if there is an strategy to fill it faster, like filling first the rows/columns of 2, 4, 8.