Rally
Inspiration and Core Motivation
Travel planning is currently a fragmented mess of disjointed apps and manual calendar stitching. Rally was built to move beyond "one-shot" generation, creating an interactive planning system that reasons across all contexts in a single, fluid flow, even via voice.
What Rally Does
Rally transforms raw user intent into structured, durable trip plans by:
- Generating multi-day itineraries based on specific user constraints.
- Ranking travel context using a high-precision vector database.
- Triggering live web research when internal data is stale or insufficient.
- Processing voice commands (MP3 to Text) to perform real-time edits like "skip" or "change."
- Persisting data for long-term iteration and retrieval.
- Personalization via Profile Vectors: We embed user preferences (budget, pace, interests, avoid-tags) into profile vectors so each query is steered toward semantically aligned candidates before final reranking.
Technical Architecture
We built Rally using a modular, multi-agent architecture designed for testability and flexibility.
1. The Stack
| Layer | Technology |
|---|---|
| API / Service | FastAPI |
| Orchestration | LangGraph state machine |
| AI Agents | Nemotron (Planner) via OpenRouter and Claude (Research) |
| Multimodal | ElevenLabs (Speech-to-Text) |
| RAG Stack | Qdrant + NVIDIA Embeddings + NVIDIA Reranking |
| Persistence | Databricks SQL Warehouse (with local in-memory fallback) |
2. The Orchestration Flow
The system follows a phased execution path:
ingest_input -> retrieve_rag -> quality_gate -> planner/research -> enrich -> validate
Challenges and Learnings
- Latency vs. Quality Tradeoff: Live web research and reranking significantly boost accuracy but require careful optimization to keep response times acceptable.
- Provider Orchestration: Managing a fleet of providers (Anthropic, OpenRouter, ElevenLabs, etc.) necessitated a robust retry and error-handling framework.
- Deterministic Policy Gates: We learned that agentic workflows are only as reliable as the validation logic wrapping the LLM's reasoning.
- Stateful Mutations: Safely applying edits to a living itinerary without breaking the structure required an advanced audit logging and mutation engine.
Accomplishments We're Proud Of
- True Agentic Flow: Moved beyond simple chains to a dynamic orchestrator that decides when to research.
- Multimodal Integration: Successfully mapped voice transcription to structured intent for itinerary mutations.
- Durable Persistence: Built a system that treats trips as long-lived entities with full event histories and cache-aware retrieval.
What is Next for Rally
- Further improvement for user experience
- Performance Optimization: Implementing smarter parallelism to reduce latency across the research and planning phases.
- Expanded Mutations: Adding batch edits and constraint-aware replanning (e.g., "re-plan my Tuesday but keep the 7 PM dinner").


Log in or sign up for Devpost to join the conversation.