The DrawLa Devlog

DrawLa is a real-time multiplayer drawing game built by a very small team: you sketch a word in the browser, a neural network guesses it live, stroke by stroke, and up to eight players compete on the same canvas rules. This devlog is our engineering notebook – the architecture decisions, the numbers, the design experiments, and the rejections. All first-hand, with real code from the project.

Why write it in public? Because when we started, the posts we learned the most from were exactly this kind: honest, specific write-ups by small teams shipping multiplayer games on the web. Consider this our contribution back. The game itself is free to play at drawclash.com/play; the German-language drawing tutorials it inspired live in the Zeichenschule.

Posts

The stack, in one paragraph

Server: Python, FastAPI with native WebSockets behind Uvicorn, deployed on Google Cloud Run. Recognition: a 345-class sketch classifier exported to ONNX Runtime, served in-process next to the game loop. Client: Flutter Web, one codebase for desktop and mobile browsers. Rounds, scoring, effects and bot players are all server-authoritative; the client renders and predicts nothing on its own. The details – and the reasons – are in the posts above.

See it running

The fastest way to understand any of these posts is a single round of the game they describe.

Play DrawLa