Voyabl
Inspiration
Travel information is scattered across airline apps, email confirmations, airport websites, weather services and messaging apps. We wanted to create one intelligent companion that helps travelers understand their entire journey, from booking to landing.
What we built
Voyabl is a travel companion for flights and trips. It brings together:
- Flight search, tracking and status updates
- Trip organization and airport context
- Journey Mode with stage-based travel guidance
- Travel briefings and personalized notifications
- Offline-first access to essential trip information
- Public trip sharing for family and friends
- Native notifications, widgets and Live Activities
- Pilot AI for travel questions and assistance
Instead of presenting a wall of flight data, Voyabl focuses on the next useful action. A traveler can see what is happening, what is likely to happen next and what they should do about it.
How we built it
Voyabl is built with React Native, Expo Router and TypeScript to support a shared iOS and Android experience. Supabase powers authentication, database operations, server functions and storage. React Query provides caching, persistence and offline behavior.
Live aviation data flows through Supabase Edge Functions and normalized service adapters. This keeps provider-specific details away from the client and gives the app a consistent model for flight status, tracking, airport operations, weather and destination information.
The app also includes native integrations for platform features such as iOS Live Activities, widgets, local notifications, maps and secure storage. Journey Mode and Pilot AI use the user’s trip context to provide more relevant guidance while preserving clear distinctions between live, scheduled, calculated and user-entered information.
Challenges
One of the biggest challenges was making aviation data useful and trustworthy despite inconsistent provider formats, delayed updates, and missing fields. We designed the system to normalize these responses and show provenance instead of presenting uncertain information as fact.
Offline behavior was another important challenge. Travelers may lose connectivity in airports, on aircraft or while roaming internationally, so key trip and flight information needs to remain available. We combined persisted queries, local caches and queued mutations to make the experience resilient when the network disappears.
We also had to balance a feature-rich travel experience with a calm interface that works at a glance. Supporting native capabilities across iOS and Android while keeping the product consistent added another layer of complexity.
What we learned
We learned that a travel tool is most valuable when it reduces uncertainty rather than simply displaying more information. Clear provenance, graceful offline behavior, and timely context are just as important as raw flight data.
We also learned that good travel assistance is highly situational. The same flight can require completely different information before departure, during a connection or after landing. Designing around journey stages helped us turn a collection of features into a more coherent companion.
What's next
We plan to continue improving the accuracy and coverage of live aviation data, expand Journey Mode to support more travel situations and make Pilot AI even better at grounding its answers in the traveler’s itinerary and current context.
Built With
- ai
- android
- aviation-apis
- expo-router
- ios
- live-activities
- offline-first
- react-native
- supabase
- typescript
- widgets
Log in or sign up for Devpost to join the conversation.