Inspiration
Rabbit Hole was inspired by our own experiences with navigating difficult conversations. It's hard to come up with assertive ways to express your feelings, and traditional AI tools tend to spoon-feed you advice rather than helping you make your own informed decisions. The aesthetic? That was inspired by Selin's emotional support plushie and the Wonderland hackathon theme!
What it does
Rabbit Hole is a structured, AI-powered web app that helps you prepare for challenging conversations through science-backed communication frameworks. It walks you through three evidence-based pillars so you show up with a plan, a tone and an outcome in mind.
How we built it
| Layer | Tech |
|---|---|
| Frontend | React + Vite, Tailwind CSS, Framer Motion |
| Backend | Node.js + Express (local dev), Vercel serverless functions (production) |
| AI | Google Gemini 2.5 Flash via @google/generative-ai |
| Speech | ElevenLabs API (text-to-speech & speech-to-text) |
| Deploy | Vercel |
Challenges we ran into
- Getting the API calls to work properly
- Ensuring the user interface is accessible considering the vibrant, changing background
- In "fill in the blank" portion, extracting the blank parts and separating them from the template we provide. We tried Regex to check but it was too sensitive. We ended up using Gemini API to extract the blanks.
Accomplishments that we're proud of
- Utilizing ElevenLabs for accessibility, the user's ability to 'rant' to the app and practice saying the sentences.
- Our beautiful, thoughtful user interface, and the story we've created behind it
- Not only finish our MVP but add the "nice to have" features we planned in the beginning. (but still be able to get sleep)
What we learned
- Using Gemini API to call the agent
- Using Google's Antigravity IDE
- Using ElevenLabs API for text-to-speech and speech-to-text
What's next for Rabbit Hole
- User accounts and memory for previous conversations
- A reflection segment for after the user has had the conversation
Built With
- elevenlabs
- express.js
- framer
- gemini
- node.js
- react
- tailwind
- vercel
- vite
- web-speech-api
Log in or sign up for Devpost to join the conversation.