Hey, I'm Zubin. I build for the web and write about what I learn along the way.
Writing
-
May 11, 2026
Soundscapes for Web Games: A Pluggable Howler Implementation - Part 2
Part 2 of the soundscape series. A ~150-line engine-agnostic class, a six-function bus adapter contract, and host bindings for React, Phaser, and imperative three.js.
-
April 20, 2026
Soundscapes for Web Games: The Layer Beneath Your SFX - Part 1
Why most web games sound flat, and what a soundscape system actually is. Part 1: the concept, the three knobs that buy the most realism, and the anti-patterns to avoid.
-
October 17, 2023
switch(true): The Stylish Way to Simplify Complex Conditionals in React
A practical guide to the switch(true) pattern for collapsing tangled if-else chains in React. When to reach for it, when to avoid it, and how it compares to lookup maps.
-
October 10, 2023
Crafting Quality Code with Conventional Comments
A practical guide to using Conventional Comments in code reviews: the labels, the decorators, when to use which, and copy-paste examples that move PRs forward instead of stalling them.
-
September 19, 2023
To Yak Shave or Not: The Art of Procrastination in Software Development
A practical guide to yak shaving: when the detour is worth it, when to stash it, and how it differs from bike shedding.