Inspiration
Most apps try to be helpful. User Unfriendly does the opposite. Inspired by psychological horror and classic web pranks, it weaponizes discomfort. The Procrastination Phantasm idea came from personal experience: what if an AI saw everything and never let you forget your failures?
What it does
🕳️ The Chamber of Horrors
A dark landing page with glitching text. Click "ENTER" — there’s no turning back.
🔫 Russian Roulette: Digital Suicide
Guess a number (1–10). Pull the trigger.
Wrong guess = browser attack:
- Memory consumed until it chokes
- CPU overload that freezes everything
- Screen consumed by visual glitches
- Fake system crash messages
- Browser becomes unusable — refresh or close the tab
Win? A brief reprieve. Lose? Face the consequences.
👁️ Procrastination Phantasm: The Watcher
Enter your unfinished goal. The Phantom remembers.
An AI tracks you:
- Sees when you switch tabs
- Knows if you arrived from search
- Monitors idle time
- Remembers every visit
It torments you with messages like:
"I see you." "You failed again." "Your [GOAL] still waits." "You will never finish."
The more you avoid your work, the more it knows. It cannot be silenced.
💀 The Horror of Memory
Both experiences use localStorage — they remember your visits, your failures, your attempts. Even if you clear your data, the shame remains.
⚠️ Warning: This is not a friendly experience. It’s designed to make you uncomfortable. It’s designed to haunt you. Enter if you dare.
How I built it
- The Chamber: A dark landing page with glitch effects and typewriter animations sets the tone.
Russian Roulette: A number-guessing game that triggers aggressive browser crash simulations — memory bombs, CPU overload, visual chaos.
- If you lose, your browser suffers.
Procrastination Phantasm: An AI chatbot powered by Gemini API that:
- Tracks your activity (tab switches, copy events, idle time)
- Remembers every visit using localStorage
- Torments you about your unfinished goals
- Never breaks character as an omniscient, malevolent entity
The entire experience is built with vanilla JavaScript — no frameworks, no dependencies. Pure, unadulterated horror.
Challenges I ran into
- Vercel routing conflicts: Fixed
vercel.jsonrouting issues by simplifying the configuration - API key exposure: Implemented fallback responses so the phantom works even without the API
- Performance vs. chaos: Balanced aggressive effects with browser stability
- AI consistency: Crafted system prompts to keep the AI in character across varied interactions
- Activity tracking limitations: Used creative event handling (
visibilitychange,copy,focus/blur) - Cross-browser compatibility: Added feature detection and graceful degradation
- Memory cleanup: Added cleanup mechanisms for DOM elements & used
requestAnimationFramefor smoother animations
Accomplishments that I'm proud of
Successfully integrated Google Gemini API to create a persistent AI that watches and remembers everything, and built a game that punishes failure with browser destruction effects using Web Workers and resource-intensive DOM manipulation — all with zero dependencies.
What I learned
- AI integration: Creating dynamic, contextual responses with Google Gemini API
- Browser manipulation: Using browser APIs for immersive, reactive horror (localStorage, activity monitoring, visual effects)
- Psychology-driven UX: Designing intentionally hostile yet engaging experiences
Built With
- css3
- google-gemini-api
- html5
- javascript
- localstorage
- npm/serve
- vercel