4
Difficulty Levels — 30 to 60 Cells Removed Per Puzzle
ELO
K=32 Standard Rating Formula — True Skill Progression Tracked
WebSocket
Simultaneous Game Launch Pushed to Both Players on Challenge Accept
The Problem

Every Sudoku App Is a Solo Puzzle Timer — There Is No Real Competitive Multiplayer

Every existing Sudoku app offers solo puzzle solving with a timer. None offered head-to-head challenges where two players race on the same grid, or ELO-rated competitive play that tracks skill level over time, or real-time tournament brackets with social friend invites and live notifications. Building competitive multiplayer required solving several technical challenges simultaneously: shared puzzle state between two players, simultaneous navigation triggers on challenge acceptance, a fair matchmaking system for tournament brackets, and a persistent social graph with bidirectional friend relationships — all delivered in real time to a mobile app.
Our Solution

Backtracking Puzzle Engine + ELO System + WebSocket Challenge Architecture

We designed Sudoku as a full-stack platform: a custom puzzle engine and real-time WebSocket backend, paired with a polished React Native mobile app with full game UI. The advanced puzzle generation algorithm guarantees a valid, solvable puzzle at every difficulty level. The SudokuGridMoves model stores grid state as JSON — the default=True record holds the initial puzzle, and additional records capture history. GameProgress stores ELO and XP per completed game, with the ELO formula applied at game save time. The InvitationStatus WebSocket consumer connects each user to a personal room identified by their user ID (wss://{host}/invite/{user_id}/). A single consumer handles all event types: friend invites, challenge sent, challenge accepted, tournament updates. The channel_call(cid, event, data) utility sends to any group from anywhere in the Django codebase — enabling challenge acceptance to fire WebSocket pushes to both player rooms simultaneously. The social friend system tracks both pending and accepted relationships — surfacing the connection regardless of who sent the original invite. Tournament2 supports named scheduled tournaments with organiser-only controls, player caps, start/duration scheduling, and winner tracking.
Architecture
Django 5 + DRF API. Django Channels WebSockets (InvitationStatus consumer, per-user rooms). JWT authentication with email + Google + Facebook OAuth. Celery + Redis async tasks. PostgreSQL + JSONField for grid state. Custom backtracking Sudoku algorithm. ELO formula (K=32) and two-phase XP level curve. React Native (iOS + Android) + React Navigation. Dark theme with Quicksand font and brand green (#50A65D).
The Result

Competitive Social Sudoku — ELO Rankings, Real-Time Challenges, and Live Tournaments

Sudoku transformed a traditionally solo puzzle experience into a competitive social platform with real ELO-rated skill progression, head-to-head challenges with simultaneous game-start synchronisation, and scheduled live tournament brackets with WebSocket real-time updates. The custom puzzle generation algorithm guaranteed valid, solvable grids at every difficulty level — no pre-generated puzzle library required. Head-to-head challenges fire WebSocket pushes to both players simultaneously on acceptance, navigating both apps to the same shared puzzle board at the exact same moment. The two-phase XP curve gave players rewarding early progression that naturally steepened at higher levels — creating long-term engagement loops that solo timers cannot replicate. The bidirectional friends system let players challenge their network directly, and the ELO rating visible on every player's profile created genuine competitive motivation to improve. Named tournaments with organiser controls, player caps, and prize tracking gave the platform a structured competitive season format that solo puzzle apps cannot offer.
Want scalable architecture and measurable results like this?
Book an Architecture Audit
Build Something Like This
// free scoping call · senior engineers · no commitment

Project scope, timelines, and architecture options in one 45-minute session.

Start a Project
More Work

Related Projects

Django Material UI OpenAI GPT-4o
Paaing: Recursive People Also Asked Research SaaS — 64+ Questions Per Keyword, AI Articles Instant
Get 64+ PAA questions per keyword across 200+ Google country domains — recursive expansion, interactive tree view, and one-click AI article generation. 10x more long-tail data than standard SEO tools.
View Details
Django Docker LangChain
RingFront Ai: Deploy a Business-Trained AI Chat & Voice Assistant on Any Website in Minutes
Deploy a business-trained AI chat & voice assistant on any website in minutes — RAG-powered, zero hallucinations, fully customisable widget, and no ML expertise required.
View Details
Django OpenAI GPT-4o PostgreSQL
Brand Identity: Build Your Complete AI Brand Guide in Under 2 Hours — No Consultant Required
Build a complete brand guide in under 2 hours — no consultant required. Brand Identity automates keyword research, logo variants, media library, and AI brand voice profiles from your website.
View Details