How we built “TypeScript at Scale” — and what I got wrong the first time.
This talk came from eighteen months of watching a mid-size codebase slowly become impossible to refactor. Not because the developers were bad — they were excellent — but because the TypeScript patterns they'd chosen in year one had invisible load-bearing assumptions that broke under team growth. What follows is what we changed, and why.
The talk ended up being about three things at once: the patterns themselves, the team dynamics that make you need them, and the moment you realise your types are doing work you should be doing in product design. That third thing surprised me when I found it during prep.