← all cases · IT Battle

A head-to-head quiz for IT professionals — in real time.

IT Battle is a mobile game where IT professionals pick their role and go one-on-one: who can answer questions about their specialty faster and more accurately. Matchmaking pairs two players, a timer puts pressure on both, the score updates live, and points go into a ranking that moves you up the overall leaderboard. We built the app and the entire backend on Firebase — no separate server.

real-time duels stack · Flutter + Firebase release build v1.0.8

01 · Idea and goal

The idea is simple and competitive: test yourself in your own field against a live opponent. Not a solo quiz on the couch, but a duel — you pick a role (systems analyst, backend developer, QA, frontend and so on), the system finds you an opponent in the same specialty, and you race to answer questions. Whoever scores more over three rounds takes the points and a spot in the ranking.

The goal: build a full-fledged multiplayer game with sign-up and sign-in, opponent matching, a synchronized timed battle, scoring, per-role rankings, a profile, friends and invitations — all without a separate backend server, entirely on Firebase. That makes the project cheaper to maintain and lets it scale on its own.

02 · What was hard

  • A synchronized two-player battle without our own server. Two phones have to see the same match: the same question, the same timer, the same score — and react to the opponent's moves instantly. It's all built on Cloud Firestore listeners: a battle session is a document, both clients listen for changes and update the screen live. No server was needed for this.
  • Matchmaking by role. A player has to be paired with an opponent from the same specialty and roughly the same level, and if no match is available right now, kept in a queue with a "Looking for an opponent…" status — without freezing the app. Matching and creating the game session is separate logic on top of Firestore.
  • Fair scoring and anti-cheat on timing. Points are awarded for accuracy and speed, and the scoring rules live in settings so they can be changed without rebuilding the app. It was important that a round's result couldn't be faked on the client — the battle state is kept in the shared session, not in one phone's memory.
  • Rankings per role, not just one overall. Each player has their own score and stats in every role (wins, points, match history), plus a global leaderboard. It's a carefully designed data structure in the user profile that updates after every battle.
  • Sign-up, nicknames and moderation. Email sign-up with verification and code-based sign-in, real-time nickname changes, nickname validation and a banned-words filter — so nothing inappropriate shows up in the public ranking or invitations. Players upload their own avatars, with caching and aspect-ratio normalization.

The core engineering challenge: create the feel of a live one-on-one match using Firebase alone, without a separate backend — cheaper to maintain and easier to scale.

03 · How the game works

Role and opponent search

The player picks their IT specialty — systems and business analyst, developers (Android, iOS, Java, Python, frontend), QA engineer, project manager and others. Then they hit "Play": search for a random opponent or invite a friend with a link. While matching is in progress, a live search status is shown.

The battle itself

Two players, three rounds, a shared timer. The battle screen shows both avatars, the current score and a round indicator. A question about the chosen specialty appears with multiple-choice answers; whoever answers faster and more accurately takes the lead. Right and wrong answers are highlighted immediately, and the match state stays in sync for both players.

Battle screen: a specialty question with answer options and a timer
A battle round: a specialty question, four options, a timer at the top — the right answer lights up green and the wrong one red, in sync for both players

Rankings and profile

After a battle, points count toward the standings. The leaderboard shows the top players and their points; the profile shows personal match stats (wins and losses against specific opponents) and the per-role ranking. Friends, sent and received invitations, and game history are here too.

Leaderboard: top players with points and the player's own position
Ranking: top players with points and the player's own place in the overall standings — stats are also tracked separately for each role

Account and settings

Email sign-in with verification, choosing and changing a nickname with validation, avatar upload, sound and music, and inviting friends by link. The app description sums it up briefly: an intellectual battle of minds with rankings, tournaments and a regularly updated question bank.

04 · Result

Roles 11+IT specialties
Format 1 : 1three timed rounds
Backend Firebasereal-time, no custom server
Platforms iOS + Androidone Flutter codebase

The result is a complete multiplayer game: sign-up and sign-in, role selection, opponent matching, a synchronized timed battle, scoring, per-role rankings, a profile with stats, friends and invitations. The version 1.0.8 release build for iOS and Android comes from a shared Flutter codebase.

The key decision: everything online runs on Firebase. Cloud Firestore handles matches, points and rankings in real time, Auth handles sign-in, Storage holds avatars, and Analytics tracks player behavior. There's no separate server to administer and scale by hand.

05 · What's next

The game keeps evolving: more questions for each role and level, tournaments and competitions between players, match history and chat, and fine-tuning the scoring through server-side settings without rebuilding the app. The Firestore data structure makes it possible to add roles, modes and rules without rewriting the core.

The app builds for iOS and Android from a single Flutter codebase, and the entire server side is managed Firebase services. So content updates (questions, scoring rules) roll out without an app store release, and new screens ship as a regular app update.

Similar project

Need a real-time game or an app on Firebase?

Multiplayer games, quizzes and apps where everything runs live without a separate server — on Firebase they're quick to build and cheap to maintain. In your first message, include a link to this case and describe your idea — we'll send you an idea review with the architecture and an estimate within 24 hours.