ChessDuello

A cross-platform multiplayer chess app: SwiftUI on iOS and macOS, Flutter on Android, with real-time match sync.

Freelance / Contract · INSTALL AND ACCOUNT REQUIRED

BUILT SOURCE · RESUME

Built a cross-platform multiplayer chess app — SwiftUI on iOS and macOS, Flutter on Android — over a Supabase and Deno backend.

Match sync is real-time over WebSocket. The interesting constraint is the network that is not there: a phone loses signal mid-game, and a move made offline has to arrive in order once the connection returns. So the API layer sits behind an offline queue, and the queue is what the client talks to.

The offline queue boundary A client plays moves into an offline queue. The queue holds them in order — move one, two, three — while the link to the server is broken. When the signal returns the same three moves leave the queue in the order they were made, and only then does the server see them. CLIENT a move is made OFFLINE QUEUE 1 2 3 held in the order they were made signal lost SERVER sees them only once ON RECONNECT 1 · 2 · 3, IN ORDER

Work like this

This is one engagement of several, and the roster compares them all on one ruler. One address reaches him directly.