Game of Life
Draw a pattern, press play, and watch it evolve or die out.
IntermediateWeb appCreative6–14hAI-buildable 5/5no setup
Conway's Life with a paintable grid, adjustable speed, and a library of known patterns. Simple rules, endlessly watchable, and a real performance exercise once the grid gets large — the naive full-grid scan per generation stops being viable quickly.
UI
Logic
Useful
Hosting · Free forever
Deploys free on GitHub Pages, Cloudflare Pages or Vercel Hobby.
Deploy it and share a link.
Core features · 7
- A grid where cells toggle by click and drag
- Play, pause and single-step controls
- Generation speed is adjustable live
- A generation counter and live-cell count
- A library of known patterns can be stamped onto the grid
- Edges either wrap or stay bounded, chosen explicitly
- Randomise and clear controls
The interesting part
- Computing a generation without reading partially-updated state
- Performance on large grids, where only live cells and their neighbours matter
- Painting cells by drag without skipping any on fast movement
Once it works
- Detect still lifes and oscillators automatically
- Add zoom and pan across a much larger grid
- Add pattern import from standard formats
Suggested stack
reacttypescripttailwindcanvas-api