







AI changes how you analyze codebase quality.
A lot of nitpicky measures of "quality" (tabs vs spaces, "I don't like for...of loops!") barely mattered in the past. Now they matter not at all.
But quality factors like good domain objects, written in clear language, likely matter more than ever.
Since we program in natural language, the "vocabulary" of our codebase is the layer that integrates our intent with the latent space represented by the code.
Good language allows us to reliably steer these systems as we speak. Our words latch onto the language that exists.
I've built a variety of tools that take this Vocabulary-First approach to system design. I "lint" vocabulary during review. And when I write specs I focus on the name of data objects and function signatures.
It's easier to think about and the outputs seem better.


















