Multiplayer Puzzler
A real-time collaborative jigsaw puzzle game
A real-time collaborative jigsaw. My wife Caity loves puzzles; our cat Mae loves carrying the pieces off around the house, so physical ones don’t survive the coffee table. This lets Caity on her iPad and me on a laptop work the same board: pick an image and a piece count, share a URL, see each other’s cursors live, and watch snapped pieces merge into groups. Pieces are real bezier-curve geometry that interlocks like an actual jigsaw, and a server-side ownership lock keeps two people from fighting over the same cluster.

Under the hood it’s React and PixiJS talking to Express and Socket.IO, with Postgres and shared Zod schemas keeping everything honest.
It’s a finished prototype: it does the job it was built for and isn’t going anywhere new from here. Not deployed publicly (a server plus Postgres turns a household tool into an infrastructure project I don’t care to operate), so it runs locally through Docker. Mae has yet to find a workaround.
A real-time collaborative jigsaw puzzle game, built because our cat has opinions about physical puzzles
read the writeup →