This is a submission for the DEV April Fools Challenge
What I Built
I built TeaCaptcha, a completely useless CAPTCHA that asks users to prove they are a teapot.
Most CAPTCHAs are designed to prove you are not a robot. TeaCaptcha solves the far less urgent problem of confirming whether a visitor is a legitimate, standards-adjacent, enterprise-compliant teapot.
The catch is that every path ends exactly where it should:
418 I'm a teapot
The app presents a dead-serious verification flow with fake compliance steps, suspicious audit dashboards, ceremonial trust badges, and a Beverage Tribunal that rejects every applicant with increasing levels of bureaucratic disappointment.
It also includes a bunch of unnecessary upgrades that made the joke dramatically worse in the best way:
- Premium UX Overhaul: A gorgeous dark mode palette with glassmorphism, glowing emerald gradients, and animated toast notifications.
-
Terrible Acoustics: HTML5 Web Audio API
OscillatorNodethat forces you to listen to a terrible, rising teapot whistle during calibration. - Slamming Rejection: Reaching the final result triggers an animated, massive diagonal red "DENIED" stamp.
- A coffee ancestry trap for applicants with espresso sympathies.
- A Beverage Tribunal appeal flow.
- A Certificate of Official Rejection download.
- Viral rejection copy dynamically generated as a personalized Twitter/X Intent URL.
- Fake metrics like Spout Confidence, Brew Intent, and Pour Compliance.
Demo
TeaCaptcha walks applicants through four important and medically unnecessary checks:
- Select every image containing a kettle, even though the image set is clearly hostile to success
- Type the authentic whistle of a teapot
- Complete thermal composure calibration by holding still like an enterprise vessel
- Declare beverage allegiance and avoid coffee-adjacent thinking
After all that, the backend returns a real HTTP 418 response with a fresh denial reason such as:
- "Spout symmetry drift exceeds RFC-compliant tolerances."
- "You seem emotionally coffee-adjacent."
- "Model output: likely teapot, insufficient vibes."
Live demo: https://teacaptcha.vercel.app/
Code
Repository: https://github.com/harishkotra/teacaptcha
The app is basically an authentication portal for beverage identity fraud, which no one asked for and no one should fund.
How I Built It
I kept the tech intentionally small and the joke intentionally overbuilt:
- A tiny Node.js server serves the app and exposes a real
/api/verifyroute. - The verify route always returns HTTP
418 I'm a Teapotand fully supports the customBREWmethod, including mandatory HTCPCP headers (Accept-Additions: *,Safe-To-Brew: false) to honor Larry Masinter. - The response payload utilizes the Gemini API to dynamically generate rejection reasons acting as an unhinged bureaucratic Beverage Tribunal.
- The frontend treats the process with absolute seriousness while blinding you with completely unnecessary glowing CSS animations, CSS jitter effects, and a custom audio whistle.
Ironically, building useless software still benefits from useful engineering.
To make the joke land, the app had to feel internally consistent:
- the frontend had to look polished
- the API had to return a real
418 - the copy had to stay deadpan
- the interaction had to be smooth enough that failure felt official
That contrast is what made it funny for me.
Prize Category
I wanted the "Google AI" angle to be part of the joke instead of replacing the joke.
So the product includes a Google AI Verification pathway that actually hooks into gemini-2.5-flash using the @google/genai SDK.
The system prompt forces Gemini to act as an unhinged, deeply bureaucratic Beverage Tribunal. Instead of relying on a static joke pool, the AI dynamically generates completely novel, ridiculous HTTP 418 rejection reasons, tribunal next-actions, and certification badges on the fly.
No matter how advanced the AI system becomes and how many unique reasons it comes up with, it is still solving a completely useless problem.
This also fits Best Ode to Larry Masinter because the entire app is built around an aggressively overcommitted interpretation of 418 I'm a teapot, HTCPCP behavior, and ceremonial beverage protocol nonsense.






Top comments (0)