← Back to BlogCase Study

How We Built Skyhopper: A Smart Flight Finder for Direct and Self-Transfer Routes

By Marketpreneurs.in · 14 July 2026

The Problem

Travellers heading to smaller cities often miss cheaper workable routes because most flight search tools focus on direct flights or airline-protected itineraries only.

That leaves a gap for people who are willing to take a practical self-transfer route if the savings are worth it and the layover risk is clearly explained.

What We Built

Skyhopper is a smart flight finder built with CodeIgniter 4 that searches both direct flights and one-hop self-transfer combinations.

Users can enter an origin, destination, travel date, passenger count, and layover preferences, then compare routes by total price, travel time, and transfer risk.

  • Direct flight discovery
  • One-hop self-transfer route generation
  • Layover risk labels for practical decision-making
  • Route detail pages with segment-level breakdowns
  • Clear warnings about self-transfer responsibility

How The Demo Works

Instead of calling a live flight API on every search, the current demo mode reads imported flight data from MySQL. This keeps the experience predictable, faster to test, and easier to deploy on a simple PHP hosting stack.

The project also includes a CLI import flow so mock flight data can be refreshed from JSON or CSV files without rewriting the application.

The Tech Stack

  • Frontend: Bootstrap 5, server-rendered CodeIgniter Views, JavaScript
  • Backend: PHP 8.2 with CodeIgniter 4
  • Database: MySQL
  • Local Runtime: Docker Compose with app and database services
  • Deployment Target: Hostinger-style PHP hosting

Key Outcomes

  • 2 route modes: direct and one-hop self-transfer
  • 1500 demo flights imported into the mock data flow
  • 21 airports supported through seeded airport and hop coverage
  • 60-day rolling demo window for future-date search testing

What We Learned

For this kind of product, trust matters as much as price. Showing a cheaper route is not enough unless the user can also understand layover risk and the limits of airline responsibility.

We also learned that storing demo search data in MySQL makes the app much easier to verify, seed, and extend than relying on a fragile per-request external provider during development.


Need a similar search, booking, or travel-operations platform? Get in touch.

Travel-TechCodeIgniter 4Bootstrap 5MySQLDocker

Want similar results for your brand?

Let's talk about your goals.

Get in Touch →