The Reject-All That Moves — A Frustrating Web Experience
A standalone web page styled as a news article with a cookie consent banner anchored at the bottom. The Reject All button dodges your cursor every time you get close. Accept All stays helpfully still. After 23 dodges, the Reject button gives in.
Experience It →What Is The Reject-All That Moves?
The Reject-All That Moves is an original web experience built by frustrated.io that recreates one of the most quietly hated dark patterns of the modern internet — the cookie consent banner whose Reject button is harder to click than its Accept counterpart. The page is styled as a generic news article, with a tag, a headline, a placeholder image, and a few paragraphs of placeholder content. Anchored at the bottom of the viewport sits a cookie banner with a description of consent, a list of cookie categories ("Personalised advertising — 312 partners"), and two buttons: Reject All and Accept All.
Accept All is positioned as the recommended action, dressed in primary black with a yellow "Recommended" badge. Reject All is the same size, but it does not stay still. The moment the cursor enters its proximity, it slides to a new random position elsewhere on the page. Each near-miss reduces the threshold further. The dodge escalates. Accept stays helpfully where it always was.
Built with vanilla HTML, CSS, and JavaScript, the experience requires no installation, no login, and no patience. It works on desktop and mobile (taps teleport the Reject button on touch devices). It has its own permanent URL — frustrated.io/article — for sharing. Your browser back button works. The frustration ends when you decide it ends.
How It Works
Land on the Article
The page loads with what looks like a generic technology article — a category tag, a headline about cookies, a placeholder image, a few opening paragraphs. The cookie consent banner appears at the bottom of the viewport, blocking nothing else but offering the visitor a clear choice.
Try to Click Reject
The cursor moves toward Reject All. The button slides to a new random position within the viewport. The cursor follows. The button dodges again. Each near-miss tightens the escape threshold, so the button feels harder to catch the more you try.
The 23rd Dodge Lets You Click
After 23 dodges the Reject button concedes. It glows red, pulses, and accepts the click. A "Cookies rejected" message appears. The page redirects to a new random frustration. Clicking Accept at any point also redirects — the visitor's choice has no consequence beyond the redirect.
Who Shares The Reject-All That Moves
The page has been shared with messages like "is this site working for anyone?" and "cant get this banner to dismiss" hundreds of times. Below are the four most common share patterns we've observed.
"Sent it to my friend who refuses to accept cookies anywhere. He gave up and clicked Accept after a minute, betraying his entire personality."
— Asha R.
"Sent it to my mum saying she needed to dismiss the banner before her email would load. She turned the laptop off and on twice."
— Carla S.
"Posted in our office Slack as 'is this site working for anyone?' Two devs investigated for ten minutes and blamed our CDN."
— Pavel K.
"Posted to my partner who never gives up on a button. A few minutes in, she asked if her trackpad was broken."
— Mira J.
Best Captions for Sharing This
Send the link with one of these. Or write your own. The recipient will not laugh until later.
Trying to reject cookies and the button keeps running away.
Can you reject cookies on this site? Mine won't let me.
This cookie banner is broken, see if you can reject.
Help me out, can't get this cookie banner to dismiss.
How do I reject these cookies? Button keeps moving.
This GDPR banner needs help, can't say no.
Cookie banner from hell, try clicking reject.
Need to reject cookies but the button hates me.
The Reject-All That Moves vs Alternatives
Cookie banners with hostile reject buttons exist across the internet — most of them as deliberate dark patterns. Below is how the frustrated.io version compares.
| Feature | Frustrated.io | A Screenshot Meme | A Real Dark-Pattern Banner |
|---|---|---|---|
| Reject button dodges on purpose | Yes | Static (it's an image) | Sometimes |
| Has a permanent shareable URL | Yes | Yes (if hosted) | Yes, regrettably |
| Working back button | Yes | N/A | Often not |
| Eventually lets you reject | Yes (after 23) | It can't | If you persist |
| Will harm your computer | No | No | No, but it sets cookies |
Specifications
| Built with | HTML, CSS, vanilla JavaScript |
| Page weight | Under 7kb |
| Time to load | Under 1 second |
| Initial dodge radius | 60 pixels (shrinks with each dodge) |
| Dodges until Reject settles | 23 |
| Mobile compatible | Yes (taps teleport Reject) |
| Sound | None |
| Working back button | Yes, always |
| Sets actual cookies | No (banner is a styled mock) |
| Tracks any data | No |
Reviews
"Tried for a solid couple of minutes before clicking Accept like everyone else. Five stars. I have betrayed my own values."
"Sent it to my partner. She is now convinced our wifi is haunted. Marriage stronger as a result."
"Caught the Reject button on my eighth try. Felt like winning an argument with my landlord. Lost one star because the dopamine was excessive."
Frequently Asked Questions
Real questions from search. Real answers from us.
Why Does the Reject All Button Keep Moving?+
A mousemove listener runs on the page and tracks the distance from your cursor to the Reject All button's edges. When the cursor crosses an invisible threshold around the button (60 pixels at the start, shrinking with each dodge), the button updates its position to a new random spot on the page. The Accept All button has no such handler. It stays exactly where it is, helpfully.
Will the Reject Button Ever Stop Moving?+
Yes. After 23 dodges, the button gives in. It returns to its position, glows brand red, pulses gently to indicate it's now clickable, and accepts the click. A short "Cookies rejected." message appears at the bottom of the page, and the visitor is redirected to a new random frustration after about 1.7 seconds.
Is the Accept Button a Trap?+
No. Clicking Accept All also ends the experience and redirects to a new random frustration. Both buttons are functional. The visitor's choice has no consequence beyond the redirect — the message simply changes from "Cookies rejected." to "Cookies accepted." The frustration was always the dodge, not the outcome.
Does This Page Actually Set Cookies?+
No. The cookie banner is a styled HTML mock with no real consent logic. No cookies are set, no tracking pixels load, no partners are notified. The "Strictly necessary," "Performance & analytics — 47 partners," and "Personalised advertising — 312 partners" lines are decorative and meant to evoke the typical scale of a real consent banner.
How Do I Share The Reject-All That Moves With Someone?+
The page has a permanent URL — frustrated.io/article — that works on every messaging app, every social platform, and every email client. The share buttons at the bottom of the experience handle native device sharing, X, and Facebook directly. We recommend sending it as if you genuinely cannot dismiss the banner and need a second opinion.
Why Was The Reject-All That Moves Built?+
Because cookie banner dark patterns are one of the most universally hated frictions of the modern web — buttons that hide, opt-outs that take three clicks, designs that nudge toward consent. The escaping Reject button is the most extreme version of the genre, and it deserved its own dedicated, shareable, satirical experience.
Is The Reject-All That Moves Safe to Use?+
Yes. The page contains no real consent logic, no tracking, no third-party requests, no popups, and no redirects (other than the explicit redirect after the user clicks either button). Your browser back button works at every step. The frustration is comedic, never harmful.