hypermedia.lol
Why does this exist? The browser already does most of what we keep rewriting in JavaScript. This is a collection of the easier way — what it costs to ignore it, and why the simpler thing is also the better one. Read the story →

Short arguments for using what the browser already does.

Essay One textbox for one-time codes Six boxes for a six digit code breaks paste, backspace, autofill, and screen readers. One HTML5 input with constraints does the whole job. September 8, 2026
<details> is an accordion. You wrote 200 lines for this.
Your carousel is one scroll-snap away. overflow-x + scroll-snap-type
Essay The motherfucking website canon A reading list. Four profane single-page manifestos that have been making the case for plain HTML and a little CSS for over a decade. September 8, 2026
:has() shipped. Delete the class-toggling.
The back button is a feature. You broke it.
Essay Twenty minutes to fix a typo In 2006 you opened the file over SFTP, fixed the character, hit save, and it was live. We traded that latency for safety — a good trade we then never revisited. September 8, 2026
Forms validate themselves. required, pattern, type
popover is an attribute. Not a dependency.
Essay Most modals shouldn't be modals modalzmodalzmodalz.com made the case years ago. Now the platform has popover and dialog, so the excuse for a div-and-JavaScript modal is gone. September 8, 2026
A link is a <a href>. Not an onClick.
This page ships 0 bytes of JavaScript. So could yours.
Open to submissions Send a pull request One file. Markdown or HTML. The only rule is no JavaScript.