Hey, I'm Zubin
I build for the web and write about what I learn along the way. React, TypeScript, Three.js, game-dev, and AI-native engineering.
Projects
See all →- Mathness!
It's a PWA made for a phone in portrait. You can play it in a desktop browser too. Add it as a bookmark on your phone. You pick +, −, ×, ÷, or mixed, then race four-choice questions. The timer starts at two minutes and you get three lives. A miss kills the streak. Keyboard mode puts the four answers on S, F, J, and L, the home-row keys under your hands, so you hit a choice without looking down.
- learn-eth
You place hash, cipher, circuit, and wallet nodes on a canvas and draw wires between them. Values update on the edges as you edit. Six starter graphs come with it. One turns a text block into a hash chain. Another builds an Ethereum address from a twelve-word phrase. Inspired by Austin Griffith's eth.build, which I still think is amazing. I built it on React Flow.
- Roll It
WASD rolls a ball over floating tile islands. Collect 24 gems before the clock hits zero. Five levels ship in the player. Rapier runs the physics. A sketch shader inks the world. When the ball rolls behind a wall or a tree, that scenery turns see-through. I built it on React Three Fiber and Three.js.
Recent posts
See all →Soundscapes for Web Games: A Pluggable Howler Implementation, Part 2
12 min read
The soundscape engine is one class under a hundred lines. A six-function adapter is the seam.
Soundscapes for Web Games: The Layer Beneath Your SFX, Part 1
7 min read
Web games sound flat because they treat audio as event SFX. A soundscape is the layer that fills the silence.
switch(true): The Stylish Way to Simplify Complex Conditionals in React
4 min read
switch(true) is an ordered list of boolean cases. First true wins. Use it when precedence matters. Use a lookup, or a normal switch, when it does not.
Crafting Quality Code with Conventional Comments
4 min read
A code review comment needs two things: what kind of feedback this is, and whether it blocks the merge. Conventional Comments is a prefix that says both.
To Yak Shave or Not: The Art of Procrastination in Software Development
4 min read
Yak shaving is a dependency chain, not a personality flaw. Bike shedding is a meeting. Shave it, stash it, or skip it.