Inspiration
I'm a third-year university student in Kenya. A few months ago, my friends and I started a laser cutting business — napkin holders, custom engravings, personalized gifts. We figured the hard part would be the craft. We were wrong.
The hard part is selling.
I've always been a "books" typa person. Give me a textbook, I'll ace the exam. But put me in front of a customer who says "that's too expensive" or "I'll think about it"? I freeze. My mind goes blank. I stumble. I lose the sale.
I tried reading sales books. Watched YouTube videos. But reading about objections and handling them in real-time are completely different skills. It's like reading about swimming versus jumping in the water.
I needed practice. Real, uncomfortable, repeated practice — without the embarrassment of fumbling in front of actual customers.
So I built Objection Dojo.
What I Built
An AI sparring partner for sales conversations. You speak your pitch out loud, and a skeptical AI fires back objections — just like a real customer would.
The AI persona is "The Skeptic CTO" — impatient, direct, and hard to impress. A Patience Meter shows how you're doing. Convince them, you close the deal. Bore them or fumble, they hang up.
It's like Duolingo, but for sales. Practice the hard conversations until they become muscle memory.
How I Built It
Frontend: Next.js 14, TypeScript, Tailwind CSS, Framer Motion. Voice input via the browser's Web Speech API — no app download needed.
Backend: Python FastAPI orchestrating three services:
- Cerebras — ultra-fast AI responses
- ElevenLabs — natural text-to-speech so the AI talks back
- LiquidMetal Raindrop SmartMemory — remembers the conversation context
Everything happens in one API call. You speak, the AI thinks, responds with voice, and updates your score — all in under 2 seconds.
Challenges I Faced
Latency killed the vibe. Early versions had 4-5 second delays. Conversations felt robotic. I fixed this by moving all API orchestration server-side — one round-trip instead of three.
Audio feedback loops. The AI's voice would get picked up by the mic, confusing everything. Solution: disable recording while audio plays, re-enable when it ends.
Making the AI actually tough. Early prompts were too nice. I had to engineer a persona that pushes back hard — because real customers do.
What I Learned
- Building for yourself creates better products. I know exactly what's missing because I feel the pain.
- Voice UX is deceptively hard. Timing, feedback, state management — every detail matters.
- Sales is a skill, not a talent. And skills can be practiced.
What's Next
- More personas: The Budget Blocker, The "Send Me an Email" Deflector
- Analytics to track improvement over time
- Swahili language support for East African markets
- Team mode for sales training in organizations
Built With
- api
- cerebras
- css
- elevenlabs
- fastapi
- framer
- liquidmetal
- motion
- next.js
- pydantic
- python
- raindrop
- smartmemory
- speech
- tailwind
- typescript
- vercel
- web
Log in or sign up for Devpost to join the conversation.