Entdeckr is an agentic weekend trip planner that transforms your travel ideas into detailed, personalized itineraries. Simply describe your dream weekend getaway, and our AI assistant will guide you through a clarification process before generating a complete plan with interactive map visualization.
Flow: describe → clarify → revise → explore → listen
Experience your itinerary with Tour Guide Mode - an audio narration feature that provides engaging audio commentary for all activities, bringing your trip to life with fun facts, historical context, and local tips.
Built during the Cursor Hackathon Stuttgart, Entdeckr demonstrates the power of combining AI, real-time collaboration, and interactive mapping to create an engaging trip planning experience.
- 🤖 AI-Powered Planning: Uses OpenRouter/LLM to generate personalized 2-3 day weekend itineraries
- 💬 Interactive Clarification: Asks intelligent clarifying questions to understand your preferences (budget, interests, constraints)
- 🗺️ Map Visualization: Mapbox integration to visualize all trip locations on an interactive map
- 🎙️ Audio Tour Guide: ElevenLabs integration for audio narration of your itinerary
- ⚡ Real-time Sync: Convex backend for real-time state management and collaboration
- 📋 Itinerary Management: Create, edit, rename, and delete trips with ease
- ✅ Activity Tracking: Mark activities as visited as you explore
- 💭 Chat Interface: Interactive chat to refine and adjust your plans on the fly
Main interface - Start planning your weekend trip
Interactive clarification - AI asks questions to understand your preferences
Exploring itinerary - View and interact with your generated plan
Map visualization - See all locations on an interactive map
- Node.js 18+ installed
- npm package manager
- Accounts for the following services (see API Tokens section)
-
Clone the repository
git clone https://github.com/eintim/entdeckr-poc.git cd travel-planner -
Install dependencies
npm install
-
Set up Convex
npx convex dev
This will:
- Create a Convex deployment
- Generate the
CONVEX_DEPLOYMENTvalue - Provide the
NEXT_PUBLIC_CONVEX_URLfrom the dashboard
-
Configure environment variables
Create a
.env.localfile in the root directory and add the following:# Convex (from npx convex dev) CONVEX_DEPLOYMENT=your-deployment-id NEXT_PUBLIC_CONVEX_URL=https://your-deployment.convex.cloud # OpenRouter (for LLM) OPENROUTER_API_KEY=your-openrouter-api-key # Mapbox (for map visualization) NEXT_PUBLIC_MAPBOX_ACCESS_TOKEN=your-mapbox-access-token # ElevenLabs (optional, for audio tour guide) ELEVENLABS_API_KEY=your-elevenlabs-api-key
You'll need API keys from the following services:
-
Convex (Required)
- Run
npx convex devto set up your deployment - The deployment ID and URL will be provided automatically
- Run
-
OpenRouter (Required)
- Sign up at OpenRouter
- Get your API key from the dashboard
- Used for AI-powered itinerary generation
-
Mapbox (Required)
- Sign up at Mapbox
- Create an access token in your account settings
- Used for interactive map visualization
-
ElevenLabs (Optional)
- Sign up at ElevenLabs
- Get your API key from the dashboard
- Used for audio tour guide narration (app works without it)
-
Start the development server
npm run dev npx convex dev
-
Open your browser Navigate to http://localhost:3000
-
Start planning! Enter your travel idea and let Entdeckr create your perfect weekend itinerary.
- Next.js 16 - App Router with TypeScript
- Convex - Realtime backend and state management
- OpenRouter - LLM API for AI-powered planning
- Mapbox GL - Interactive map visualization
- ElevenLabs - AI voice synthesis for audio tours
- Tailwind CSS - Styling
- Shadcn UI - UI component library
- Zod - Schema validation
Built with ❤️ by:
- @eintim - Tim Horlacher
- @bvanelli - Brunno Vanelli
- @abdulmoeez1225 - Abdul Moeez
- @LiviaMH - Lívia Mirszlai-Horváth
This project was built during the Cursor Hackathon Stuttgart as a proof-of-concept (POC) in 6 hours. Most of the code was "vibecoded" (rapidly developed) to meet the demo deadline and is not production-ready.
Please note:
- This code is not representative of our normal coding standards
- The codebase may contain bugs, technical debt, and shortcuts
- Error handling and edge cases may be incomplete
- The architecture prioritizes demo speed over production best practices
- This is a learning project and should not be used as a reference for production code
Use at your own risk! 🚧
Made with ⚡ during the Cursor Hackathon Stuttgart