❯ ls ~/games → brickyard/ rinse-rush/ kebap-haus/ micro-24/

I build browser games and interactive 3D — playable from a link, on any laptop or phone.

From the first playable prototype to a polished, tested release. The same engineering I bring to production web software — fast pages, clean architecture, automated tests — applied to games people actually enjoy.

Brickyard: a half-built house on a baseplate, the instruction booklet open on the left and the parts tray below
// Building from the booklet: glowing guides show where each piece goes.

9.6 KB

Rust → WebAssembly brick engine

60 fps

WebGPU, with a WebGL 2 fallback

17 / 17

sets built end-to-end by an automated playtest

0

audio files — every click is synthesised

// case study

Brickyard, under the hood

A brick-building game in the browser. Buy a set from the catalog, open the box, and build it step by step from its instruction booklet — then watch it move into your town.

  1. 01

    An engine that knows the rules

    A small Rust engine compiled to WebAssembly tracks every stud: collisions, what clicks onto what, what falls when you knock a brick out — and it writes each set's instruction booklet automatically.

  2. 02

    Shaders written once, running everywhere

    Materials are written in three.js TSL: plastic with textured slopes, glass, glowing guides, a wooden table. They compile to WGSL on WebGPU and to GLSL on the WebGL 2 fallback.

  3. 03

    Feel and sound

    The unboxing is a tiny rigid-body simulation; landing sounds come from the actual impacts. The brick click-clack is synthesised from the resonances of a hollow plastic brick, so no two clicks sound the same.

  4. 04

    Tested like production software

    A playtest bot opens every box, builds every set with the booklet in a real browser and writes a visual report — box art, unboxing, booklet pages, the finished model, frame times and console errors.

The set box tipped over, pieces pouring out onto the baseplate
Unboxing: pieces pour out, tumble and settle — real physics, real impact sounds.
A booklet page with orange arrows pointing at pieces that attach from underneath
Generated instructions, with arrows for pieces that click on from underneath.
The catalog with a featured set and a shelf of trending sets
A catalog of 17 sets with a weekly featured deal and coins to earn.
A town of finished sets on green lots with roads and street signs
Every finished set moves into your town, grouped into streets.

// more games

Rinse Rush, Kebap Haus and Micro/24

// what I build

Games and 3D for brands, products and people

Brand & campaign games

A short, replayable game that carries your brand — for a launch, a holiday, an event or a playable ad. Shareable as a link, embeddable anywhere.

Interactive 3D showcases

Products, spaces and architecture people can explore, configure and play with in the browser, like Micro/24.

Kids & learning games

Friendly controls, guided steps and instant feedback — the patterns behind Brickyard's instruction booklet and glowing guides.

Game features for your product

Mini-games, rewards, 3D viewers and playful onboarding built into an existing React or Next.js app.

// how I build

From prototype to launch

  1. 01 · days

    Playable prototype

    You get a link to something you can play, not a slide deck. We decide what's fun with the game in our hands.

  2. 02 · week 1–2

    Rules & engine

    Game logic lives in its own tested module; heavy lifting moves to Rust → WebAssembly when it pays off.

  3. 03 · ongoing

    Look, feel & sound

    Custom shaders, animation and synthesised sound, tuned on real laptops and phones until it feels right.

  4. 04 · every change

    Automated playtests

    A bot plays the whole game in a real browser after each change and produces a screenshot report, so nothing ships broken.

  5. 05 · launch

    Ship & grow

    Static hosting on a global CDN. New levels, sets and seasons slot in without a rewrite.

  • Three.js
  • WebGPU
  • TSL shaders
  • WebGL 2
  • Rust
  • WebAssembly
  • WebAudio
  • TypeScript
  • React
  • Next.js
  • Node.js
  • Vercel

// ways to work

Pick what fits

1–2 weeks

Prototype sprint

  • +A playable prototype on a private link
  • +The core loop proven on real devices
  • +A plan and estimate for the full build

4–12 weeks

Full game or 3D experience

  • +Design, build, sound and polish
  • +A new playable build every week
  • +Automated playtests and launch on your domain

ongoing

Content & care

  • +New levels, sets or seasonal events
  • +Performance tuning and analytics
  • +Updates as browsers and devices move on

// faq

Questions people ask

Does it work on phones?+

Yes. Games use WebGPU where the browser has it and fall back to WebGL 2 everywhere else, with touch controls and layouts tested at phone size.

Do players need to install anything?+

No. It's a link. It can live on its own domain, on a page of your site, or inside a campaign.

How big and fast are these games?+

Brickyard's whole rules engine is 9.6 KB and it runs at 60 fps; its only dependency is three.js. Small, fast pages are part of the job, not an afterthought.

What do you need from me to start?+

An idea and who it's for. A rough sketch, a reference game or a brand guide helps; the first prototype will tell us the rest.

$ ./contact --start-project

Have a game or a 3D idea? Let's talk.

Open to freelance frontend and browser-game projects — from a first prototype to a full launch.