City Blocks
A cozy 3D merge-puzzle city builder — 11 hand-built Three.js worlds inside React Native.

The product
Merge three buildings into the next tier and grow a floating island from campsite to world capital — rendered as a living Monument-Valley-style diorama with day cycles, fog and per-world ambient systems.
Under the cozy surface is serious engineering: a pure-TypeScript game engine with 358 tests and zero React imports, procedural low-poly building geometry where each building is a single draw call, seeded deterministic RNG for fair daily challenges, and 61 sound effects synthesized entirely from one script — no licensed assets anywhere.
Under the hood
THE ENGINEERING
- 01
Pure engine/render split: game logic is 100% unit-tested TypeScript with no React Native dependencies
- 02
11 biomes, each a distinct ~1,500-line Three.js world sharing one config-driven architecture
- 03
Procedural building geometry — 10 tiers with doors, balconies and domes, one draw call each
- 04
Every sound procedurally synthesized: 61 WAVs from a 57 KB script, zero audio licences
- 05
GitHub Actions builds and publishes an installable APK on every push
In the product





Next case study
Polestark →