Inspiration

Most fitness apps are great at planning but weak at accountability. We wanted to build something that feels like a real coach who notices when you slip, pushes you to respond, and helps you recover fast instead of quitting.

What it does

pain.exe creates a goal-based training plan, tracks daily compliance, and escalates coaching pressure when workouts are missed. It offers recovery actions, shows debt/escalation state in real time, and supports live voice coaching through ElevenLabs-powered conversations.

How we built it

We built the app with a Next.js frontend, an Express/Node backend, and MongoDB Atlas for users, plans, goals, escalations, and voice session history. For the voice experience, we integrated ElevenLabs and tested different settings to make the coach feel realistic, including uploading reference clips to tune the model toward the David Goggins-style delivery we wanted for the demo. Then we connected mic input in the call modal to backend voice-session endpoints so users can talk to the coach and hear spoken replies in real time.

Challenges we ran into

The biggest challenges were real-time voice flow reliability, syncing frontend expectations with backend schema updates, and handling fallbacks when telephony/voice providers were unavailable. We also had to carefully debug session lifecycle issues so calls, transcripts, and state updates stayed consistent.

Accomplishments that we're proud of

We shipped a full demo loop: onboarding, missed-workout escalation, recovery flow, and interactive voice coaching in one experience. We also built robust fallback behavior, rate-limited APIs, seeded demo states, and documented contracts so frontend and backend stayed aligned under hackathon pressure.

What we learned

We learned that strong API contracts and schema discipline matter more than speed when multiple people are building in parallel. We also learned that conversational UX needs graceful degradation by default, because provider, browser, and audio constraints can fail at any time.

What's next for pain.exe

Next, we want to harden real telephony support, improve speech reliability across browsers, and make the coaching loop more adaptive with richer user context and longer-term progress memory. After that, we plan to add production auth, analytics, and safer voice/persona controls for broader rollout.

Built With

  • api
  • elevenlabs-(tts-+-conversational-ai-agent)
  • express.js
  • mongodb-(atlas)
  • next.js-(app-router)
  • node.js
  • react
  • speech
  • tailwind-css
  • twilio-webhook/call-integration-scaffolding
  • typescript
  • web
Share this project:

Updates