Inspiration

The idea for Venture came directly from personal experience when I went backpacking across Europe.

I was standing in a hostel lobby with my laptop open, living every traveler’s nightmare: fifteen open browser tabs, a dead battery warning, and sheer cognitive overload. I had Google Flights open trying to fly out of the city I was in, Skyscanner open to compare prices, three different national railway sites trying to decipher local train schedules, and a notes app doing mental gymnastics to figure out if taking a two-hour regional train to a neighboring hub was actually worth the hassle and cost.

Every legacy flight tool forced me into an arbitrary box: pick one airport code, search that single runway, and take whatever price the airlines dictate. If a train ride to an airport one region over could save me hundreds of dollars, Google Flights would never tell me. They assume you have teleportation, or that you're willing to flush cash down the drain on overpriced regional flights.

I asked myself: What if flight search actually worked the way real travelers think? What if an app could look at your entire region, price the ground transit and your time, and automatically find the smartest journey?

That was the moment Venture was born.


What it does

Venture is a curated flight and overland travel atlas built for modern travelers. Instead of locking you into a single airport code, Venture prices your entire region by unifying flights, ground transit, and the value of your time.

Core Features

  • Regional Multi-Hub Discovery: You enter where you are and how far you're willing to travel on the ground. Venture automatically scans all commercial departure hubs in your radius—uncovering flights and savings you would have otherwise missed.
  • Multimodal Ground Corridors: It automatically factors in realistic overland transit—high-speed trains, express coaches, or driving routes—complete with fares, transit times, and safe transfer buffers before your flight.
  • True Opportunity Cost Formula: Venture scores every option using a simple economic reality: your time has value.

$$C_{\text{total}} = F_{\text{flight}} + C_{\text{ground}} + (T_{\text{ground}} \times V_{\text{time}})$$

Where:

  • Flight Fare: The cost of the airfare
  • Ground Cost: The price of the train or bus ticket
  • Transit Duration: Overland transit time in hours
  • Hourly Value: What you value one hour of your personal time

  • Interactive Time-Value Slider: An on-screen slider lets you dial in your personal hourly value. As you adjust it, the entire route ranking updates instantly on the client side with zero delay, calculating the exact break-even point for your trip:

$$V_{\text{break-even}} = \frac{(F_{\text{home}} - F_{\text{alt}}) - C_{\text{ground}}}{T_{\text{ground}}}$$

If your hourly time value is less than the break-even rate, taking the train detour to the neighboring airport is mathematically profitable.

  • Visual Travel Atlas: An interactive geospatial radar maps out your catchment area, overland ground corridors, and flight arcs across a clean, editorial interface.
  • Built-In Travel Readiness: Once you discover your route, Venture prepares you for your destination with country intelligence: local cultural etiquette and taboos, emergency phone numbers, electrical plug standards, and dynamic packing lists.
  • One-Click Booking: Directly routes you to verified booking providers with strict date formatting and partner attribution.

How we built it

Architecture Overview

 ┌────────────────────────────────────────────────────────────────────────┐
 │                      Frontend (Next.js 14, React 18)                   │
 │  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  ┌─────────────┐ │
 │  │React-Leaflet │  │Framer Motion │  │Tailwind CSS  │  │Radix UI     │ │
 │  │Geospatial Map│  │Card Streams  │  │Design Tokens │  │Primitives   │ │
 │  └──────────────┘  └──────────────┘  └──────────────┘  └─────────────┘ │
 └────────────────────────────────────────────────────────────────────────┘
                                     │
                                     ▼ (NDJSON Stream / SSE / REST)
 ┌────────────────────────────────────────────────────────────────────────┐
 │                    Backend API & Core Engine (Node.js)                 │
 │  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  ┌─────────────┐ │
 │  │/api/reverse  │  │/api/go       │  │/api/trips    │  │/api/radar   │ │
 │  │Streaming Hubs│  │Affiliate Gate│  │SQLite Engine │  │Proximity GIS│ │
 │  └──────────────┘  └──────────────┘  └──────────────┘  └─────────────┘ │
 └────────────────────────────────────────────────────────────────────────┘
                                     │
                                     ▼
 ┌────────────────────────────────────────────────────────────────────────┐
 │                   Providers, Data & Storage Layer                      │
 │  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  ┌─────────────┐ │
 │  │Aviasales     │  │Ground Matrix │  │node:sqlite   │  │Deterministic│ │
 │  │Travelpayouts │  │Rail & Coach  │  │ACID Database │  │Benchmark Mock││
 │  └──────────────┘  └──────────────┘  └──────────────┘  └─────────────┘ │
 └────────────────────────────────────────────────────────────────────────┘

