Inspiration

Getting auto repair quotes is a frustrating, time-consuming process. After vehicle damage, owners must manually call multiple repair shops, describe the same damage repeatedly, wait on hold, and then somehow keep track of different prices, timeframes, and availability. This process can take hours and still leave you uncertain whether you're getting a fair deal. We asked: what if AI could handle the tedious phone calls for you, simultaneously, and deliver a clear comparison in minutes instead of hours?

What it does

AutoQuote is an end-to-end intelligent system that transforms vehicle damage photos into booked repair appointments. The workflow is: Image Upload & Analysis: Users upload a photo of their vehicle damage. The system uses Freepik's Image-to-Prompt API to generate a detailed damage assessment describing the affected areas, severity, and likely repair types needed.

Smart Shop Discovery: Using the user's geolocation (or a default location), the system leverages Yutori's Research API to perform intelligent web searches, finding nearby repair shops complete with ratings, reviews, services offered, and contact information.

Interactive Map Visualization: All discovered shops are displayed on a Leaflet-powered map with detailed popups, allowing users to see shop locations relative to their position.

AI Voice Calling for Quotes: The system deploys VAPI-powered AI phone agents that call multiple repair shops simultaneously. Each AI agent explains the damage, requests a quote, and captures pricing, estimated repair duration, and availability.

Quote Comparison & Ranking: Results are aggregated and AI-ranked based on price, estimated time, and shop ratings, presenting users with a side-by-side comparison.

One-Click Booking: Users can book their preferred shop directly through another AI phone call that handles appointment scheduling and returns a confirmation number.

How we built it

The architecture is a full-stack TypeScript application with clear separation of concerns: Frontend: Built with React 18, TypeScript, and Vite for fast development iteration. We used Leaflet with react-leaflet bindings for the interactive map component. The UI features drag-and-drop image upload, real-time status updates during AI operations, and calling animations that visualize when the AI is on the phone with shops. Backend: An Express.js server (TypeScript) exposes REST endpoints for each stage of the pipeline: /api/analyze-image, /api/search-shops, /api/call-shops, /api/call-status/:sessionId, /api/book-appointment, and /api/booking-status/:bookingId. The backend orchestrates all external API calls and manages session state. External API Integrations:

Freepik Image-to-Prompt API: Converts uploaded damage photos into detailed textual descriptions Yutori Research API: Performs deep web searches to discover repair shops, extracting structured data from search results VAPI Voice AI: Powers the autonomous phone agents that call shops and conduct conversations OpenStreetMap Nominatim: Handles geocoding and reverse geocoding for location services

Caching Layer: We implemented a dual-layer caching strategy—local JSON files for fast access and AWS DynamoDB for cloud persistence. This prevents redundant API calls and ensures responsive UX even when external services are slow. A 15-second timeout returns cached results immediately while background fetches update the cache.

Challenges we ran into

Auth0 with NextJS 16 was super buggy so we couldn't integrate it in time.

Accomplishments that we're proud of

True End-to-End Automation: We achieved our core vision—a user can go from photo upload to confirmed appointment without making a single phone call themselves. The AI handles everything.

What we learned

Voice AI Requires Careful Prompt Engineering: Getting VAPI agents to consistently extract the right information while sounding natural took extensive iteration. Small prompt changes dramatically affect conversation quality and data extraction reliability.

What's next for AutoQuote

Insurance Integration: Partner with insurance providers to automatically pull claim information and pre-populate damage descriptions, and potentially enable direct-to-insurer quote submissions.

Built With

Share this project:

Updates