frontend

Why I Still Use TypeScript (Even When It Slows Me Down)

Thoughts from the intersection of code, craft, people, and progress.

Speed isn’t always the goal—confidence is.

TypeScript occasionally makes a small change take longer, usually because it has noticed something I was hoping not to discuss. That friction is often worthwhile when it turns hidden assumptions into clear contracts and makes later changes less adventurous.

TypeScript is most useful to me as a communication tool. A good type explains what the system expects and makes an impossible state awkward to express, without pretending runtime uncertainty has disappeared.

What makes this interesting is not the fashionable part. It is the effect on the person doing the work after the initial excitement has worn off.

Prefer the thing that survives contact

Front-end work has a habit of looking simple from a distance. The browser then introduces real content, small screens, old devices, keyboard navigation and somebody using the product in a way nobody drew in the design file.

That is why I favour choices that are easy to inspect. Start with semantic HTML, let CSS do the layout work it was designed for, and add JavaScript where it creates genuine value. Cleverness is occasionally useful; legibility is useful every day.

The best front-end code does not show off. It makes the interface feel obvious.

The web is wonderfully forgiving, but users should not have to rely on that forgiveness. Build from sturdy foundations and the interesting parts become much easier to enjoy.

The details will change from project to project. The underlying habit of paying attention travels well.