Inspiration
Most of us know we should negotiate — on home repairs, hotel rates, medical bills, car services, even utilities — but we almost never do. Picking up the phone, waiting on hold, and haggling with a stranger is stressful, awkward, and easy to avoid.
At the same time, AI voice agents have finally become capable of natural, real-time conversation. That inspired us to ask:
What if you could simply describe what you need, and an AI agent would make the uncomfortable call, negotiate on your behalf, and only come back when it secured the best deal?
Haggle is our answer.
What it does
Haggle is an autonomous voice negotiation agent that calls real service providers and works to lower prices for you.
- You describe your problem (e.g., water heater replacement, hotel rate adjustment, car repair estimate, medical bill negotiation).
- Haggle asks a short series of smart clarifying questions to shape its negotiation strategy.
- It automatically calls providers, introduces “you,” and negotiates based on your constraints.
- The call flow is fully autonomous — the agent handles objections, counteroffers, tone, and timing.
- When calls finish, Haggle shows contacted providers, initial quotes, final negotiated prices, and call statuses.
How we built it
We built Haggle as a full-stack agentic system with an intuitive, guided user experience.
Frontend: Next.js for our landing page with dropdown input.
Backend: Generates 5 dynamic follow-up questions using Grok LLM to refine context. Used Grok Search to find phone numbers of service providers in the user's area. Built a custom "call console UI" showing: provider list, numbers called, live call state.
Voice Integration: Integrated agentic LLM workflows and voice APIs for real-time calling and negotiation logic. Used Twilio for phone calls and Grok Realtime API for voice synthesis, with audio transcoding between Mulaw 8k and PCM 24k formats.
Challenges we ran into
- Making the agent sound convincingly human required extensive tuning of tone, timing, and phrasing.
- Providers behave unpredictably — some reject negotiating outright, some go off-topic — requiring robust fallback logic.
- Building a convincing call console meant designing like a real telephony operations dashboard.
- Keeping the UX simple despite multiple inputs and states required multiple design iterations.
Accomplishments that we're proud of
- A fully autonomous negotiation workflow built in under 24 hours.
- Realistic agent negotiations with natural pushback, anchoring, and closing behavior.
- A powerful follow-up question system that significantly improves negotiation outcomes.
What we learned
- Designing agentic phone-call systems requires new patterns for timing, tone, recovery, and etiquette.
- Step-by-step clarifying questions produce far better outcomes than long, unstructured prompts.
What's next for Haggle
- Supporting user accounts, deal history, and savings analytics.
- Evolving Haggle into a consumer app that monitors bills and large purchases and automatically negotiates on your behalf.
Built With
- fastapi
- grok
- next.js
- python
- react
- sql
- supabase
- tailwind
- twilio
- typescript
- websockets
- xai
Log in or sign up for Devpost to join the conversation.