$ cat ~/work/indieyatra.case

IndieYatra.
Full-stack product · Shipped
// India's multi-modal travel super-app — buses, trains, flights, and hotels unified in one platform, with live GPS tracking, AI trip planning, and support for 8 Indian languages.
// Impact at a glance
- - 500+ bus operators, 20,000+ trains, all domestic airlines, 500+ hotels — unified in one interface
- - Live GPS tracking via WebSocket and AI trip planning with Claude for natural language itineraries
- - Multilingual UI across 8 Indian languages with instant switching — built for India's 1.4 billion users
// summary
IndieYatra is a full-stack travel booking platform built for India's fragmented transport landscape. It unifies 500+ bus operators, 20,000+ trains, all domestic airlines, and hotels in a single interface — with real-time GPS tracking via WebSocket, an AI trip planner powered by Claude, and multilingual UI across 8 Indian languages.
// problem
India's travel booking is split across dozens of apps and portals — separate systems for buses, trains, flights, and hotels with no unified search, no live tracking, and no AI assistance to handle the complexity of multi-modal journeys.
// what I built
A unified platform: Next.js frontend with Clerk auth, a Go backend with Echo and GORM, PostgreSQL and Redis for data and caching, WebSocket for live bus tracking, and Claude for natural language trip planning — all deployed as a monorepo on Vercel.
// core experience
- - Search and book buses, trains, flights, and hotels from a single interface with smart autocomplete, voice search, and price calendars
- - Live GPS bus tracking via WebSocket — real-time position updates for 500+ operators across India
- - AI Trip Planner: describe your journey in natural language and get a complete multi-modal itinerary via Claude
// architecture
- - Next.js 14 + TypeScript frontend with Clerk auth, Zustand state, and Recharts for price intelligence charts
- - Go 1.24 + Echo + GORM backend with PostgreSQL and Redis; Gorilla WebSocket for real-time tracking
- - Monorepo on Vercel; seed data covering 30 cities, 57 train stations, 28 airports, 18+ bus operators, 100+ flight routes
// ai involvement
Claude powers the AI Trip Planner — users describe their journey in natural language and get a structured, multi-modal itinerary. Price intelligence features (fare-drop alerts, best-day-to-book) add decision-support on top of the booking layer.
// challenges
- - Normalizing heterogeneous data from buses, trains, flights, and hotels into a seamless unified search and booking interface
- - Real-time GPS tracking at scale — WebSocket connections for 500+ bus operators without degrading the booking UX
- - Multilingual UI across 8 Indian languages (Hindi, Marathi, Tamil, Kannada, Telugu, Bengali, Gujarati, English) with instant switching
// outcome
Shipped demo with full booking flows across all four transport modes, live tracking, AI trip planning, a rewards system, and multilingual support covering all major Indian travel corridors.
// why this matters
It shows I can build complex, data-heavy consumer platforms with real-time features, multilingual UX, and AI integration — not just developer tools or dashboards.
// reflection
The hardest part is normalization — every transport mode has different data models, availability APIs, and booking flows. The product only works if the unified layer feels seamless to the user.
// capabilities
// links