May was a month of two threads that ended up being connected in ways I did not expect.
TypeScript 📘
I started learning TypeScript properly. Not for a specific project, but as a deliberate investment in getting better at web development. After months of bouncing between Swift, CSS animations, and site work, I wanted to commit to one language and go deeper rather than wider.
TypeScript felt like the right call. It sits at the centre of everything I want to build on the web, and understanding it well means the next project starts from a stronger foundation instead of the usual scramble of learning while building.
Prototyping Game UX with Code 🎮
This is the one that has been occupying most of my thinking this month.
Working in games, I have always known that traditional prototyping tools have a blind spot. Figma can show you how an interaction looks and roughly how it flows. But it cannot show you how that interaction holds up under pressure. And in PvP games, pressure is the entire context.
Take something like a passing mechanic in a football game. A Figma prototype can demonstrate how the input might work, what the UI looks like, where the feedback appears. But it cannot replicate the moment where a player has two seconds to execute that pass with an opponent closing in, where the input needs to feel right not in isolation but in the middle of chaos. That gap between demonstration and simulation is where design decisions fall apart or hold together, and traditional tools simply cannot get there.
So I started using Claude Code to build functional prototypes directly in the codebase. I have built two versions at work so far. They aren’t shippable as they weren’t meant to be. The point is that they can mimic the interaction, the pressure, and the real scenario at a fraction of the development cost in terms of time. Anyone in the team can then test whether an interaction actually works under the conditions it will be used in, not just whether it looks correct in a static flow.
I am currently trying to figure out how this approach fits into a broader UX pipeline. There is something here, I am sure of it. The question is whether it becomes a standard step in the process or stays as a tool I reach for when Figma is not enough. Either way, it has already changed how I think about what a prototype is supposed to prove.