Back to Portfolio
Mobile Game & Logic App

Numbers for Two 🦊🎲

A beautiful, premium, and completely ad-free multiplayer number guessing game of deduction and strategy. Challenge friends online, play locally, or test your skills against our smart AI bot.

Numbers for Two cover featured
My RoleIndependent Creator
StatusLive on Play Store
ArchitectureOffline-First / Real-time
Core TechFlutter, Dart, Supabase

The Journey: From Terminal script to Production Game

Every advanced software engineer starts somewhere. Numbers for Two was born during my early learning journey. It started simple: a basic command-line Python script executing in the terminal. The gameplay was minimal: guess a random number, receive HIGHER/LOWER suggestions, and guess again.

As I grew into mobile app engineering, I decided to breathe life into this basic concept. I migrated the codebase to Flutter & Dart, implementing a local Pass & Play mode so two people could compete by passing the phone back and forth.

The final engineering leap was building a full-scale online multiplayer server architecture. Using Supabase for authentication and WebSockets-driven real-time database channels, I developed custom online lobby rooms, public matchmaking queues, profiles leveling (XP), daily puzzle attempt tracking, and cosmetic theme customizations. Today, it stands as a fully finished product on the Google Play Store—completely free and ad-free.

Engineered Game Modes

Solo Mode illustration

AI Solo Battle

Offline gameplay against a smart bot. The AI dynamically adapts its guess metrics based on game level thresholds.

OFFLINE PLAYABLE
Pass & Play illustration

Pass & Play

Classic face-to-face board game style on a single device. Features privacy hide-guards to block target numbers.

LOCAL MULTIPLAYER
Online Mode illustration

Online Matching

Real-time WebSocket lobbies. Share a room code or enter automated matchmaking queues to compete globally.

SUPABASE CHANNELS

In-Game Interface Showcase

Active Battle Screen

Active Battle Screen

Clues shrink boundaries live on the smart range dial.

Daily Slot Spin

Daily Slot Spin

Spin the reels for bonus multipliers and attempt updates.

Visual Color Palettes

Visual Color Palettes

Choose from curated styles like Pastel Dream or Neon Cyber.

Private Multiplayer Lobbies

Private Multiplayer Lobbies

Share simple numeric room codes to connect instantly with friends.

Profile Levels & Gems

Profile Levels & Gems

Accumulate experience points, level up, and purchase custom theme files.

Advanced Game Features

Smart Range Tracker

The guess boundaries slide automatically as clues arrive. An active slider visualizes what values are left, reducing cognitive overload and boosting logic-solving speed.

Daily Challenges & Streaks

A daily puzzle mechanic built with randomized seed generators. Spin slot reels, trade earned in-game gems for extra lives, and maintain your streak.

XP Leveling & Gem Store

Custom player profile progression system. Earn experience points from wins, level up, and accumulate shiny gems to purchase and unlock thematic color palettes.

Custom UI Color Themes

Engineered with customizable style providers. Users can swap between Pastel Dream, Neon Cyber, Warm Ochre, and Minimal Dark styling dynamically.

Behind the Code

The game runs on a robust backend architecture. Supabase handles user sessions and cloud synchronizations. Multiplayer state sync utilizes Supabase Real-time database channels (WebSockets), establishing room handshakes, sync validation, and matchmaking in under 2 seconds. The client operates under a strict Provider structure, handling local SQLite caches for offline profile access and local games.

Flutter & DartSupabase IntegrationProvider ArchitectureWebSockets SyncSQLite Local DBPython Prototype