Normalize unlike sources
Live positions, historical tracks, route records, airport reference data, and schedule fallbacks arrive in different shapes and serve different purposes.
Personal engineering case study · Aviation data
FlightDetector is a flight-tracking platform and API built by Jiss Tech. It combines six aviation and reference sources according to their actual roles, checks route claims against observed flight evidence, and reuses archived historical data before making another provider request.
Business / product problem
Aviation data can look authoritative until it is compared. Airlines reuse flight numbers across multiple legs a day. Databases store different snapshots of the same flight. Feeds go down without warning, throttle without mercy, and bill per request. No one provider answers every live, historical, route, airport, and airframe question the system needs.
Making six of them behave as one reliable platform forced us to solve, in miniature, every problem that plagues business integrations: data that disagrees, providers that fail, and costs that spiral when nobody is watching.
Product overview
Candidate routes are checked against observed departure and direction evidence. A familiar flight number does not override what the tracked aircraft actually did, and contradictory candidates are rejected.
Historical answers are stored in SQLite, and a coverage index records which time windows are already archived. Repeat questions reuse local data instead of making avoidable provider calls.
Usage counters keyed by calendar month are checked before budgeted fallback calls. Hard caps and per-callsign retry guards keep provider escalation deliberate and observable.
When every source disagrees with the measured evidence, FlightDetector shows "destination unknown" instead of a confident wrong answer. That choice was vindicated the first time a stored route pointed east while the aircraft flew west.
Primary live-position failures can fall back to OpenSky, while historical and route-resolution paths have their own ordered fallbacks. Each source has a defined job instead of pretending every provider is interchangeable.
Product interface




Verified architecture
FlightDetector is a personal engineering case study. A Fastify API serves a vanilla JavaScript Mapbox interface, normalizes six aviation/reference sources according to their actual roles, checks route claims against observed flight evidence, archives paid historical answers in SQLite, and escalates only when cheaper evidence cannot resolve the route.
Technology
Every technology below is tied to the audited project source—not to a company-wide capability list.
Constraints
Solution
Engineering challenges
Live positions, historical tracks, route records, airport reference data, and schedule fallbacks arrive in different shapes and serve different purposes.
Candidate legs are compared with measured departure and direction evidence so a familiar flight number cannot override what the aircraft actually did.
Archive coverage, learned routes, monthly usage counters, hard caps, cache TTLs, and per-callsign guards prevent avoidable provider calls.
Integrations
Reliability & security
Outcome
The result is a working personal engineering case study that demonstrates source-aware API integration, route verification, archive-first data access, explicit fallback ordering, and cost controls. It is not presented as a client engagement, a benchmarked performance result, or a quantified savings claim.
Lessons learned
Why this matters for your business
Cross-source verification, archive-first data, database-enforced budgets, honest failure states, and rehearsed fallbacks are exactly what make CRM syncs reconcile instead of duplicate, webhook pipelines survive vendor outages, and reports stay trustworthy. This is the discipline behind our API integration and development practice.
We've written up the engineering in detail: what building a flight tracker taught us about third-party APIs and how to cut API costs: six strategies that compound.
CRM, billing, vendor feeds — if your systems hold different versions of the truth, we've solved this problem at altitude.