This is a fucking website.


Alex finally made the internet, and it's fucking perfect.

Seriously, what the fuck else do you want?

You probably build websites and think your shit is special. You think your 13 megabyte parallax-ative home page is going to get you some fucking Awwward banner you can glue to the top corner of it in an attempt to dress it up. You probably think someone who never tells you they love you will put it on the fucking fridge in the house where you still live in the basement.

Worst of all, you think you have the right to send your users a 40-pound jQuery file that you copy-pasted into your thrift store server, before even giving me the chance to realize that you're one of the clueless derps that create the demand for reader view.

Guess what, motherfucker:

You. Are. Over-designing.

Look at this shit. It's a motherfucking website. Why the fuck do you need to animate a 10mb photo of a hipster when I hover over that piece of shit? You spent hours on it and added 280 kilobytes to your fucking page, when some motherfucker jabbing at it on their iPad with sausage fingers will never see that shit. Not to mention blind people will never see that shit, but they don't see any of your shitty shit, because you can't control voice-over with the shitty tech stack you tried to learn.

16 fucking declarations.

That's all it took to make some information beautiful, adaptable, and readable.

Still reading?

Thank God. Looks like I've misjudged you. Today is your lucky day motherfucker. I'm going to explain the most perfect fucking website you could ever imagine:

Right now, you're probably laughing, and thinking "This guy's not talking about me, because that's what I already do. FUCKING WRONG. Stop letting your own subconcious coping mechanisms suffocate your limitless, beautiful fucking potential. This shit is so fucking easy that 8-year-olds do it in computer class now.


“The first step to changing the world is realizing that you're a lazy piece of shit.” — Someone else, definitely not me.


Unfuck the internet.


Don't worry kids, I'm gonna break this shit down for you. Let's use this sexy fucking page as a case study, then we'll get into the how-to.

It's lightweight.

This shit is lightweight as FUCK. It weighs exactly 15.7kB. Banana for scale, that's 99.91% less than the Google home page. (Yes, Google is the banana.)

This entire page weighs less than the gradient-meshed facebook logo on your fucking Wordpress site. Did you seriously load 100kb of jQuery UI just so you could animate the fucking background color of a div? You loaded all fucking 7 faces of that shitty webfont just so you could write the headline at 100px height? You are part of the problem.

It's Adaptive.

This shit responds to whatever screensize you want to view it on. This site doesn't care if you're on #TwoStepTony's IMAX or a motherfucking tamagotchi.

Cross-browser compatibility? Load this motherfucker in IE6. I fucking dare you. If your text hits the side of a browser then fuck off forever. Ever read a book like that? Yes? What a shitty book.

It's Accessible.

No, I don't mean open to the public, I mean it's accessible, so everyone can experience its glory. It's also legible as fuck. I'm talking triple-A contrast ratios and a super clean style without looking like an ARPANET website. You don't have to use that hideous fucking blue for links. Just give them a nice accessible color.

You know what else matters for accessibility? See point one: Weight. Don't be a fucking racist. More than half of the human race is still on painfully handicapped connections. I don't know about you, but I'm not about limiting people's opportunity for bad reasons. This shit doesn't load a bunch of massive scripts. Stop only caring about T1 rich people on IPv6, and remember all the people on all care about people who use IPoAC.

This shit even uses a cache control header, instead of disrespecting your bandwidth and personal property if you visit this shit more than once.

It's secure.

We send data over a secure connection, so nobody can spy what we're serving to you (the page might even be different for everyone).

This shit doesn't have any tracking services, not even the lightweight ones, because "my own curiosity" isn't a good enough reason to make the world worse, regardless of what excuse you tell yourself.

It supports HTTP/2. Because only a complete and total piece of garbage would not take 3 fucking minutes to use a better protocol. HTTP/2 protects your service and your users and is literally easier than accessing an email. Seriously. We SSH'd in and set it up while taking a dump. If you curl -I -L your server IP and don't see HTTP/2 200; you should basically be throwing a Cersei Lannister parade right now.

It uses Strict Transport Security to protect against protocol downgrade attacks. It adheres to all the best practices for pipelined firewalls. Basically, it does all the shit that you don't do.

It's robust.

You want back-end? Don't worry. Baby got back-end.

What you are looking at is dynamically rendered and served (on a silver fucking platter) by a dedicated server behind a hypervisor firewall, a hand-tuned local firewall, and a reverse-proxy server. The back-end app is an extremely performant, non-blocking, asynchronous IO program being run on clean Ubuntu 20, written in a statically typed, pre-compiled language with optimizations out the ass.

It only took two days and $18.00 to literally learn every single piece of it from scratch. The only thing missing is a collection of fucking excuses about how "difficult" it is to do things the right way.

But most of all...

It actually fucking works.

No one is surprised when shit is broken anymore. That's fucking unacceptable and we all share the blame. Technology can make the human experience better or worse, and it's honestly only up to you.

Look at this shit. If you're literate, you can read it. It's using HTML5 so you and your bitch-ass browser know what the fuck's going on. It has the content on the fucking screen.

Your site has three bylines and link to your Instagram account, but you spread it over 7 screens worth of real estate and make your users click some bobbing button to show off how "cool" a javascript plugin is. A plugin that you didn't even write, because you play candy-crush and watch cartoons instead of learning how.

This really is a fucking website.

You might not have seen one before. Look at it. It's fucking beautiful.



Yes, this is fucking satire, you fuck.


After all that... and with such brazen impropriety, I imagine that you have deduced as much.

But I deeply feel that we should care about some of these concepts in a serious way. Over 1% of all electricity produced is consumed in data centers, and being reckless with our engineering is making the problem so very much worse.

The internet is a crumbling house of cards but it doesn't have to be. Not saying to make it ugly, or use bad animations or assets for no reason. Keep it simple, minify resources and use them responsibly. If you're not using .svg's, you should re-examine your value system. It really is so, so easy to make sites more beautiful, and easier to read, and technologically better for humanity. We just have to care more than none.

I know this sounds crazy.. but less requests (with a small size) = faster load time. Oh and by the way, this doesn't mean that you should use webpack and put everything in a 10MB main.js file, there are people out there who are can't use futuristic technologies.

Websites are not broken by default. They are functional, high-performing, and accessible, but we fuck that up on purpose because we desperately want them to not be ugly. We need for the web designers out there to put down the fucking paintbrush for two fucking seconds and remember the actualy purpose of technology.

This site was made out of boredom and curiosity, but has turned into a satirical rant with a simple message:

Do better.

You should take care of people. The HTML doesn’t include the lang attribute in your webpage... You have to do that yourself. You ever listen to a wrong language screen reader lecture? What an awful experience.

Typography matters.

Let your text breathe. Defaults are trash, but they don't need to be insanely complicated either. Pick a minimum line-height of 1.4 Headings should be tighter. Margins and padding aren't optional.

Don’t be dumb with typography. Don’t let improper marks and quotes make their way onto websites because of dumb defaults in applications and CMSs. Size matters. 16px or more is totally ok for a screen.

License your shit.

People need to be able to see what they can and can't do with your stuff. Make the world better by letting people learn from you, and make it easy to find out what you're ok with them doing with your stuff. You must choose a public license, and don't make it impossible to find.

None of us will ever be perfect, so let others improve your shit or do what the fuck they want to.

“Good design is as little design as possible.” — Some German Guy


Inspired by genii, who dedicated their work to the public domain.

Special thanks and credit to my friends and mentors who are more patient with me than I deserve, and to Dominic Miller, who has always been right about HTML 5.


WTFPL