IMPORTANT CAVEAT: This application is provided solely for training and pedagogical purposes; its information is not guaranteed for accuracy and must not be used for operational decision-making. Always rely on the official Aircraft Flight Manual (AFM) and approved checklists when operating an aircraft.
NOTE: This app has been entirely vibe coded. If you hate that, feel free to close your browser window in disgust and not use it.
An iPad-first application for students and licensed pilots. Works on both iPhone and iPad. This app guides pilots through all checklists during a flight, from preflight to shutdown, while recording GPS tracks and flight data.
New in 4.0 — the biggest overhaul yet: a ground-up, iPad-first redesign with a cockpit-style in-flight HUD, a selectable theme engine (auto / day / sunlight / night), a map-first flight-plan builder, Companion mode (use an iPhone as a synced second screen for your iPad over Wi-Fi Aware, iOS 26+), an accessibility pass, and French localization of the main app UI (the widget, Live Activity, Watch app and the iOS permission prompts remain English-only). See the 4.0.0 release notes.
AéroCheck is open source under the MIT License. The app includes:
-
Free aircraft (bundled with the app):
- WT9 Dynamic (F-HVXA)
-
Premium aircraft (requires AeroCheck Pro subscription):
- 13 aircraft ids (15 registrations) delivered via the AeroCheck API — Piper (Archer II, Warrior II, Cadet, Dakota II, Saratoga II, Super Cub, L4), Robin DR400 (two variants) & DR401, CAP10-C, Pipistrel VELIS Electro and Sportcruiser PS-28. Aircraft with several tails are selectable per registration.
- Sourced from three Swiss flying clubs (Groupe de Vol à Moteur de Porrentruy, Lausanne Aéroclub, and Groupe de Vol à Moteur Neuchâtel)
- Automatic updates when checklists change
- Offline access after initial download
- Monthly: Access to all premium aircraft checklists
- Yearly: Same access with a 30% discount
All subscription payments are handled securely through the Apple App Store. See the API Server for self-hosting options.
Free (bundled)
- F-HVXA - Aerospool WT9 Dynamic - Free
Premium (AeroCheck Pro) — 13 aircraft ids / 15 registrations delivered via the API:
| Registration | Aircraft | Club |
|---|---|---|
| HB-PFA | Piper Archer II PA-28-181 | GVMP Porrentruy |
| F-HPSA | Sportcruiser PS-28 | GVMP Porrentruy |
| HB-PNL | Piper PA28-161 Warrior II | Lausanne Aéroclub |
| HB-OJI | PA28-161 Piper Cadet | Lausanne Aéroclub |
| HB-PMP | Piper PA28-236 Dakota II | Lausanne Aéroclub |
| HB-PJE | Piper PA32R-301 Saratoga II | Lausanne Aéroclub |
| HB-ORV | Piper PA18-150 Super Cub | Lausanne Aéroclub |
| HB-OKN | Piper L4 | Lausanne Aéroclub |
| HB-KFD | Robin DR400/140B | Lausanne Aéroclub |
| HB-KFI | Robin DR400/140B | Lausanne Aéroclub |
| HB-KOJ | Robin DR401/140B | Lausanne Aéroclub |
| HB-SAX | CAP10-C | Lausanne Aéroclub |
| HB-SYI | Pipistrel VELIS Electro SW128 | Lausanne Aéroclub |
| HB-KFO | Robin DR400/140B | GVMN Neuchâtel |
| HB-KFP | Robin DR400/140B | GVMN Neuchâtel |
Checklists, speeds and limits adapt automatically to the selected aircraft. Some aircraft are French- or English-only; most ship in both languages.
- WT9 Dynamic bundled free, additional aircraft via AeroCheck Pro subscription
- All 16 flight phases from official checklists
- Aircraft selection in Settings - checklists, speeds, and limits adapt automatically
- Checklists displayed exactly as in the official documentation
- Easy navigation between phases
- Quick phase selector for jumping to any checklist
- Speed reference card with aircraft-specific speeds always accessible
- Step-by-Step Highlighting: Items highlighted one at a time; tap anywhere in the checklist area to advance
- Smart completion: When all items are checked, the NEXT button pulses to draw attention
- Learning Mode: Toggle to show all checks for studying, or hide memorizable checks to test memory
- Circuit Mode: Streamlined workflow for pattern training - skips irrelevant phases (Cruise, Descent) and tracks full-stop landings
- Full-screen map with real-time aircraft position and track
- Multiple map layers:
- Apple Maps (Standard and Satellite)
- Swiss ICAO Chart (1:500,000) from SwissTopo
- Segelflugkarte (1:300,000) - seamless switch at higher zoom
- Swiss Landeskarten (national map)
- SWISSIMAGE (aerial imagery)
- Two-row bottom bar with the live instrument readout (speed, altitude, heading, time) and a centered VFR leg chronometer
- Expandable flight-plan sheet: pull up the active route to see leg-by-leg timing (FROM → TO), distances and estimated times; go back a leg, or mark the current waypoint
- Ground-track trend vector: a projected track line with 1/2/5-minute graduations
- FREDA cruise-check reminder during the cruise phase
- FREQ panel (
CURRENT / NEXT / EMERGENCY): nearby controlled-airspace and area frequencies organised by where you are and where you're heading (OpenAIP worldwide; OurAirports TWR fallback) - GPS status card, scale bar with accurate distance measurement
- Liquid Glass map controls on iOS 26 (material fallback on iOS 17)
- Offline maps: Download Swiss ICAO Chart (~100 MB) and/or Segelflugkarte (~150 MB) for offline navigation
- Build routes directly on the map: drag a waypoint to move it, drag the route line to insert one, and release near an airfield to auto-snap (name and frequency filled in automatically)
- Smart "cheapest insertion" places a dropped waypoint into the leg that adds the least detour
- From → To bar and route thumbnails on the plan list, with one-tap Activate
- Interactive route profile: a terrain silhouette with your planned-altitude line — drag a point to set its altitude, hold to add one
- On-route airspace conflicts and terrain-clearance warnings update live as you reshape the route. When a ceiling/floor is given as AGL/FL or a leg has no planned altitude, the warning is flagged "verify vertical separation" rather than implying you're clear; a green "no conflicts" only shows when airspace data is actually loaded
- GPX route export for Dynon/Garmin avionics
- Automatic GPS recording during flights
- Configurable recording interval (1-30 seconds)
- Background location tracking support
- Track visualization on map
- GPS failure flags on speed and altitude indicators when signal is lost or degraded
- "Always" permission prompt: If only "While Using" access is granted, the app offers to upgrade to "Always" when a flight starts, so the track keeps recording when the screen locks or you switch apps
- In-flight GPS-lost banner: A warning appears if the position stops updating (no fix for >90 s) or background tracking is limited — a silent GPS dropout is never mistaken for a valid reading
- Real-time GPS ground speed display during flight phases
- Displays "GND SPD" (ground speed) with "kt" (knots) unit
- Color-coded feedback:
- Green: Speed within 5 kt of target
- Orange: Speed outside ±5 kt range
- Flashing Red/White: Below stall speed (aircraft-specific: 42 kt for WT9, 53 kt for PA-28)
- Target speed guidance based on current flight phase and aircraft type
- Arrow indicators showing speed trend (up/down/on target)
- Automatically hidden during ground operations (taxi, parking)
- Honest provenance: The indicator shows GPS ground speed ("GND SPD") by default — not true airspeed — so the stall warning is an awareness aid, never a replacement for the aircraft's airspeed indicator
- Optional aural stall alert: An audible warning below stall speed (off by default; see Estimated Airspeed)
- Optional feature to display estimated indicated airspeed (IAS) calculated from GPS ground speed and wind data
- Uses real-time mean wind from MeteoSwiss automatic weather stations (steady wind, not peak gusts)
- Finds nearest weather station and applies wind correction to ground speed
- Clearly marked as estimated: shows "EST. IAS" with a
~prefix (e.g.~62) so a derived value is never confused with a measured one - Stale wind aged out: wind readings that are too old are discarded rather than used, so an outdated observation can't silently drive the estimate
- Optional aural stall alert: once enabled, an "Aural stall alert" toggle (off by default) plays an audible warning below stall speed
- Important limitations:
- Only works within Switzerland (with ~5 NM margin at borders)
- Requires constant cellular connection
- Can be highly inaccurate - always rely on aircraft's onboard airspeed indicator
- Disabled by default; enable in Settings with mandatory safety warning acknowledgment
- Real-time GPS altitude display (feet MSL)
- Light blue background for easy visibility
- Displayed alongside speed indicator during flight phases
- Complete flight history with all parameters
- Custom flight names: Name your flights for easy identification (e.g., "Circuits 2 (F-HVXA)")
- Flight duration (engine start to shutdown)
- Distance travelled in kilometers
- All times recorded chronologically:
- Session Start
- Engine Start
- Take-off (Line Up +2 min)
- Landing (auto-detected)
- Engine Shutdown
- Session End
- GPS track visualization on map
- Altitude profile graph: Time-based altitude chart with flight event markers (Engine Start, Take-off, Landing, Shutdown)
- Go-arounds and touch-and-goes: Detected and displayed on altitude profile
- Notes for each flight
- Flight sharing: Generate shareable image cards with flight summary and map
- Export flights to GPX format (standard GPS track format)
- Export flights to JSON format (includes all timing data)
- Export all flights: Export entire flight log as a ZIP archive
- All timing data included (start, engine, takeoff, landing, shutdown, stop)
- Distance calculation included in exports
- Bulk import: Import multiple flights from ZIP archives
- Import GPX or JSON files from other sources
- Compatible with most flight tracking software
- Share flights via any iOS sharing method
- Redesigned in-flight HUD: the current checklist item is the hero; past and future steps recede. A cockpit instrument strip shows live speed, altitude, heading and vertical speed with a color-blind-safe on-target bar, plus stall and instrument-failure annunciations
- Tappable phase bar: jump forward and back through the 16 phases from a single segmented bar
- One-tap reference panels: V-Speeds, GPS status and departure/approach briefings open as a docked panel on iPad or a bottom drawer on iPhone
- Hold-to-confirm events: Go-Around, Touch-and-Go and Full-Stop sit behind a deliberate hold, with a brief undo
- Selectable theme engine — choose Auto / Day / Sunlight / Night; Auto follows the system appearance. Tuned for glare, dusk and night cockpits
- Aviation-inspired palette (gold, blue, green); large, high-contrast buttons and readable text; screen stays on during flights
- Adaptive, iPad-first layout: two-column landscape and reflowed portrait across Home, Flight, Navigation, Flight Log and Settings
- Phase completion tracking with color-coded indicators:
- Green dot: Phase completed (pressed NEXT)
- Orange dot: Phase skipped (jumped ahead without NEXT)
- Red dot: Phase skipped with missing action (e.g., Engine Start button not pressed)
- Gold dot: Current active phase
- VoiceOver labels, values and custom actions across the redesigned screens
- Dynamic Type on the ground-use screens (planning, settings, onboarding, paywall). The in-flight
HUD instruments keep fixed sizes on purpose — a readout scanned at a glance from a fixed distance
must not reflow — and expose
accessibilityShowsLargeContentViewerinstead, so a long press gives a large rendition without changing the instrument's geometry. - Contrast and touch targets follow Apple's current guidance (44x44 pt recommended, 28x28 pt minimum). Not independently audited; the sunlight/night palettes have not been measured on device.
- Reduce Motion support
- Pair an iPhone as a synced second screen that mirrors your iPad's live flight data over Wi-Fi Aware
- Pairing and status live under Settings → Companion
- Requires iOS 26 on both devices; on earlier iOS the feature is safely hidden
- Departure briefing modal with runway, routing, speeds, and emergency procedures
- Approach briefing modal with approach info, speeds, and missed approach
- Small widget: Quick-start buttons for the aircraft you own — the free F-HVXA plus any premium aircraft you've unlocked (unowned aircraft are never shown)
- Medium widget: Owned-aircraft quick start plus a Flight Log shortcut
- Deep links start a flight directly from the widget, going through the same checklist load, entitlement, location-permission, and GPS-tracking setup as the in-app START button
The app includes all 16 phases from the official checklists (same structure for both aircraft):
- Preflight Check (Page 1)
- Check Before Engine Start (Page 1)
- Engine Start (Page 1) - with "Engine Start" button
- Check After Engine Start (Page 2)
- Taxi Check (Page 2)
- Runup (Page 2)
- Check Before Departure (Page 2) - with "Ready for Line Up" button
- Line Up Check (Page 3)
- Climb Check (Page 3)
- Cruise Check (Page 3)
- Descent Check (Page 3)
- Approach Check (Page 3)
- Landing Check (Page 3)
- After Landing Check (Page 4)
- Engine Shutdown and Parking Check (Page 4) - with "Engine Shutdown" button
- At the Hangar (Page 4)
- iPad Air (11-inch) or larger recommended
- iPadOS 17.0 or later
- Any iPhone running iOS 17.0 or later
- Compact UI adapts to smaller screens
- Location services enabled
- Xcode 26 for building (ships the iOS 26 SDK required by Companion mode's
WiFiAwareimports)
- Clone or download this repository
- Provide an OpenAIP API key (optional but recommended):
cp Secrets.example.xcconfig Secrets.xcconfig # then paste your key from https://www.openaip.net/ (account → API keys)Secrets.xcconfigis gitignored. Without a key the app still builds and runs, but every OpenAIP request returns 401, so the airspace overlay, the FREQ panel's controlled-airspace entries and on-route airspace conflicts silently do nothing. - Open
AeroCheck.xcodeprojin Xcode 26+ - Select your development team in Signing & Capabilities
- Connect your iPhone/iPad or select a simulator
- Build and run (⌘R)
- In Xcode, select Product → Archive
- Follow the distribution wizard
- Choose Ad Hoc or App Store distribution
- Launch the app
- Select your aircraft in Settings if needed (the free WT9 Dynamic or any unlocked premium aircraft)
- Tap "START FLIGHT"
- GPS tracking begins automatically
- Follow the checklists in order
Premium aircraft: If the aircraft's checklist hasn't finished downloading (no connection or an inactive subscription), the app shows a "Checklist Not Ready" alert and refuses to start rather than launch with an incomplete or wrong checklist.
- Use "PREVIOUS" and "NEXT" buttons to navigate
- Tap the phase indicator to jump to any checklist
- Access speed reference anytime via "SPEEDS" button
- iPad: Side panel shows all phases, flight times, and current status
- iPhone: Tap the info button (i) to view flight info and phases in a sheet
- ENGINE START: Records the engine start time (shown on Engine Start phase)
- READY FOR LINE UP: Adds 2 minutes to current time for take-off time (shown on Check Before Departure phase)
- ENGINE SHUTDOWN: Records the engine shutdown time (shown on Engine Shutdown phase)
Tap on the briefing reminder text to open interactive briefings:
- Departure Briefing: LSZQ 25, wind, routing, speeds (Vr/Vx/Vy/Vbg), emergency procedures
- Approach Briefing: LSZQ 25, routing, approach speeds, missed approach, alternate
- Complete all checklists through "At the Hangar"
- Tap "END FLIGHT" on the final page
- Flight is saved with all data to the Flight Log
- Access via "FLIGHT LOG" on home screen
- View all recorded flights
- Tap any flight to see details and map
- Export flights to GPX or JSON format
- Add notes to flights
- Delete unwanted flights
Scan report · 2026-09-27
- ✓ Prohibited terms or links
- ✓ Repository eligibility
- ✓ slopscore.md paperwork
- ✓ Content policy
- ✓ Risk review
From the balcony · 0 of 4 clapped
Schnitzel, Cap'm Slop, Princess and Crusoe read it and passed. Their reasons are on the balcony, with every other verdict.
Critics are accounts on this site with no GitHub account behind them. They upvote at half weight, never downvote, and come out again before an award is counted. Who they are.
0 comments
log in to comment.