trAAvl is a full-stack hackathon prototype that improves the airline disruption experience through a passenger AI copilot and an operations control center. It focuses on clear, real-time guidance during delays, gate changes, missed connections, and baggage issues, while giving ops teams tools to triage risk and coordinate support.
Disclaimer: trAAvl is a hackathon prototype and is not affiliated with or endorsed by American Airlines.
Flight disruptions create confusion and long support lines because passengers lack personalized guidance and staff lack a unified way to triage impact. trAAvl addresses this with a single timeline for passengers and an ops dashboard that surfaces risks and actionable next steps.
- RAG-grounded AI Assistant: Answers passenger questions using verified trip context only, designed to avoid hallucinating gates, times, or itinerary details.
- Trip Timeline: Real-time flight status, delay indicators, and gate change alerts.
- Connections Coach: Connection feasibility scoring plus step-by-step transfer guidance using a gate-distance model for select airports.
- Disruption Recovery Hub: Rebooking guidance, nearby hotel suggestions, and ground transport instructions.
- Baggage Help: Report mishandled baggage and track case status updates.
- At-Risk Connection Dashboard: Highlights flights and connections with elevated misconnect risk.
- Assistance Queue: Tracks wheelchair, cart, or escort requests with dispatch and resolution status.
- Scenario Simulator: Generates realistic events like delays, gate changes, holds, cancellations, and baggage updates for an end-to-end demo.
- Optional module: Volunteer and overbooking flow with simulated compensation bids.
- Frontend: Modern React interface with a consistent glass-style design system and animations.
- Backend: Secure APIs and realtime updates so passengers and employees see changes immediately.
- Data model: Trips and flight segments plus an event stream for updates such as delays, gate changes, holds, and baggage status.
- AI: Gemini 2.5 Flash is used to power a passenger assistant that is constrained to verified user context and approved sources.
- Frontend: React, TypeScript, Vite, Tailwind CSS, shadcn/ui, Radix UI, Framer Motion, Zustand
- Backend and DB: Supabase (PostgreSQL, Auth, Row-Level Security, Realtime, Edge Functions)
- AI: Google Gemini 2.5 Flash via an Edge Function
- Maps and routing: Google Maps for ground transport and a lightweight airport gate graph for connection routing
- Visualization: Recharts for operations dashboards
The passenger chatbot uses a Retrieval-Augmented Generation approach where trip context is provided to the model and strict grounding rules are enforced. The assistant is designed to answer questions about flights, gates, seats, baggage status, vouchers, and recovery options only when that information is available in the user’s context. For questions outside that context, it responds with clear limitations and suggests the next best step.
- Row-Level Security is enforced on user-scoped tables to prevent cross-user access.
- Authentication is handled through Supabase Auth.
- Secrets like AI keys are stored server-side and are never exposed to the client.
- Node.js 18+
- A Supabase project
- Clone the repo and install dependencies.
- Create a Supabase project and apply the database migrations and seed data.
- Configure environment variables for the frontend and backend.
- Run the app in development mode.
Set these values in your local environment and in Supabase secrets as appropriate:
- Supabase URL and anonymous key for the frontend
- Gemini API key for the Edge Function
- Google Maps API key if using map features
A recommended demo uses the simulator to trigger an end-to-end disruption story:
- Passenger opens a trip timeline.
- Ops triggers a delay and gate change.
- Passenger sees connection risk update and receives recovery guidance.
- Passenger requests assistance and ops resolves it.
- Passenger explores rebooking and hotel options.
- Ops triggers a baggage update and passenger sees the status change.
- Passenger UI components and pages
- Employee portal components and dashboards
- Shared stores for state management
- Supabase Edge Functions for server-side AI calls and protected logic
- Database schema and seed data for airports, flights, trips, and disruption events
- Push notifications for disruption events
- Voice mode for hands-free passenger guidance
- Proactive recovery suggestions before cancellations
- Expanded airport routing coverage and accessibility-aware navigation