Skip to content
Uses

The things I actually reach for

Not an affiliate page. Just what survives on my machine after the novelty wears off.

What I actually type into

  • VS Code

    not because it is best — because the JS tooling assumes it, and fighting that costs more than it wins

  • Postman + Swagger

    the contract gets written and poked before a handler exists. Half the integration bugs I do not have started here

  • iTerm2 + zsh

    git, nvm, and a prompt I have stopped tinkering with

What I reach for by default

  • Node.js + TypeScript

    for anything shaping data for a client. Types at the boundary or the boundary is a rumour

  • Next.js

    server components mean the fetch waterfall happens where the data lives, not over the wire

  • PostgreSQL first, Mongo when earned

    if the shape is known, take the constraints. Schemaless is a decision to enforce the schema in application code instead, and that code is always worse

  • gRPC internally, HTTP at the edge

    binary and typed where both ends are mine; boring and cacheable where they are not

Opinions I will defend

  • Keycloak over rolling my own

    auth is a place where being clever is a liability. SSO and MFA are solved; my version would be worse and I would own it forever

  • Migrations in four steps, not one

    add, dual-write, switch reads, drop. Slower to plan, and it is why nobody notices a schema change

  • Docker locally

    less about deployment than about deleting "works on my machine" as a sentence anyone can say

  • Jira

    genuinely not my favourite. It is where the work lives, so I use it well rather than complaining about it in standup

Open to new opportunities

Let's build something worth maintaining

Have a platform problem, a team that needs a hand, or just want to argue about API design? My inbox is open.