Case Study
Jetlined
A Python command-line tool that answers questions about commercial airliners from a database I built by hand. No frameworks, no libraries — just Python, a well-structured dataset, and a text interface. This is the project where the fundamentals stuck.
- Role
- Solo build
- Design, data, and code
- Language
- Python 3
- Standard library only
- Dataset
- 7 families
- Airbus & Boeing
- Interface
- Menu-driven CLI
- Runs in the terminal
The Project
A reference tool, built from scratch
Jetlined is a command-line aviation reference. Run it and it opens a text menu of commercial aircraft; pick an airliner and the detail you want — range, capacity, engines, order book — and it pulls the answer straight from a database I assembled by hand.
I built it to make the fundamentals stick. Not a throwaway tutorial app — a subject I actually care about, aviation, modeled properly in code: how to shape real-world facts into structures a program can reason about, how to drive a clean interaction loop, and how to validate what a user types instead of trusting it.
The constraint was deliberate: no frameworks, no third-party libraries. Every piece — the data model, the menu, the add-your-own-aircraft flow — is something I structured myself in plain Python. When nothing is doing the work for you, you learn what the framework would have been doing.
The result covers seven aircraft families across Airbus and Boeing, each stored as a record of roughly a dozen fields — and it can grow while it runs, because anyone using it can add an aircraft of their own.
What It Does
Three things it gets right
A hand-built database
Seven airliner families — the Airbus A320, A330, A350 and A380, and the Boeing 747, 777 and 787 — each stored as a structured record: operators, production run, first flight, variants, range and capacity leaders, engine options, and total orders.
Query what you care about
A menu-driven loop. Choose an aircraft, choose the detail — longest range, highest capacity, class, engines, order book — and Jetlined reads it from the record and prints it. Ask as many questions as you like before you quit.
Extend it yourself
Add an aircraft without touching the source. Jetlined prompts for each field, builds a new record, folds it into the dataset, and updates the running totals — so what you add behaves exactly like what shipped with it.
Under The Hood
How it's put together
Everything runs on Python's core building blocks, no imports required. Each airliner is a dictionary; a while-loop keeps the session alive; if/elif branches route every menu choice; for-loops walk the dataset to display and tally it; and plain arithmetic keeps the aggregate stats — like the combined order count — in sync as new records are added.
Aircraft on board
Tracked per record
In Use
How a session goes
-
01
Launch
Run the script. Jetlined prints a menu of the aircraft families it knows and waits for a pick.
-
02
Ask
Choose an aircraft, then the detail you're after. Jetlined looks it up in the record and prints the answer.
-
03
Extend
Optionally add a new aircraft — answer the prompts and it joins the dataset for the rest of the session.
-
04
Repeat
Go again for another aircraft, or quit. The loop runs until you're done.
What It Taught Me
Small program, real fundamentals
Jetlined isn’t trying to be production software — it’s the build where the basics became instinct: modeling messy real-world facts as clean data, holding an interaction loop together, and validating input instead of trusting it. The honest next step is the one every first pass earns — refactoring the repeated logic into reusable functions and lifting the fleet out of the code into a data file. That kind of structured thinking is exactly what the engineering path runs on.
Read about the path