BreakUp Buddy, Project Story
Inspiration
Breakups are one of the most emotionally destabilizing experiences a teenager can go through, yet there's almost no dedicated mental health tooling for it. We kept seeing the same pattern: teens turning to social media spirals, late-night texting, or just bottling everything up. There are apps for meditation, fitness, and sleep but nothing that meets someone in the specific, raw pain of heartbreak. That gap inspired BreakUp Buddy.
The UN's SDG 3.4 target calls for the promotion of mental health and well-being globally. We believe that starts with the small, everyday moments and a breakup is one of them.
What it does
BreakUp Buddy is a guided emotional recovery web app for teens and young adults navigating heartbreak and relationship loss. It provides:
- Mood Tracker : daily emotional check-ins with intensity logging, a 1-hour cooldown to prevent abuse, and a full history with color-coded intensity bars
- Guided Journal : rotating daily prompts with an AI-powered "Heart to Heart" companion (Google Gemini) that responds with empathy, not advice
- Recovery Tasks : a structured 7-day healing program with 21 tasks (3 per day), each addressing real breakup behaviors : checking their profile, holding onto reminders, suppressing emotions
- Progress Dashboard : mood trend charts, streak tracking, and recovery progress
- Daily Affirmations : a swipeable card deck of self-worth affirmations with a save feature
- Crisis Detection : when a user logs "devastated" at intensity 8+, the app surfaces crisis helpline resources immediately
All data is stored anonymously, no email, no name, just a private UUID via Supabase anonymous auth.
How we built it
| Layer | Technology |
|---|---|
| Frontend | Next.js 14, TypeScript, Tailwind CSS v4 |
| Database & Auth | Supabase (PostgreSQL + Row Level Security + Anonymous Auth) |
| AI Companion | Google Gemini 1.5 Flash via REST API |
| Charts | Recharts |
| Icons | Font Awesome |
| Testing | Playwright (E2E) + GitHub Actions CI |
| Deployment | Vercel |
We followed a component-driven architecture — each page has its own components/ folder, keeping the codebase clean and readable. The Supabase schema uses Row Level Security so users can only ever access their own data, even without logging in. We also set up automated end-to-end testing with Playwright, running on every push via GitHub Actions, covering mood logging, journaling, task completion, and full navigation flows.
Challenges we ran into
- Anonymous auth rate limiting : Supabase's free tier rate-limits anonymous sign-ins. Running our Playwright test suite across multiple browsers in parallel triggered this limit repeatedly, since each test created a fresh anonymous session. We solved it by forcing serial test execution and sharing a single authenticated session across the test run.
- PWA + Turbopack conflict :
next-pwadoesn't yet support Turbopack. We made the pragmatic call to ship as a full web app rather than burn hackathon time fighting build tooling. - AI tone calibration : getting Gemini to respond with genuine empathy rather than generic advice took several rounds of system prompt iteration. Teens don't want to be fixed — they want to be heard.
Accomplishments that we're proud of
- Built a fully functional mental health app with real database persistence, AI integration, and automated testing in a single hackathon session
- Implemented anonymous auth that is genuinely private, no personal data is ever collected, yet sessions persist across visits
- The "Heart to Heart" AI companion feels meaningfully different from a generic chatbot it listens first, never lectures
- Crisis resource detection that surfaces helplines automatically when someone logs high-intensity distress
- A clean, component-driven codebase with E2E test coverage and CI which is rare for a hackathon project
- A landing page designed to make a struggling teen feel seen in the first three seconds, not sold to
What we learned
- Anonymous auth is underused it's a powerful pattern for sensitive apps where trust is the real barrier to entry
- Tone in AI prompting matters as much as capability a well-prompted Gemini Flash outperforms a poorly-prompted larger model for empathetic use cases
- For teen mental health tooling, removal of friction is the most important design principle every extra step is a user lost
- Automated testing catches "works on my machine" bugs that are invisible during manual development — our CI pipeline surfaced a missing dependency and an environment variable mismatch before they ever reached production
What's next for BreakUp Buddy
- Peer support rooms : anonymous group spaces where users going through similar experiences can support each other
- Therapist referral integration : connecting users to licensed professionals when the app detects sustained high-distress patterns
- Mobile app : a React Native build for iOS and Android
- Streak notifications : gentle push reminders to keep the healing habit going
- Export & insights : let users download their mood journey as a PDF after 30 days
- Unit test coverage : expanding beyond E2E tests to cover the data layer and static content logic
Built With
- next.js
- playwright
- supabase
- typescript
Log in or sign up for Devpost to join the conversation.