Inspiration

Awkward social situations happen to everyone but for people with social anxiety, they can feel impossible to escape. We were inspired by the classic “fake phone call” excuse and wanted to modernize it using AI, making the escape feel believable, interactive, and confidence-boosting instead of forced or obvious.

What it does

It helps users discreetly get out of uncomfortable situations like a bad date, awkward meetup, or social obligation by generating an AI-powered phone call they can actually respond to.

Users can:

  • Choose a realistic AI voice (e.g., parent, roommate, boss)
  • Set a timer for when the call should arrive
  • Answer the call and have a natural, two-way conversation
  • Use the call as a socially acceptable reason to leave

The goal is to give users control, confidence, and a believable exit without panic or confrontation.

How we built it

Core Framework

  • Framework: Next.js (using the App Router) serves as the full-stack React framework for building the user interface and backend API endpoints.
  • Language: TypeScript is used throughout the project for static typing and improved developer experience.

Frontend

  • Styling: Tailwind CSS is used for utility-first styling, enabling rapid UI development. Custom styles and iOS-inspired themes are managed in globals.css.
  • Animation: Framer Motion is integrated for creating fluid animations and transitions, particularly within the phone UI and component states.
  • Icons: Lucide React provides the icon set used across the application.
  • State Management: React hooks (useState, useEffect, useCallback) and custom hooks such as useConversation and useAutoRecorder.

Backend & AI Services

  • Backend Logic: Next.js API Routes are used to create serverless functions that handle secure communication with external services.
  • Text-to-Speech (TTS) & Speech-to-Text (STT): ElevenLabs API is used for generating realistic AI voices and transcribing the user's speech into text.
  • Conversational AI: OpenAI API (using the gpt-4o-mini model) powers the AI’s contextual and scenario-based responses.

Audio & Data Handling

  • Audio Recording: The browser’s native MediaRecorder API is used to capture audio from the user’s microphone in real time.
  • Local Storage: The browser’s localStorage is used to persist user-created escape plans via a custom useSavedPlans hook.

Challenges we ran into

One major challenge we faced was scope creep. As the project evolved, we continuously came up with new ideas and features that could improve realism and usability, but implementing all of them within a hackathon timeframe wasn’t feasible. We had to make intentional trade-offs and cut features that didn’t directly support the primary goal of a believable and discreet exit.

Another challenge was getting the UI to match our original vision. We wanted the interface to feel indistinguishable from a real incoming phone call, which required careful attention to animations, spacing, timing, and visual details.

Accomplishments that we're proud of

We’re proud that we were able to build a fully functional web prototype that delivers interactive, two-way AI phone calls instead of static or prerecorded audio. Successfully integrating the ElevenLabs API for realistic voice generation, while pairing it with live transcription and conversational AI, allowed us to create an experience that closely mirrors a real phone call. Additionally, two members of our team were first-time hackathon participants, making it especially rewarding to collaborate, learn new technologies quickly, and ship a polished product within the hackathon timeline.

What we learned

Through this project, we learned how to build real-time voice interfaces in the browser and how to orchestrate multiple AI services into a single cohesive flow. We gained a deeper appreciation for the importance of UX details when designing for anxiety-sensitive situations, where believability and ease of use matter as much as technical correctness.

What's next for You Good? (Discreet Exit Strategy)

  • Translate the web prototype into a native mobile application
  • Add deeper personalization options
  • Improve reliability and reduce latency
  • Introduce a playful leaderboard for the fastest successful escapes

Built With

  • elevenlabs
  • mediarecorder
  • next.js
  • openai
  • tailwind
  • typescript
Share this project:

Updates