← Writing

The frontend is never just frontend

You can't separate the UI from the system it lives in. Anyone who tells you otherwise hasn't shipped enough.

You can't separate the UI from the system it lives in. Anyone who tells you otherwise hasn't shipped enough.

Every state management decision is a product decision. Every loading state is a statement about how you handle uncertainty. Every error message is a moment of trust — or broken trust — with the person using your software.

Frontend developers have spent years fighting to be taken seriously as engineers. And I get it. The work is real and complex and the "it's just CSS" dismissal is exhausting.

But in fighting for that credibility, some of us overcorrected. We became obsessed with the technical purity of our work — the architecture, the bundle size, the TypeScript strictness — and forgot that the thing we're building is used by actual people with actual problems.

The best frontend work I've ever seen comes from developers who care equally about the code and the person on the other side of the screen. Who know when to push back on a design decision because the API doesn't support it, and when to push back on an API decision because the design requires it.

That's the job. Not frontend. Not backend. The whole thing.