Voldeluxe specializes in USA-to-India travel routes. I built the platform from flight search through booking, integrating with Amadeus GDS for real-time availability and pricing.
voldeluxe.com - Homepage
What Made This Hard
Amadeus returns massive, complex datasets. The GDS API returns thousands of flight combinations from hundreds of carriers. Each result includes intricate fare rules, multi-leg itineraries, airline-specific pricing, and real-time availability. Parsing and presenting this data in a usable format required understanding aviation protocols and fare structures.
Users expect instant filtering across hundreds of options. When someone searches for flights from Dallas to Hyderabad, they want to filter by price, duration, number of stops, airlines, and departure times without waiting. Sub-second filter responses across large result sets required careful optimization.
The search form has many moving parts. Multi-city airport search, flexible dates, passenger configuration (adults, children, infants), cabin class selection, round-trip versus one-way. The form needed smart validation, and an airport autocomplete that didn't feel clunky.
How I Built It
I chose Golang for the backend because of its concurrency features. The server handles parallel requests to Amadeus, processes large result sets efficiently, and manages real-time availability checks. The backend handles authentication, request formatting to GDS specs, response parsing, and data transformation.
Redis provides caching for frequently searched routes. When users search popular city pairs, the system checks Redis for recent results before calling Amadeus. This cuts API costs and improves response times.
For filtering, I pre-calculate filter ranges (price min/max, duration ranges, available airlines) on the backend and send optimized data to the frontend. Client-side filtering using React state delivers instant responses without server round-trips.
The frontend uses Next.js with Tailwind and Shadcn. Airport autocomplete searches by city name, airport code, or country. Virtual scrolling renders only visible flights, keeping performance steady even with 100+ results.