Game of Life Workshop
I designed and gave this workshop to teach frontend engineers at iO how to evolve a simple interactive app into a production-minded system through deliberate, staged trade-offs. Using Conway’s Game of Life as the vehicle, the workshop moves from a straightforward implementation to performance engineering techniques, and finally to a local-first architecture with conflict-free data sync concepts.
The curriculum is structured in three progressive stages so participants can feel the constraints before introducing optimizations. Stage 1 focuses on core game logic and canvas rendering. Stage 2 introduces scale-oriented techniques like sparse data structures, viewport-aware rendering, and worker-based computation. Stage 3 shifts to local-first thinking with Automerge, IndexedDB-backed persistence, and offline-capable collaboration patterns, all while staying client-side and avoiding server setup complexity.
A key goal was to make advanced architecture practical and teachable. Instead of presenting performance and local-first as abstract theory, the workshop turns them into concrete implementation steps with clear before/after outcomes. The result is a hands-on learning path that builds intuition for correctness, speed, and resilience in modern frontend applications.