Skip to content

Case study

A live quiz game serving 2,000+ players, with 100+ playing at once

Speedego is a real-money quiz game we built for Mathematica LLP. It serves more than 2,000 players, with over 100 playing at the same time, and runs on about $120 a month of AWS.

Client
Mathematica LLP
Year
Service
Product engineering, System integration, Deployment and launch
Speedego’s game lobby on a phone

Overview

Speedego is a mobile quiz game we built for Mathematica LLP. Players join live rounds, answer questions against a countdown and win coins, which they can send to other players or withdraw as real money. It now has more than 2,000 players, with over 100 of them playing at the same time.

During a round, every player holds an open connection to the server and answers against the same countdown. Because the coins they win can be withdrawn, each answer has to be scored against the right clock and each coin has to land in the right wallet, however many people are online.

How it handles 100+ players at once

Live games run on their own Elixir and Phoenix server. Elixir runs on the Erlang VM, which is designed to run huge numbers of lightweight processes side by side, so each player’s connection gets its own process and one slow phone can’t hold up everyone else in the round.

The progress of every live game, including its timers and which connection belongs to which player, is kept in memory with ETS rather than read from the database on every answer. Phoenix PubSub sends each question and countdown to every player in the round.

Accounts and money go through a separate NestJS API with Prisma and PostgreSQL, so live games and money movements are handled by different services. The API handles sign-in with email one-time passwords, wallets, coin transfers and withdrawals, which the Mathematica team processes from the admin panel and pays out through Cashfree to the player’s bank account or UPI ID. Both services use the same database and accept the same signed tokens, so a player signs in once and both know who they are.

The app and admin panel

The player app is built with React Native and Expo and shipped through EAS. It uses REST for account and wallet actions and a persistent Phoenix socket for live games. Rewarded and interstitial ads come from Google AdMob, and the API checks Google’s signature on every rewarded ad callback before the reward is credited.

Mathematica’s team runs the game from a React admin panel built with Vite and Tailwind CSS, where they monitor players, manage games, process withdrawals and send push notification campaigns.

Results

More than 150,000 game rounds have been played on Speedego without an issue, and players have withdrawn over ₹200,000 in winnings. Speedego runs on AWS for about $120 a month.

What we did

  • Real-time game server (Elixir, Phoenix)
  • Mobile app (React Native, Expo, EAS)
  • API and wallets (NestJS, Prisma, PostgreSQL)
  • Payouts (Cashfree)
  • Admin panel (React, Vite)
  • AWS hosting
Players
2,000+
Playing at the same time
100+
Game rounds played
150,000+
AWS cost per month
$120

More case studies

You bring the problem. We take it to production.

Our office

  • Perinthalmanna
    MEAEC, State Highway 39
    Library & Information Centre, Nellikunnu
    Vengoor, Perinthalmanna
    Kerala 679325, India