A classroom math game grew to 700,000+ students, then started crashing under the weight of its own success. We re-engineered the foundation so it held.
Children play head to head, place numbers on a shared board, and learn their times tables without ever feeling like they are drilling facts. Founder Chris Hogbin built the concept after ten years teaching high-school math, turning an analog game he ran in his own classroom into a digital product.
It targets the three mindsets every math teacher knows: "I'm not a math person," "math is boring," and "I can follow the rules but I don't get it." AppMakers USA built the multiplayer game that carried that idea across iOS, Android and the web, and kept developing it as schools adopted it around the world.
Success creates its own engineering problem.
As Number Hive caught on in classrooms, concurrent multiplayer use climbed fast. Matches that ran fine at small scale started to strain the system. When we scaled the backend horizontally to keep up with demand, the realtime layer began to crash under load.
A multiplayer game is only as good as its weakest match. The work ahead was to make the architecture hold at the scale the product had earned.
The working rule on the engagement: every "intermittent" crash is a deterministic bug we have not reproduced yet.
Rather than rebuild the product, we re-engineered the realtime foundation it ran on, so the game stayed dependable as concurrency grew. Then we kept extending functionality on top of a base that could take the weight.
The gnarliest issue lived in the GraphQL pub/sub system. Everything worked on a single server. The moment we scaled horizontally, players began receiving realtime game events from unrelated matches, because pub/sub events were being broadcast across every server instance.
In a multiplayer game for children, board state bleeding between matches does not just look wrong. It breaks the game.
Our engineers tightened event scoping around game and session identifiers, so each event only reached its own match, and added client-side validation so an app ignored any event that did not belong to its active game. The cross-session leakage stopped, and the realtime layer held as concurrency climbed.
A children's app needs reliable bad-word detection, and simple dictionary filtering is trivial to bypass with leetspeak or altered spelling. Our team combined dictionary matching with heuristic normalization and pattern detection to catch obfuscated words. The filter runs deliberately aggressive. It occasionally flags a legitimate word, because in a product for children the cost of a missed word is far higher than the cost of a false positive.
Got a build that has to hold under real-world scale?
Get a Free Project Estimate →AppMakers shipped Number Hive as native iOS and Android apps alongside the web build. As classroom adoption grew — where shared browsers and Chromebooks dominate — the product consolidated onto its web platform, now live and free at play.numberhive.org for 700,000+ students, with no install required.
700,000+ students and tens of thousands of teachers have used Number Hive worldwide (per Number Hive). Free, no advertising, used in schools worldwide, which keeps the product aligned with classroom use rather than ad revenue. It has also drawn independent praise from math educators — featured on Pam Harris's Math is Figure-Out-Able! podcast and reviewed by author and educator Sunil Singh, who called it "exactly the way I would want multiplication presented to kids."
The buzz is how Number Hive engages my students in math fact practice while they think they're just playing a game.
My 6th graders love this. The students were engaged, had to move, find partners, and were begging to play it again.
That is the experience the engineering protected. A game that crashes mid-match does not get children begging to play it again.
The clearest measure of a build is whether the client comes back. Number Hive did.
We built the game, carried it through the hard scaling problems that growth created, and Chris returned after more than a year to keep developing with the same team. Most agencies optimize for shipping and then disappear. The realtime scaling work is exactly the kind of problem that surfaces after launch, once real usage arrives, and it is the moment most teams are no longer around to solve.
The hardest parts of an app rarely show up before launch. They show up when it works, when real users arrive, and when the system has to scale. We build for that moment — and, like we did for Number Hive across multiple years, we stay through it.
Get a Free Project Estimate →