Tech Lead · Software Architect · Agentic AI EngineerOpen to new work · İzmir, Turkey · UTC+3

ChessDuello

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

Live sync iOS Android
What ChessDuello does, drawn

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

One address reaches him directly

Talk to Emre →

This is one engagement of several, and the roster compares them all on one ruler.