Wasted? — VibeHack London
Inspiration
You know that moment in the group chat at midnight when someone types "im fiiiine btw" and you just… know? My friends have a habit of drunk-calling me to insist they're completely sober. Spoiler: they never are. And honestly, half the fun is the argument — "I walked in a straight line!" "Babe, you walked into a wall." That's the game. That's Wasted? I wanted to turn that chaotic, chaotic group chat energy into an actual feature — something that lets your whole squad check in, compare scores, roast each other, and figure out who's the designated responsible adult for the night. Spoiler again: it's always Sofia.
What It Does
Wasted? is a social party check-in game built for group chats, submitted under the Entertainment Mini track.
When someone drops a Wasted? check, the app runs a quick two-part assessment:
- Voice Note — Say a short phrase. AI analyses your speech clarity, slurring, and coherence.
- Walk the Line — Hold your phone to your chest and walk 10 steps. The accelerometer and gyroscope measure your gait stability and lateral sway.
The results combine into a colour-coded Wasted? status card:
| Level | Score | Status |
|---|---|---|
| 🟢 Green | 0-40% | Totally Fine |
| 🟡 Yellow | 41–70% | A Little Tipsy |
| 🔴 Red | 71–100% | Wasted Now |
The card auto-posts to the group chat with a persona label, a shareable chibi avatar, and a one-line AI verdict. Friends can react, roast, or — if someone hits red — summon backup to make sure they get home safe. When everyone has dropped their check in a timeframe, the AI crowns the Wasted Champion!
How I Built It
I'm a Product Manager, not an engineer — so this was as much a design and product challenge as a technical one.
The stack is React 19 + TypeScript on the frontend, tRPC + Express on the backend, with a MySQL database for persisting check history. Voice analysis runs through a Whisper transcription pipeline with a custom LLM scoring prompt. The chibi avatar is generated via image-to-image diffusion, using the user's selfie as a reference to produce a consistent cartoon style with a rainbow holographic border.
The UI was designed mobile-first with Framer Motion animations, deliberately styled to feel like a native iOS chat app — because if you're going to use this at 2 AM, it needs to feel familiar, not like a medical form.
Challenges
The biggest challenge was designing for impaired users.
Every UX decision had to account for the fact that the person using this app might be drunk. That means:
- No long text. Instructions had to be one sentence, maximum.
- No waiting. The recording countdown was originally 3 seconds — it felt like an eternity at a party. We cut it to under 1 second.
- No choices. The flow is fully automatic: voice → selfie → walk. No buttons to miss, no decisions to make.
- No "Done" button on the walk test. A drunk person will always tap done too soon. The timer runs to completion — no exceptions.
The second major challenge was avatar quality control. Generating a chibi-style avatar from a selfie using image-to-image diffusion sounds simple, but output quality was wildly inconsistent. We went through four full rounds of prompt iteration — tightening constraints around body proportions (chibi 1:2 head-to-body ratio), clothing (oversized hoodies, baggy sweatshirts), and explicit style anchors (cel-shading, pastel palette, holographic border) — before the results were consistently on-brand and appropriate.
What I Learned
- Drunk-friendly UX is just good UX. Every constraint I applied for impaired users — shorter text, faster feedback, automatic flows — made the product better for everyone.
- Prompt engineering is product design. The difference between a charming avatar and an inappropriate one was a handful of carefully chosen words. That's a product decision, not a technical one.
- Social mechanics drive engagement more than features. The voting, the Sober Champion reveal, the friend reactions — these were the last things I added and the first things people wanted to try.
What's Next
- Real-time group sync — live updates as friends drop their checks
- Native group chat integration — embedding Wasted? as a first-class social feature inside platforms like Zymix
- Longitudinal tracking — "You were 73% wasted last Saturday. Tonight you're at 41%. Glow up."
Built solo at VibeHack London — one PM, one weekend.
Built With
- devicemotion-api
- drizzle-orm
- express.js
- framer-motion
- image-to-image-diffusion
- mediarecorder-api
- mysql
- openai-api
- react
- tailwind-css
- trpc
- typescript
- web-speech-api
- whisper-api
Log in or sign up for Devpost to join the conversation.