Work/Sport & games
Arithmos Arena
Free live maths battles where students win rank and school glory.
LiveLive as a web game and installable app.
WebInstallable web appAndroid
The problem
“Students avoid maths practice because it feels like homework.”
Mental arithmetic and exam readiness are a real concern for Nigerian students. Practice is usually worksheets or past papers, which students avoid. The apps that exist tend to be digital worksheets, often too heavy for low-end phones and poor connections, with nothing to make a student want to come back. Teachers lack an engaging classroom activity. Schools want healthy rivalry rather than another grade sheet. Students already love competition, but nothing puts the opponent, the clock and the school badge on the screen.
Who had it
- StudentsA reason to practise maths that feels like play, not homework.
- TeachersAn engaging classroom activity that builds speed and accuracy.
- SchoolsFriendly rivalry with other schools instead of another grade sheet.
- Exam candidatesA way to see which topics are weak before the exam.
What the answer had to survive
- Must run on basic phones
- Must load on slow connections
- No download needed to start
- Free for students to play
- Both players must see identical questions
What we built
Maths practice turned into a live sport between classmates and rival schools.
Arithmos Arena turns maths practice into a live sport. Two students are matched in real time and get the same ten questions with ten seconds each. The faster correct answerer wins coins, XP and rank, for themselves and for their school. When nobody is waiting, a computer opponent steps in so the screen is never empty. The game is free and runs in any browser or as an installable app. A Brain Map shows which topics need work, so practice has a direction.
AI inside Arithmos Arena
-
An opponent at any hour
Arithma, the AI boss, gives a student a maths battle when nobody else is online.
What it does
Live battles
- Real-time 1v1 matchingPlayers join a lobby and are paired. Both get the same ten questions with ten seconds each.
- Private rooms and spectatingChallenge a friend with a room code, or watch a live duel with a spectate code.
- Computer opponentWhen no human is waiting, a computer opponent steps in so the player is never left waiting.
- Four power-ups50/50, Skip, Reveal and Freeze, which stops the timer for five seconds.
Learning tools
- Brain MapAccuracy, speed and trend across 13 kinds of question, with a mastery level for each topic.
- Arithmos IndexOne score from 0 to 200 built from accuracy, speed, breadth and practice volume.
- Practice and Daily ChallengePractise with no opponent, or take one question a day with a global leaderboard.
- Maths blogPages on mental maths and exam preparation, such as percentage shortcuts and times tables.
Progress and rewards
- Ranks and hero tiersEight ranks from Rookie to Grandmaster. A hero character evolves with level.
- About 70 achievementsWins, streaks, accuracy, school and social goals, each with its own badge.
- Streaks and daily missionsReminders help players protect a streak and come back after a break.
- Coin shopCoins earned in play buy power-ups, frames, battle backdrops and titles.
Cosmos Run
- Maths in spaceFly a ship across 15 planets, shooting asteroids by solving the equation on each one.
- Five difficulty levelsRecruit to Cosmic, with shorter timers and tougher equations at each step.
- Ships and power-upsEleven collectable ships and four power-ups, plus random anomalies and a boss finale.
Schools and community
- Players represent a schoolTerm, weekly and monthly leaderboards for schools, classes and players.
- Inter-school leagueSchools field squads in a round-robin league with published rules and a code of conduct.
- Captain programmeStudents recruit active players for their school and climb a ladder of ranks.
- Arithma, the AI bossA boss duel with a fixed profile, voiced taunts, and badges for beating it.
A day with it
- 1
Sign in and pick a school
A student opens the site or installed app, signs in with Google and chooses a school.
- 2
Tap Battle Now
The game finds an opponent, shows both avatars facing off and counts down 3, 2, 1.
- 3
Race the clock
Ten questions appear, each with a ten-second timer. A live score shows who answered first.
- 4
See the result
A winner is declared with accuracy and margin. Coins, XP, streak, rank and the school's score update.
- 5
Check the Brain Map
The student sees which topic pulled the score down, then practises it.
- 6
Come back tomorrow
A daily mission or streak reminder brings the student back to challenge a friend or climb the leaderboard.
How it works inside
The game is one web page served from managed hosting. Players sign in with Google. A shared real-time database holds the lobby, game records and scores, and pushes changes to both players as they happen. Small server functions handle notifications, scheduled jobs and rankings.
Cut the network to see what this system does without it.This one lives on the internet, so it waits, like any website. Its staying power is on our side: backups, health checks and tested recovery.
On the device
- Web game (PWA)Single-page game that installs like an app
- Android appUses the same data and rules as the web game
- Computer opponentRuns inside the game when no human is waiting
Our cloud
- HostingServes the site, game files and service workers
- Real-time databaseLobby, game records, answers, scores and leaderboards
- Server functionsNotifications, scheduled jobs, rankings and league fixtures
Outside services
- Google sign-inIdentifies each player
- Push messagingDelivers reminders to phones and browsers
Every part and every link, as text
- Web game (PWA) — Single-page game that installs like an app (on the device)
- Android app — Uses the same data and rules as the web game (on the device)
- Computer opponent — Runs inside the game when no human is waiting (on the device)
- Hosting — Serves the site, game files and service workers (our cloud)
- Real-time database — Lobby, game records, answers, scores and leaderboards (our cloud)
- Server functions — Notifications, scheduled jobs, rankings and league fixtures (our cloud)
- Google sign-in — Identifies each player (outside services)
- Push messaging — Delivers reminders to phones and browsers (outside services)
- Hosting → Web game (PWA): Serves game files (needs internet)
- Web game (PWA) → Google sign-in: Google sign-in (needs internet)
- Web game (PWA) → Real-time database: Lobby, answers and scores (needs internet)
- Real-time database → Web game (PWA): Live updates to both players (needs internet)
- Android app → Real-time database: Same data and rules (needs internet)
- Web game (PWA) → Computer opponent: Plays when nobody is waiting (works offline)
- Real-time database → Server functions: Triggers on new messages (works offline)
- Server functions → Real-time database: Scheduled ranking jobs (works offline)
- Server functions → Push messaging: Send notifications (needs internet)
- Push messaging → Web game (PWA): Reminders to the device (needs internet)
The hard parts
A real-time duel with no game server
- The situation
- Two students on different phones, perhaps on weak connections, must see the same ten questions, race each other and agree who won, without a dedicated game server.
- What we did
- A managed real-time database holds the shared state. Players write to a lobby, one client creates the game record, and both read the same questions and each other's answers live. A computer opponent fills in when nobody is waiting.
- The lesson
- Real-time features need a careful data model more than a heavy backend.
One question engine behind every mode
- The situation
- Battles, Cosmos Run, the Daily Challenge and the Brain Map all need questions at matching difficulty across many topics, and results must feed one learner profile.
- What we did
- We built a question engine with 13 categories and an easy, medium, hard ramp. Each Cosmos planet maps to a topic, and every answer is recorded into per-topic statistics that drive the Brain Map and the Arithmos Index.
- The lesson
- Practice in space counts toward the same profile as practice in a battle.
Reminders without a server to babysit
- The situation
- Habit-forming reminders for missions, streaks and weekly winners must arrive at the right local time, without running a server just to send them.
- What we did
- The app writes a notification request and a database trigger delivers it as a push message. Scheduled functions on Lagos time send the daily and weekly nudges, and a nightly job cleans old requests.
- The lesson
- Retention features can run unattended as small scheduled functions.
Fair competition between big and small schools
- The situation
- A large school would always beat a small one on raw numbers of players, and school rivalry can turn unkind.
- What we did
- League scores count each school's top set of players, announced before the season, so strength rather than size wins. The rulebook is frozen per season. A code of conduct sets out warnings and removal.
- The lesson
- Fairness rules work best as software logic and plain-language policy together.
The stack
- Apps
- HTMLCSSJavaScript (no build step)Installable web appFlutter (Android)
- Backend
- Firebase Cloud FunctionsNode 20Scheduled functions
- Data
- Firebase Realtime DatabaseDatabase security rules
- Infrastructure
- Firebase HostingService workers
- Services
- Google sign-inPush messaging
How it came together
- 1Admin toolsAdmin tools for players, questions, schools and analytics came first.
- 2Community pagesLegal pages, a maths blog, the leaderboard and school clean-up tools followed.
- 3Cosmos SeasonRegistration and admin pages for the Cosmos Season were built.
- 4School leaguesThe inter-school league and captain admin pages were built.
- 5Weekly challengesWeekly challenge pages and their admin were built.
- 6Public launch pageThe landing page was published.
