Why Coach exists

It started with my daughter, an iPad, and a button that said "fail engine."

Coach wasn't planned as a product. It was a workaround for a problem I couldn't solve any other way — and it grew from there.

I was trying to practice multi-engine emergencies — the real memorized flow every multi-engine pilot drills: mixtures and props and throttles forward, flaps and gear up, identify, verify, feather. The hard part was never the flow. It was not knowing an engine was about to fail.

So I asked my daughter to sit next to me with the iPad and click "fail engine" whenever she felt like it. Left, right, or not at all — her call, not mine.

It worked perfectly. I didn't know if or when it was coming, so my reactions were real instead of rehearsed.

It also only worked when she was around. At 10pm, wanting one more run before bed, I couldn't ask her to sit there clicking a button and resetting the sim between attempts. I wanted the same genuine uncertainty — solo, repeatable, and precise enough to actually matter: a minimum airspeed before it could fire, a random delay even when failure was guaranteed, an altitude where the failure armed itself. None of that existed in X-Plane's own randomization, in the iPad remote it shipped with, or in Microsoft Flight Sim at all.

So I built it.

Coach's real Failures configuration screen: Engine Failure After Takeoff, Multi Engine, a 400 ft / 80 kt / 2000 rpm arming band, a 2-10 second randomized delay, and a 50% randomized chance to fire at all.
The controls that didn't exist anywhere else — this is the origin story, made visible.

From one engine to every failure worth practicing

Once the randomization worked for engines, the same idea obviously applied to everything else that's dangerous to practice for real: electrical failures, vacuum loss, an instrument that quietly goes wrong mid-flight, an unusual attitude with the horizon gone. Same philosophy every time — you can't script a reaction to something you can't predict, so the training tool shouldn't let you predict it.

The map that made all of this possible

None of this works without knowing where the airplane actually is relative to something real. That part grew in stages too. At first there was no map at all — just a track drawn on a black screen. Then a generic device map, the kind any app gets for free, with no aviation meaning to it at all. Then real VFR and IFR charts, sourced straight from the FAA and kept current instead of going stale.

Pulling in real charts is what led to finding the FAA's own real procedures data — the actual coded shape of every published SID, STAR, and approach in the country. Once that was flowing into the app, "draw a chart" turned into "fly a real, published procedure and grade it against the exact restriction it was coded with." That's the whole basis for everything since — the realism, and the accuracy of the grading, both come from the same real data source.

Detailed VFR sectional chart rendering over the San Francisco Bay Area inside the Coach app.
Real VFR sectional data, kept current.
Real IFR Low enroute chart data in Coach, showing published airways, intersections, and navaids around San Francisco Bay.
The same real data, on an IFR Low chart.

Put together, it draws the whole expected flight plan on the real chart underneath it — this is KVCB to Napa County, the SOKOY THREE departure, the SAC transition, direct to the ILS 01L final:

Coach showing a live virtual flight en route from KVCB to KAPC on a real VFR sectional chart, past SOKOY toward the SAC VORTAC, with the ATC clearance readout visible.
The real, expected route — drawn on the real chart, not a schematic.

And because the app knows the real published altitudes at every fix on the approach, it can show the vertical picture too — not just where you are on the map, but whether you're actually on the real published descent path:

Coach's approach profile view for the ILS 01L into Napa County: the published descent path from FESAV through CIKPI (the FAF) to the runway, the real step-down altitudes, and the actual flown track compared against it.
The real published descent, and the real flown track against it — not a track log to squint at afterward.

Then a podcast pointed at a gotcha, and everything got bigger

I'd also started thinking about instrument procedure practice — recurrent IMC time, the kind of flying that gets rusty fastest. Listening to Opposing Bases' "Anything But Dandy" (OB454), they walked through the real ILS RWY 6 approach into Teterboro and a genuine gotcha built into the procedure: flown naturally, the approach puts you higher than published, in a spot ATC isn't expecting. Not a hypothetical — a real trap, on a real plate, that catches real pilots.

The real, FAA-published ILS Z or LOC Z RWY 6 approach plate into Teterboro (KTEB), showing the VINGS 2000, LEESY 1700, DANDY 1300, TORBY 1300 altitude sequence.
The real plate — VINGS, LEESY, DANDY, TORBY, and the step-down that catches pilots flying the glideslope naturally.
Coach's own approach profile view for KTEB's ILS 6: the published descent through VINGS, LEESY, DANDY, and TORBY, the real step-down altitudes, and the actual flown track compared against it.
The same approach, live in Coach — the real published step-downs, and the actual flown track against them.

That's when I realized random failures were only half the problem. I wanted to practice the procedures themselves — the real ones, with their real gotchas — and I wanted to know, objectively, how I did. Not a track log to squint at afterward. A grade.

A VOR course deviation indicator, needle deflected off the selected 032 course.
Tune the wrong radial and watch the needle swing the opposite way — the kind of thing that's obvious once someone shows you, and easy to get backwards alone.

That became IFR Essentials — a deliberate progression, not a random lesson list. It starts with raw VOR tracking, alone, where you can watch the needle behave (and misbehave) until it's intuitive. Then a real VOR-only departure: the SOKOY THREE out of Nut Tree, which is unforgiving in a very specific way — turn late and you fly through the fix before you're ever established on the outbound radial, and the whole thing suddenly feels wrong even though you were just early. It's a real lesson in why a stabilized, standard-rate turn matters, not an abstract rule.

The real, FAA-published SOKOY THREE departure plate out of Nut Tree (KVCB): turn left heading 032, intercept ILA R-149 to SOKOY, then the SAC or Williams transition.
The real, published plate — public FAA data, not a mockup.
Coach showing a live virtual flight on a VFR sectional chart, with a real ATC clearance readout: cleared via the SOKOY THREE departure, SAC transition, then direct, climb and maintain 3,000.
The same departure, flying live in Coach.

From there it keeps building — VOR approaches that need real cross-radial timing, then GPS approaches, then DME arcs, then the unusual ones. Every step assumes you've gotten comfortable enough with the last one that it's stopped requiring real thought — so the next one puts you back in a situation that does.

Graded like flying actually works

Real flying isn't dead-on a radial unless you're on autopilot. A little needle deflection, a little altitude drift, anticipating a turn instead of flying past a fix and doubling back — that's correct flying, not a deviation. Coach's grading is built around that: real tolerances, not a bust message because you were 50 feet off for a moment. Perfection is still the goal. The grading just has to reflect how flying actually works to be worth trusting.

That's also where the rest of it came from — missions, XP, rank, the ability to refly something and watch the grade actually improve. Once the app was already tracking position, airspeed, and altitude to grade a flight, a lot of that became less like new work and more like the obvious next step.

Who's building this

✈

I'm a software engineer with a passion for aviation — I've been flying for more than 20 years, never commercially, just for the love of it. I grew up under KVCB, Nut Tree Airport, watching C-5s fly overhead from Travis Air Force Base nearby, where both my dad and my grandfather worked as mechanics on them. I got my private ticket after undergrad and never stopped.

Every lesson in Coach that departs KVCB starts at the airport I grew up under — that's not a coincidence, it's just where the story begins.

There's a lot of polish out there for airline-scale training tools. Not as much for GA. I build the things I'd want to use myself, on the belief that if they're built well, they'll be useful to other GA pilots too — the same spirit I get from Opposing Bases, the Air Race community, and Oshkosh.

PRIVATE INSTRUMENT COMMERCIAL MULTI-ENGINE — in progress

Fly something real. Get told the truth about it.

Free to start. No school, no instructor, no subscription required to fly your first lesson — just a free account.

Get Coach