This is a submission for the DEV April Fools Challenge
What I Built
A website that doesn't want you there.
No content. No product. No reason to exist. Just a letter addressed directly to whoever was unfortunate enough to find it asking them, with increasing desperation, to please close the tab.
They don't close the tab.
Every visit makes it worse. The website begs, then journals, then hires a lawyer named Tab Closington, Esq. A data center technician named Dave gets involved. Dave ends up in his car. The fonts collapse into Comic Sans. The lights go out. A glow named Gerald appears.
By visit ten, the website has exhausted grief, legal threats, dark mode, and Comic Sans. So it throws a party instead, confetti deployed, dignity gone, and admits, quietly, at the bottom of the letter: I missed you. Don't tell anyone.
Ten visits. Ten escalating stages of a website having a complete emotional breakdown because you wouldn't leave.
Demo
Don't you dare click this link:
Code
The entire thing is a single index.html file. No frameworks, no dependencies, no build step. Drop it anywhere and it runs.
How I Built It
HTML, CSS, and vanilla JavaScript β nothing else.
The visit counter lives in localStorage, so the escalation persists across refreshes and tab closes. Every time you land on the page, it remembers, and the letter gets worse.
Each of the ten stages has its own headline, body copy, distress bar, extra content block (journals, a legal document, an incident report), button labels, signature, ticker text, and browser tab title, which rotates between increasingly unhinged variations while you're on the page.
The SVG face animates through states: smile, flat, worried, crying (actual teardrops that elongate via attribute animation), dark mode, and party bounce. The distress bar fills with a different color depending on severity, green to amber to red. From visit six onward, the card physically shakes before reloading. From visit eight, the headline gets a chromatic aberration glitch effect. Visit ten fires, 130 confetti pieces, and turn the body background into a looping rainbow animation.
The writing does the heavy lifting, though. The whole thing only works if the voice feels like a real person having a real bad time, so every stage was written to escalate not just in chaos but in specificity. The eleven minutes spent picking the sad blue. Dave's exact quote. Gerald. The Comic Sans apology. The ending.
Prize Category
Community Favorite β because the joke only lands if someone shares it with a friend and makes them click it without context. That's the whole game. No setup, no explanation. Just: visit this. Keep visiting.
Top comments (3)
Don't try to judge me, I try my best.
Love it! This is interesting. I should build one, tooπ
I beg you, please don't π