About

The journey

How I think

What I value

  • Sharp type boundaries over defensive runtime checks
  • Reading the spec before writing the line
  • Names that survive a year, not a sprint
  • Decisions named explicitly, alternatives named explicitly
  • Performance as a perception problem, not a benchmark problem

Principles

  • Subtraction is design

    What you don't ship matters more than what you do.

  • Type-safe end to end

    True at the database, the API, the component. A bug class removed.

  • Performance is perceptual

    LCP, CLS, INP. The metrics that map to how an interface feels.

  • Accessibility is layout

    Reading order, focus, contrast, motion. Decisions made at the start.

  • Honest scope, exact decisions

    Name your slice. Name the alternative you rejected.

What's next