This is a submission for Weekend Challenge: Passion Edition
Every great journey starts with a spark—a passion for tasting an authentic local dish in a hidden alley, the adrenaline rush of an extreme peak, or the quiet reverence of standing inside a thousand-year-old ruin. Yet, modern travel planning feels like filling out a sterile spreadsheet. Standard AI travel assistants often feel mechanical, prompting users with rigid forms, interrupting mid-sentence, or spitting out generic, recycled itineraries.
For this challenge, I built CaravanAI, a next-generation travel companion that treats travel planning not as a logistical chore, but as an enthusiastic, deeply respectful conversation about what you love. It listens to your inner explorer and crafts tailored itineraries driven entirely by your specific passion.
Since this is a specialized local-first voice application optimized for local device audio streams, you can run the full experience natively on your machine by following the steps in the How I Built It section below. For the absolute best Voice Recognition experience, ensure you use Google Chrome.
You can explore the full codebase, review the frontend modular logic, and check out the implementation details here:
CaravanAI is a lightweight, blazing-fast web app engineered with a modern architecture utilizing zero heavy frameworks to keep the interaction completely frictionless.
In our rush to make AI faster and smarter, we forgot to make it respectful. In human culture, conversation has an "adab" (etiquette)—a natural, rhythmic ebb and flow. A core architectural pillar of CaravanAI is its unique Turn-Based Voice Interface, designed around two strict principles:
By engineering this hands-free, turn-based barrier, we strip away the chaotic noise of standard voice bots, ensuring a calm and focused environment.
Clone the repository and enter the directory:
git clone [https://github.com/retsnom12/travelagent.git](https://github.com/retsnom12/travelagent.git)
cd travelagent
shell
Install dependencies:
npm install
properties
Configure Environment Variables (Create a .env file in the root directory):
VITE_GEMINI_API_KEY=your_gemini_api_key_here
VITE_ELEVENLABS_API_KEY=your_elevenlabs_api_key_here
shell
Boot up the local server:
npm run dev
Open http://localhost:5174 in your Chrome browser to start talking to CaravanAI.
Best Use of Google AI
CaravanAI heavily relies on the Google Gemini API (gemini-1.5-flash) as its core brain. It processes the custom combination of budget, destination, and the user's core passion to structure structural, tailored itineraries. To prevent hallucinations, the engine is paired with dynamic contextual grounding, injecting live verified destination data directly into the LLM context window.
Best Use of ElevenLabs
To bring the travel agent's enthusiastic personality to life, I integrated the ElevenLabs API for premium voice synthesis. This provides ultra-natural, emotionally responsive human-like speech generation. The centerpiece of CaravanAI(a dynamic, glassmorphic UI Voice Orb)reflects the AI's current cognitive state in real-time, pulsing vibrant orange while Gemini is synthesizing your route and rippling into bright turquoise while ElevenLabs is speaking to you.