Profile01
About
I build web software that stays legible after the people who wrote it have moved on. Mostly TypeScript, mostly on the seam between the interface and whatever it talks to.
Background
My default is to make the boring choice and spend the saved effort on the part that is actually hard. That usually means a small dependency list, a schema that refuses invalid states, and tests around the two or three behaviours that would be expensive to get wrong.
I care about the parts users feel but rarely name: how fast the first paint is, whether the keyboard gets you anywhere the mouse does, whether an error message tells you what to do next.
Before this I did TODO. Outside of work I do TODO.
How I work
- Boring by default
- Novelty is a budget; spend it where it buys something
- Types at the edges
- Parse once, trust the shape after
- Keyboard parity
- Every mouse path has a key path
- Delete before adding
- The cheapest code is the removed kind
Stack
- Languages
- TypeScript, Go, SQL
- Frontend
- React, TanStack, Tailwind
- Backend
- Node, Postgres, Redis
- Infra
- Docker, GitHub Actions, Fly.io
At a glance
7yrs
ExperienceItaly
Based inJZ
Signature