Own product · Competitive Trivia Game: Flutter App + Bale Bot on One Engine
Quizy
A competitive Persian trivia game played both as a Bale messenger bot and as a Flutter Android/PWA app. Both run on one async Python engine, so app players and bot players share the same matchmaking queues and can play each other live.
- My role
- Sole developer and designer: game design, Flutter app, Python backend, admin, ops
- Year
- 2026
- Built with
- Flutter & Riverpod · FastAPI (Python 3.11) · PostgreSQL · Redis
By the numbers
- 2 Play surfaces on one engine
- 6 Game modes
- 39 App routes
- 94 API endpoints
The Challenge
The game started as a Bale bot with a live player base. A native app needed to reach players outside the messenger without splitting the community: every mode, wallet, leaderboard and duel had to work the same on both surfaces, and running bot games could never be interrupted by an app deploy.
The Approach
I kept the server as the single source of truth: one Postgres, one Redis and one game engine. A FastAPI gateway serves the app over 94 endpoints. Cross-surface duels go over a Redis RPC seam, so an app player can be matched with a Bale player in real time.
The Flutter client is a thin, feature-organised Riverpod app. It uses WebSocket pushes for turn-based games, a version gate for forced updates, Cafe Bazaar in-app billing verified server-side, and a token-based arcade design system with full RTL and Persian digits.
The Outcome
The app is live on Cafe Bazaar and as a web app, alongside the original bot. It has six play modes, leagues and cups, missions, friends and chat, a shop with real-money coin packs, and a web admin that shows live games from both surfaces on one dashboard.
What I built
-
Cross-platform play: Flutter app and Bale bot share queues, wallets and leaderboards
-
Six modes: turn-based, real-time duel, solo endless, daily, weekly and story map
-
Async Python backend: FastAPI gateway, SQLAlchemy on Postgres, Redis matchmaking
-
Cafe Bazaar in-app billing with server-side RSA verification
-
Leagues, cups, missions, daily chest, friends, chat and QR invites
-
Web admin with live games, analytics, funnels, finance and moderation
Built with
More work
Interested in working together?