Technical Implementation

  • Next.js 14 & React 18: Developed with TypeScript, Tailwind CSS, and Framer Motion for a warm, editorial atlas design with smooth animations.
  • Progressive NDJSON Streaming: Querying multiple regional airports can take 30+ seconds on legacy systems. We built an HTTP streaming pipeline (/api/reverse) that renders results progressively, pushing the first card onto the screen in ~3 seconds.
  • Haversine Spherical Distance Engine: Airport proximity is computed mathematically using spherical trigonometry in src/lib/airports.ts:

$$d = 2R \arcsin\left(\sqrt{\sin^2\left(\frac{\Delta \phi}{2}\right) + \cos(\phi_1)\cos(\phi_2)\sin^2\left(\frac{\Delta \lambda}{2}\right)}\right)$$

Where R = 6,371 km (Earth's radius), φ represents latitude, and λ represents longitude.

  • In-Flight Concurrency Throttling: Built an in-process queue limiter (p-limit: 5) and a 15-minute in-memory cache to prevent third-party HTTP 429 rate limit errors when checking dozens of hub combinations.
  • Dual-Engine Persistence: Utilizes Node.js 22 native node:sqlite directly against disk (trips.db), automatically mirrored to an offline JSON snapshot for cloud portability and zero database configuration.
  • Automated Testing Suite: 79 passing automated tests in Vitest covering scoring formulas, date sanitizers, currency conversions, and database transactions.

Challenges we ran into

  • Preventing API Rate Limits & Timeouts: Querying multiple regional hubs across flexible dates quickly hit third-party API rate limits. We solved this by implementing an in-process concurrency queue (p-limit: 5) alongside a metro-code resolver that groups satellite airports (e.g., mapping NYC to JFK/EWR/LGA), tripling cache hit rates.
  • Third-Party Date Parsing Quirks: Passing standard ISO 8601 date strings (YYYYMMDD or YYYY-MM-DD) into external booking URL paths caused partner checkout engines to crash due to day/month parsing conflicts. We wrote an algorithmic DDMM date slug compiler in src/lib/aviasales-url.ts and /api/go to ensure 100% reliable handoffs.
  • Instant Client-Side Time Valuation: Recalculating the opportunity cost on the backend every time a user dragged the hourly wage slider created lag. We moved the mathematical evaluation engine into the browser client, enabling immediate 60 fps re-ordering with zero network latency.
  • SSR Hydration in Map Renderers: Leaflet interacts directly with the browser's window object upon import, causing Next.js SSR hydration errors. We wrapped the map components in dynamic client-only imports (ssr: false) and built custom SVG markers.

Accomplishments that we're proud of

  • Turning a 30-Minute Ordeal into 3-Second Streaming: Cut down what used to be a frustrating multi-tab manual search into an automated streaming query that renders its first result in ~3 seconds.
  • Uncovering Real, Actionable Savings: Proving that factoring in overland high-speed rail can save travelers hundreds of dollars on international itineraries.
  • 79 Passing Automated Tests: Shipped a production-ready application backed by 79 passing tests across 10 test suites with zero build warnings.
  • Zero-Config Database Layer: Implemented native node:sqlite storage that requires zero external server setup, runs instantly on any machine, and mirrors safely to backup files.
  • Holistic Travel Companion: Built an application that doesn't just stop at booking tickets, but equips travelers with cultural etiquette, phrases, and emergency readiness.

What we learned

  • Intermodal Travel is an Arbitrage Opportunity: National rail networks and international airlines operate in completely isolated silos. Connecting them unlocks massive financial and experiential value for travelers.
  • Perceived Speed Outweighs Batch Speed: Streaming live results progressively via Server-Sent Events makes the app feel instantaneous, even when evaluating dozens of route combinations.
  • Time Economics Make Travel Decisions Rational: Travelers don’t just want the cheapest flight; they want the smartest balance between ticket price, comfort, and their personal time.

What's next for Venture

Immediate Roadmap (Next 3 Months)

  • Direct European Rail API Integration: Expanding ground coverage beyond pre-indexed corridors by integrating live API feeds from Deutsche Bahn, SNCF, Trenitalia, Renfe, and Eurostar via Railnova/Omio.
  • Real-Time Transit Delay Alerts: Adding push notifications that alert travelers hours before departure if regional transit suffers delays, suggesting alternate express routes to safeguard airport transfer buffers.
  • Luggage Courier Logistics: Partnering with luggage forwarding services so travelers can ride high-speed rail hands-free while their bags ship directly to their destination hotel.

Long-Term Vision (Next Year)

  • Multi-Origin Group Hub Discovery: Allowing distributed remote teams or families in different cities to find the optimal meeting destination that minimizes total flight and rail costs for everyone.
  • Autonomous One-Click Intermodal Booking: Expanding the gateway into a unified checkout that purchases both high-speed rail tickets and international flights in a single transaction.
  • The Global Standard for Overland & Flight Exploration: Establishing Venture as the definitive travel atlas for travelers who refuse to be boxed in by single-airport search.

Built With

Share this project:

Updates

Submission history