This is a submission for the DEV April Fools Challenge
What I Built
I built “Terms & Conditions That Fight Back” — a useless yet chaotic web app where the user tries to accept terms, but the UI actively prevents it.
Instead of a normal accept button, the system fights back:
- The button runs away from the cursor
- Messages become sarcastic and aggressive
- A hidden tiny button appears after multiple failed attempts
- Even after “accepting,” the system rejects the user with a 418 teapot error
The goal is simple: frustrate, entertain, and confuse the user in the most fun way possible.
Demo
👉 Live Demo: - Live Demo
Try to:
- Click “Accept”
- Watch it escape
- Rage a little
- Discover the hidden button
- Still get rejected 😈
Warning: You will not win.
Code
Github Repo : -Github Repo
How I Built It
I started with a simple idea: what if a UI refused to cooperate?
Step 1:
Created a basic Next.js app and designed a minimal Terms & Conditions layout.
Step 2:
Implemented a moving “Accept” button using random X-Y coordinates inside a container.
Step 3:
Added interaction tracking:
- Count user attempts
- Change messages dynamically
Step 4:
Introduced chaos:
- Sarcastic system messages
- Increasing difficulty
- Hidden tiny “accept” button after repeated attempts
Step 5:
Built a fake success screen that ends with:
“418: I'm a teapot ☕”
Step 6:
Enhanced UI/UX:
- Glassmorphism design
- Animated background blobs
- Progress bars (patience + chaos level)
- Keyboard interaction support
The result is a playful, frustrating, and memorable user experience.
Prize Category
🏆 Community Favorite
This project is designed to be:
- Funny
- Interactive
- Shareable
- Instantly understandable
People naturally try to click the button — which creates a hilarious experience.
🏆 Best Ode to Larry Masinter
The project ends with:
“418: I'm a teapot ☕”
This is a tribute to the famous HTTP status code and the playful nature of web culture.
🏆 Best Google AI Usage (Optional Future Upgrade)
Planned feature:
- Use Google Gemini API to generate absurd legal clauses dynamically
- AI that refuses to approve user acceptance
Example:
“You must emotionally convince the system before accepting.”
Top comments (2)
I Reject this challenge...😶🌫️😂
Try to accept 😂😂