Skip to content

Design principles

Let the structure explain the intent.

Principles I value when building tools that can evolve.

Make intent visible through types

I prefer TypeScript for application code and explicit types at input and result boundaries.

Keep responsibilities focused

I aim for handwritten files under 120 lines, split by understandable responsibility. I do not compress code to satisfy a line count; generated and third-party code have separate constraints. This is a preference, not a claim that every existing file meets it.

Let names explain the role

I use meaningful directory and file names so responsibilities can be followed before opening the code.