Skip to content
All notes

Build with the platform first

Why I reach for HTML and CSS before a framework, and what that does to page weight.

Most interfaces I build start as plain HTML. A dialog is a <dialog>, a menu is a popover, a page transition is a view transition. Only when the platform runs out do I add JavaScript, and then only for the part that needs it.

The result is boring in the best way: pages that load before you notice, work without JavaScript, and keep working when a dependency changes its mind.

A rule of thumb

If a feature can be described in one sentence of CSS, it doesn’t need a library.

Palette