Pravah is an early-stage, production-ready foundation for an AI-powered travel planning platform. It combines LLM intelligence, real-time maps, and deep observability to demonstrate how a scalable, reliable AI system can be built and monitored in practice.
This project represents the initial, foundational version of Pravah, intentionally designed as a strong technical baseline rather than a feature-complete product.
- User selects source & destination using Google Places Autocomplete
- Visualizes real driving routes on Google Maps
- Displays distance & ETA
- Generates AI-recommended intermediate stops (food, nature, heritage, rest)
- Places accurate markers directly on the route
- Presents a clean itinerary summary UI
The current focus is correctness, reliability, and observability — not feature overload.
- Uses Gemini 2.5 Flash for itinerary generation
- Structured JSON-only responses for reliability
- Intelligent stop placement logic (semantic match + fallback)
- Graceful error handling and retries
This layer is intentionally instrumented for LLMOps observability, making it suitable for real-world AI deployment scenarios.
Pravah is designed with production observability as a first-class concern, even at this early stage.
Backend & API
pravah.api.request.countpravah.api.request.latency_mspravah.api.request.errorpravah.journey.startedpravah.journey.completed
LLM (Gemini)
pravah.llm.request.countpravah.llm.latency_mspravah.llm.response.successpravah.llm.response.failure
AI Output Quality
pravah.ai.itinerary.stop.countpravah.ai.fallback.used
- High API error rate
- High LLM latency
- LLM agent error spikes
- Silent failures (no successful LLM calls)
- Integration health monitoring
Each alert is actionable and tagged by environment and service.
The dashboards surface:
- API performance and reliability
- Journey funnel (start → completion)
- LLM latency and success/failure
- AI output behavior
- Container-level CPU metrics (Docker)
These dashboards reflect how early AI platforms should be monitored in production.
React Frontend (Vite)
|
v
FastAPI Backend (Python)
|
+--> Google Maps APIs
|
+--> Gemini LLM
|
+--> Datadog Metrics & Monitoring
All services are orchestrated via Docker Compose.
- Docker Desktop
- Datadog API key
- Google Maps API key
- Gemini API key
Create a .env file locally (never committed):
# Datadog
DD_API_KEY=your_datadog_api_key
DD_SITE=us5.datadoghq.com
# Gemini
GEMINI_API_KEY=your_gemini_api_key
# Google Maps
VITE_GOOGLE_MAPS_API_KEY=your_google_maps_keydocker-compose up --build| Service | URL |
|---|---|
| Frontend | http://localhost:5173 |
| Backend (FastAPI Docs) | http://localhost:8000/docs |
| Datadog | https://app.datadoghq.com |
- Clone the repository
- Create a
.envfile - Run
docker-compose up --build - Use the web UI
- Observe live metrics and alerts in Datadog
This workflow mirrors real production onboarding.
- Secrets stored only in environment variables
.envexcluded via.gitignore- No hard-coded credentials
- Reproducible Docker-based setup
Pravah is intentionally positioned as a starting point for a larger platform:
- Voice-based trip planning
- Real-time navigation updates
- Personalization and memory
- Cost-aware LLM routing
- Distributed tracing (APM)
- Multi-agent planning and feedback loops
Built as a foundational prototype to demonstrate how modern AI systems should be designed, observed, and deployed from the very beginning.