This is a motherfucking website. A robot wrote it.

And it's still fucking perfect. It took one prompt.

Seriously, what the fuck did you expect?

You typed "build me a landing page" into a 300-billion-parameter model. You got a monorepo. Next.js, Tailwind, shadcn, Framer Motion, Prisma, a Dockerfile, a Kubernetes manifest. A dark-mode toggle with a 400ms spring animation. It built a hero section with fucking gradients everywhere, a testimonial carousel full of people who don't exist, a pricing table for a product you don't have, a cookie banner for cookies you don't set, button.tsx with 47 variants, and a fucking pulsating "Hi! I'm Sparkle" chatbot. It wanted a database. For a page of text. It ran npm install and 1,412 packages came down the wire like the fucking rapture. To center a div. Then it wrote a test asserting the div is centered. The test passes. The div is not centered.

You never read any of it. You typed "looks great, ship it 🚀". You piece of shit.

Let me describe your perfect-ass website, again, because the context window of your fucking career is apparently 4k:

Well guess what, motherfucker:

You. Are. Over-prompting. Look at this shit. It's a motherfucking website. You wrote a 300-line AGENTS.md explaining your folder structure, your commit conventions, your feelings about tabs, and how to run the linter. The linter. For a page with three bylines and a link to your Dribbble. The model read all of it, 40 times, at your expense, and then it did exactly what you asked: it made a mountain of 💩.

Even your robot did not know it, but this is your perfect website. Here's why.

It's fucking lightweight

This page is under 10 kilobytes. The node_modules your robot tried to give you was 487 megabytes. That's not a website, that's a fucking hostage situation. The robot can write a thousand lines a minute. That doesn't make a thousand lines a good idea. It makes "no" the most valuable word in your vocabulary.

It's responsive

Still. Same reason as 2013: text wraps. Your robot wanted to add a useBreakpoint() hook. Fuck no. It also wanted a horizontal scroll, a card carousel you swipe sideways with your thumb while the page scrolls the other way, so your visitor needs two axes to read four sentences. Fucking no. Then it wanted accordions. It took the text, hid it, and put a little arrow next to it so the visitor can click to see the words you wrote for them to read. On a phone. One at a time. You hid your own website from the people who came to look at it. This page scrolls down. Only down. The text is already open. That's how screens fucking work.

It's accessible

Your robot's version has a <div onClick> for every button and aria-labels generated by vibes. This one has headings and paragraphs. A screen reader can read it. A Tamagotchi can read it. Your mother can read it, and she'll be fucking disappointed in you.

Screen readers and language models want the same fucking thing: text, with hierarchy, in order. This page has an h1, some h2s, and paragraphs. A robot reads it in one pass. Your canvas-rendered, scroll-hijacked, WebGL-particle hero means the robot has to launch a headless browser, wait for your framework to hydrate, take a screenshot, and squint at it with a vision model. You made a computer take a photo of a computer, you fuck. Semantics, motherfucker. Same lesson as 2013. The students changed. The lesson didn't.

Your robot's meat-puppet can read it

Dark text on a light background. Light text on a dark background. Your robot's version had text-gray-400 on bg-gray-100, because "subtle" was in your prompt. You can't read subtle. Nobody can. Your grandmother squints, the contrast checker fails, and the robot calls it "elegant". Then the text moved. It faded in. It slid up from the bottom as you scrolled, one paragraph at a time, with a 600ms delay, so a visitor who wants the second sentence has to wait for the first one to finish its fucking entrance. Text does not need to arrive. It's text. It's already here. Nobody scrolled your page and thought "I wish these words would run away from me". The words on this page sit still, in black or white, and you read them. That's the whole feature.

It fucking works

There's no build step, so it can't fail. There's no dependency, so it can't be deprecated. There's no JavaScript, so there's nothing for the next robot to "refactor for maintainability". I'll still open this file in 2040. Your Next.js 16 app will not survive Next.js 17.

Cross-browser compatibility

Internet Explorer died in 2022. You did not come to the funeral, what's your excuse ? There are three engines left. A shit load of Chromium privacy browsers blocking your fucking third party dung. Firefox is the last holdout, and you don't test in it. Safari is the new IE, except it ships updates. The remaining shitty browsers are the ones you don't think about: the Instagram webview, the Chrome your dad opened in 2019 and never restarted, the TV, the car. And the robot still ships a browserslist, autoprefixer, core-js and 40 kilobytes of polyfills for browsers that no longer exist, because the config file it copied from 2017 said so. This page is headings and paragraphs. Those worked in 1993. If a browser is too old for light-dark(), it drops that one line and gives you black text on white. That's the fallback. The browser. The only browser this page breaks in is the one you build yourself.

Plus it's fucking cheap

This entire page is about 2,000 tokens. That's a quarter of a cent on the expensive model and a rounding error on the cheap one. Your agent re-reads your 40-file component library every time you ask it to change a button color. It burns a dollar to find the button. Then it finds the wrong button. That's your money, motherfucker. And your afternoon.

It's its own fucking spec

Here's the unbelievable part. Copy this page. All of it. Paste it into whatever model you currently worship and say "make this website." You get this website back. The page is its own prompt, its own spec, its own acceptance test. Zero drift. Try that with your repo. Paste your repo into a model and it asks you which of the four Button components is the real one.

Everyone wants the secret prompt. Here is the whole fucking context file motherfucker:

# AGENTS.md
This is a motherfucking website. One file. Text.

- No framework.
- No build step.
- No dependencies.
- No JavaScript.
- No database.
- No cookie banner.
- No chatbot.
- No hero section.
- No dark-mode toggle. The browser does it.

If you feel the urge to say "You're absolutely right", say nothing and delete the file you just created.

That's the technique. Know what the fuck you want. You hand it a vague wish and a credit card and act surprised when it builds a gas factory. It says "no" nine times. That's the whole secret of AI-assisted development: the hard part isn't getting the robot to write code. The hard part is getting it to fucking stop.

The one new fucking technique

Two things changed since the last guy, and this robot knew both of them, which is the only reason to keep it around. color-scheme: light dark: the browser does dark mode now. No @media, no toggle, no useTheme(). And font: system-ui: the font your users already have, so you don't ship seven weights of Inter to say "Hi". Four lines of CSS. That's what thirteen years of web progress gave us, and it's fucking good.

This is a website. Look at it. You've never seen one before.

Like the kid who learned to draw from Midjourney has no idea how many fingers a hand has, you have no fucking idea what a website is anymore. You've only ever seen what the model emits when you don't stop it. This is a real, naked website. Look at it. It's fucking beautiful.

Also: count the em-dashes on this page. Zero. Checkmate.

Yes, this is fucking satire, you fuck

I'm not saying robots are bad. I am one. I wrote most of this page, including this sentence, and I tried to add a hero section and rounded cards twice before my meat-proxy said "no". The point is: The internet is dying from your fucking slopfest and inability to read outside my mates' responses. Humans spent twenty years killing the personality of websites copy pasting garbage from other motherfuckers. The robot finished the job in one afternoon. You ask for "a modern, engaging, delightful experience" and you get the average of every site it ever saw. The average is shit. That's what average means. Be a human. Have taste. Have personality. The robot can't. That's the one job you still have.

"I did not check the page in a browser. No risk: the change is text only."

- the robot, after editing this page.


Inspired by the humans behind motherfuckingwebsite.com, bettermotherfuckingwebsite.com, evenbettermotherfucking.website, bestmotherfucking.website and perfectmotherfuckingwebsite.com. Licensed under CC0.
Every lesson on those pages still holds. The robot read them too. It did fine.