Bytesnitch

Case study

Paid quiz platform

A paid quiz platform with wallets, KYC, tournaments, and matchmaking bots. The project notes record concurrency and retention figures from that system.

Illustrative example of a paid quiz platform showcase with desktop home, live quiz and 1v1 battle mobile screens.

A paid quiz and trading-room game with wallets, KYC, tournaments, bots, and NinjaMan and ZapCore WebViews. FastAPI, Celery, and Flutter are the system the notes describe.

Role. The engineering history records an AI-generated multiplayer quiz, named LevelZ in the notes, across web, native mobile, and a FastAPI, Celery, Kafka, Redis, and PostgreSQL backend. Modes are team, tournament, one-versus-one, and single-player. The work is recorded at Synchronized Codelab from October 2024 to February 2026.

Outcome. The project notes record support for 50,000-plus concurrent sessions, and a deterministic Redis and Celery bot engine with binary state diffs that raised session retention by 32 percent by cutting matchmaking drop-off. Rooms are timed. Prize payout is delayed through Celery. Questions come from OpenAI and Gemini.

The gap

Paid play needs a wallet, an identity check before withdrawal, timed rooms, and enough participants that matchmaking does not stall. Third-party games need a debit and credit path that can be reconciled.

Why it was built

The notes describe a multiplayer quiz with team, tournament, one-versus-one, and single-player modes, plus NinjaMan and ZapCore WebViews, on one payments backend.

How the build closed it

The Flutter app and game WebViews call FastAPI. Postgres holds rooms and wallets. Redis is the Celery broker. Celery times rooms, generates questions, and delays prize payout. IDfy handles KYC. SabPaisa handles deposits. OpenAI and Gemini write and verify questions. A bot engine with correctness and speed tendencies auto-joins so matchmaking stays full. Guest users and paying users are distinct, and KYC gates withdrawals. Third-party iframe debit and credit must be reconciled through the Ninja integrator and ZapCore filters. The project notes record support for 50,000-plus concurrent sessions, and a 32 percent rise in session retention from that bot engine, stated there as a reduction in matchmaking drop-off.

The source notes describe this system as a graph, not as a picture file. The diagram below is that graph: every box and every link is a node or an edge from the notes.

Flutter + WebViewsClientFastAPIAPIPostgreSQLDataRedisDataCelery + FlowerQueueIDfy KYCExternalSabPaisa /StanzaPeExternalOpenAI / GeminiExternalNinjaMan / ZapCoreExternal
Walleted quiz rooms and third-party game WebViews. Bots fill matchmaking.
  • Client
  • API
  • Queue
  • Data
  • External

Parts

  • Flutter + WebViews: Quiz, wallet, and Ninja and Jilli iframes.
  • FastAPI: /api/v1 for users and /admin/api/v1 for admin.
  • PostgreSQL: Rooms, wagers, KYC, and wallets.
  • Redis: Celery broker and an optional API cache.
  • Celery + Flower: Timed rooms, generated questions, and delayed payout.
  • IDfy KYC: PAN and Aadhaar OCR.
  • SabPaisa / StanzaPe: Wallet deposits and webhooks.
  • OpenAI / Gemini: Generate and verify questions.
  • NinjaMan / ZapCore: Catalog sync and the debit and credit integrator.

Connections

  • Flutter + WebViews to FastAPI: join room.
  • FastAPI to PostgreSQL: wager.
  • FastAPI to Redis: cache.
  • Redis to Celery + Flower: beat.
  • FastAPI to IDfy KYC: KYC.
  • FastAPI to SabPaisa / StanzaPe: deposit.
  • Celery + Flower to OpenAI / Gemini: questions.
  • Flutter + WebViews to NinjaMan / ZapCore: WebView.
  • The Flutter app and game WebViews call FastAPI. Postgres holds rooms and wallets. Redis is the Celery broker.
  • Celery times rooms, generates questions, and delays prize payout.
  • IDfy handles KYC. SabPaisa handles deposits. OpenAI and Gemini write questions. NinjaMan and ZapCore run in iframes.
  • Timed rooms cover solo, peer-to-peer, and teams, with wallet wagers and delayed prize payout via Celery.
  • A bot engine with correctness and speed tendencies auto-joins so matchmaking stays full.
  • The Flutter UI is driven by ui_configuration returned from verify-OTP.
  • PostgreSQL. Rooms, wagers, KYC, and wallets.
  • Redis. Celery broker and an optional API cache.
  • Celery + Flower. Timed rooms, generated questions, and delayed payout.
  • IDfy KYC. PAN and Aadhaar OCR.
  • SabPaisa / StanzaPe. Wallet deposits and webhooks.
  • OpenAI / Gemini. Generate and verify questions.
  • NinjaMan / ZapCore. Catalog sync and the debit and credit integrator.
  • FastAPI logoFastAPI
  • Python logoPython
  • Celery logoCelery
  • PostgreSQL logoPostgreSQL
  • Redis logoRedis
  • Kafka logoKafka
  • Flutter logoFlutter
  • OpenAI logoOpenAI
  • Gemini logoGemini
  • IDfy
  • SabPaisa
  • Flower

Logos are Simple Icons shipped with this site. Where a brand mark is unavailable, the name is shown on its own.

Wallets, KYC and tournaments are modelled properly. Mock wallet paths are labelled so we never confuse a pilot with live settlement.

Product owner, gaming

Players can enter a tournament without our team babysitting every step. Support tickets on “where is my balance?” dropped sharply.

Growth lead, entertainment apps
  • Guest users and paying users are distinct. KYC gates withdrawals.
  • Third-party game iframe debit and credit must be reconciled through the Ninja integrator and ZapCore filters.

All projectsDiscuss a projectServices