💡 Inspiration
It starts the same way for millions of people.
It's 2am. The craving is loud. You reach for your phone - and nothing reaches back.
Alcohol addiction affects 400 million people globally. 3 million die from it every year - more than AIDS and tuberculosis combined. And yet 80% of those who need help never receive it.
Not because they don't want to get better. Because the support doesn't exist when they need it most.
Therapy has waitlists. Helplines are reactive. Apps feel clinical and cold. Nobody has built a recovery companion that actually shows up — at 2am, mid-craving, judgment-free, and powered by real AI.
That's what inspired Control.
🛠️ What We Built
Control. is a gamified, AI-powered recovery companion for alcohol addiction.
It combines three things no existing app has put together:
- NOVA — a real-time AI voice companion you can talk to out loud
- A living plant — that grows every time you check in, and waits when you don't
- A craving shield — CBT-backed crisis tools available in under 3 seconds
Every feature is built around one belief: recovery fails not from lack of willpower, but from lack of accessible, judgment-free, round-the-clock support.
⚙️ How We Built It
Tech Stack
| Layer | Technology |
|---|---|
| Frontend | Next.js, React, Framer Motion |
| AI / LLM | Google Gemini API |
| Voice | Web Speech API (STT + TTS) |
| Database | Firebase Firestore |
| Auth | Firebase Anonymous Auth + Google OAuth |
| Deployment | Vercel |
The AI Architecture
NOVA's voice loop: $$\text{User Voice} \xrightarrow{\text{STT}} \text{Text} \xrightarrow{\text{Gemini LLM}} \text{Response} \xrightarrow{\text{TTS}} \text{NOVA speaks}$$
Risk scoring model:
Each onboarding answer carries a weighted score. The total determines the user's risk profile:
$$\text{Risk} = \begin{cases} \text{High} & \text{if score} \geq 15 \ \text{Moderate} & \text{if score} \geq 8 \ \text{Low} & \text{otherwise} \end{cases}$$
The entire app experience — AI response tone, exercise suggestions, check-in sensitivity — adapts to this profile.
CBT Thought Reframing:
NOVA detects distorted thinking patterns using a fine-tuned system prompt and applies cognitive reframing in real time:
"I always fail. I'm weak." → "You've tried many times. That's not weakness. That's someone who refuses to give up."
The Living Plant
Every check-in triggers a growth state. The plant's stage is calculated from the user's total check-in count:
$$\text{Stage} = \begin{cases} \text{Seed} & n = 0 \ \text{Sprout} & 1 \leq n \leq 6 \ \text{Flowering} & 7 \leq n \leq 20 \ \text{Fruit} & n \geq 21 \end{cases}$$
Miss a day? The plant doesn't die. It waits — exactly like real recovery.
🧠 What We Learned
Empathy is an engineering problem. The difference between a helpful AI and a cold one is entirely in how you prompt it. We spent more time on NOVA's system prompt than on any other single feature.
Shame is the biggest barrier to recovery. Every design decision — anonymous auth, no punishment for relapse, the compassionate reflect screen — was made because shame kills recovery before it starts.
Gamification works because the brain does. XP, streaks, and a growing plant aren't gimmicks. They create the same dopamine reward loop that keeps people hooked on harmful apps — but pointed in the opposite direction.
Voice changes everything. Typing "I'm struggling" feels clinical. Saying it out loud to NOVA, and having something respond — that's a completely different emotional experience.
🚧 Challenges We Faced
1. Making NOVA feel human, not robotic Getting Gemini to respond with genuine warmth in a recovery context took dozens of prompt iterations. Too clinical and it felt cold. Too casual and it felt dismissive. Finding the exact tone was the hardest problem we solved.
2. The voice loop latency STT → Gemini → TTS introduces real delay. We optimised by streaming the Gemini response and beginning TTS synthesis as soon as the first sentence was complete, rather than waiting for the full response.
3. Anonymous auth with persistent data Firebase anonymous auth doesn't persist across devices by default. We built a recovery code system so users can transfer their profile — streak, plant, XP — to a new device without ever creating an account or providing personal data.
4. Designing for emotional safety A relapse screen that feels punishing could cause real harm. We went through multiple iterations of the "I had a drink" flow before landing on something that felt genuinely compassionate — not performatively so.
🌍 What's Next
Control. is built to scale beyond alcohol.
The craving loop is identical whether the addiction is food, social media, gambling, or screen time. Our next phase expands the platform to every compulsive behaviour — same AI, same plant, same companion.
We're also building a licensed psychologist marketplace — so NOVA gets users stable at 2am, and a real professional gets them all the way home.
And further out? A holographic NOVA — not on a screen, but present in your room. Recovery support that is truly, physically there.
"Alex came in at 2am. Craving loud. Hope quiet. Six weeks later — Alex is still here. The plant is in full bloom."
Control. — Because everyone deserves a companion on the hardest quest of their life.
ᚠ ᚢ ᚦ ᚨ ᚱ
Built With
- api
- firebase
- firestore
- gemini
- github
- javascript
- next.js
- react
- tailwind
- vercel
Log in or sign up for Devpost to join the conversation.