Inspiration
Booking a flight usually comes down to price and departure time. But after a few real trips, we realized that what truly ruins the experience is reliability: routes that are consistently delayed, airports that act like bottlenecks, and “good-looking” options that are actually unstable because there isn’t enough flight volume behind them.
The data exists, but it’s fragmented across different tables and not presented in a decision-friendly way. We built FlightIQ to turn official reliability statistics into something users can compare in seconds.
What it does
FlightIQ is a web app that converts official BTS (Bureau of Transportation Statistics) on-time data into a clear, explainable Route Score (0–100). Users can:
- Filter results by month, and optionally by origin and destination airports.
- View ranked routes with a score and supporting metrics.
- Explore airline on-time rankings and airport on-time rankings.
- Click any route to see a transparent score breakdown (no black-box scoring).
How we built it
We designed FlightIQ as a full pipeline: data → scoring → interactive UI.
Data
- We use official BTS on-time datasets as the primary source for route/airport/airline reliability signals.
This includes historical performance that supports ranking and comparison.
Scoring (Explainable by design)
- We compute a route-level on-time signal from airport performance.
- We then generate a composite score with a simple, interpretable formula:
[ \text{Route Score} = 0.8 \cdot \text{On-time Score} + 0.2 \cdot \text{Flight Volume Score} ]
- The flight volume score is normalized to a 0–100 scale using percentiles under the current filters, so users can compare routes fairly within the same context.
Frontend Experience
- The UI supports filtering, sorting, and route-level drill-down so users can understand both the score and the reasons behind it.
Challenges we ran into
- Data joining and consistency: Official datasets are reliable, but not always “analysis-ready.” We had to standardize keys and ensure consistent route/time representations.
- Fair comparisons: A route can look great with a small sample size. We addressed this by incorporating flight volume as part of the score.
- Explainability vs. complexity: It’s easy to build a complicated model that nobody trusts. We intentionally kept the scoring logic simple and transparent so it can be inspected and justified.
Accomplishments that we're proud of
- Built an end-to-end system that turns raw official statistics into an interactive reliability product.
- Delivered a Route Score /100 that balances reliability and stability, not just “best-case” performance.
- Implemented route drill-down explainability, showing score composition and metric contributions.
- Added multi-level insights: route rankings, airline rankings, and airport rankings in one place.
What we learned
- In real data products, having data is not the same as having usable data. Standardization and careful key design matter.
- Users don’t trust black boxes. An explainable scoring system can be more valuable than a complex model if it supports clear decisions.
- Good UI is part of the solution: ranking + filtering + drill-down makes the data actually usable.
What's next for FlightIQ
- Add more context features (e.g., seasonal patterns, route direction effects) while keeping interpretability.
- Improve performance for large result sets with caching and smarter server-side aggregation.
- Expand the UI to support comparisons (e.g., compare two routes side-by-side) and shareable links for filtered views.
Log in or sign up for Devpost to join the conversation.