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

Share this project:

Updates

Submission history