Today we're shipping a new tool inside the Maestro Mac app: Maestro Flight Review. Drop a PX4 ULog file into the panel, get back a structured flight summary and a markdown forensics report generated by whichever LLM you've configured — Anthropic Claude, Mistral, OpenAI, or Google. Your logs are parsed locally; only a sanitised JSON summary leaves your machine, and only to the provider you chose. It's free. It's BYOK / BYOM. It ships as a panel inside the Maestro Mac app today.
Update — Flight Review has grown a lot since launch
This post documents the original launch shape. The current product has expanded considerably and now includes interactive plots, a 2D flight-path map, a time-synced scrubber, rules-based health checks, a local fleet-history archive with predictive-maintenance trends and anomaly detection against your own baseline, A/B compare between any two flights, param diff vs PX4 defaults with per-param AI explain, regulator-grade incident reports, natural-language plot queries, a multimodal vision-model sanity check, and a searchable archive with auto-tagging. See the Flight Review product page for what ships today; the article below is preserved as a record of where we started.
Why we built this
If you fly PX4 industrial drones, your post-flight workflow probably looks like this: pull the ULog off the SD card, drag it onto PX4 Flight Review, stare at the battery and altitude plots, scrub the events tab for anything red, then drop into a Python notebook with pyulog if you want to look at anything specific. The open-source PX4 tooling is genuinely excellent. The plots are right; the data is honest; the price is unbeatable.
What that workflow doesn't give you is the operator at 22:00 the night before an incident review who can sit next to you and read the log out loud, in prose, citing timestamps and parameter names. That's the gap we've been working in since we started building Maestro AI. The cloud-refinement layer of Maestro already does this for live fleet decisions; we wanted the same quality of reasoning available for post-flight forensics, without anyone having to push raw logs into someone else's S3 bucket.
So we built it.
What it does, concretely
Inside the Maestro Mac app there's now a Review button in the header (or Cmd+Shift+F). It opens a Flight Review panel with a drop zone. You drag a .ulg file in, and three things happen, in order:
1. Local parse. A pure-JavaScript ULog decoder running inside Maestro reads the binary file and extracts: every mode change (with timestamp and armed/disarmed state), the start-of-flight parameter values, every PX4 log message with severity, the battery voltage/current/remaining curve sampled at ~2 Hz, the GPS quality timeline (fix type, satellite count, horizontal dilution), the local position trajectory sampled at ~1 Hz, and any telemetry dropouts the firmware noticed. Everything happens inside the app — the file itself never goes anywhere over the network. We cap input at 256 MB, which is generous; typical PX4 ULogs are well under 50 MB even for two-hour flights.
2. Structured summary. The parser produces a JSON document — a few KB to maybe 50 KB depending on flight length — with all of the above plus roll-up aggregates: max altitude, max ground speed, total flight distance, min battery remaining, min satellite count, count of GPS-loss events, error/warning counts. The panel renders it as a scrollable summary on the left side of the screen: a stat grid up top, then the mode timeline, then the PX4 log messages grouped by severity.
3. LLM forensics report. The structured summary (not the raw ULog, just the summary) is passed to whichever LLM provider you've configured in Maestro Settings, with a forensics system prompt. The model produces a markdown report with four sections: Summary, Timeline, Anomalies & Concerns, Recommendations. The report appears on the right side of the panel, and below it sits a chat input where you can follow up: "Why did mode change at t+143s?", "Show me the cell-balance drift," "Did COM_DL_LOSS_T fire?"
The chat keeps the parsed summary in context across turns. The model can cite timestamps because it has them. It can cite parameter names because they're in the summary. If you ask it about something the data doesn't show, the prompt instructs it to say so — we'd rather have honest gaps than confidently hallucinated answers.
BYOK and BYOM are the privacy story
Maestro Flight Review is Bring Your Own Key and, more importantly, Bring Your Own Model. There's no Maestro account. There's no SaaS billing. You don't push tokens through us. The LLM provider list is exactly the providers Maestro already integrates for live fleet decisions:
- Anthropic Claude (highest-quality reasoning for forensics in our testing — Claude is the recommended default if you have a key)
- Mistral AI (France-domiciled, GDPR-aligned, the EU-residency-strict choice)
- OpenAI GPT-4o (fallback)
- Google Gemini (fallback)
The privacy story isn't a feature flag deep in a menu — it's the default: your logs are parsed locally and never leave your machine, and only the sanitised summary goes to the provider you've configured. Your keys stay encrypted via macOS Keychain on your machine.
If no provider is configured at all, the panel still works — you get the structured summary and the chat is disabled with a clear hint to add a key in Settings (Cmd+,). The product is genuinely useful without the LLM tier; the LLM is the multiplier, not the floor.
An example, anonymised
Here's what a forensics report actually looks like, from a recent workshop test flight. We're paraphrasing the model's output to anonymise some specifics, but the shape is real:
Summary. 11-minute autonomous mission flight, takeoff to RTL completed cleanly. One unexpected mode flip to AUTO_LOITER at t+340s. Battery cycle within nominal bounds; GPS held 17+ sats throughout.
Anomalies & Concerns. At t+340s, mode auto-switched AUTO_MISSION → AUTO_LOITER following PX4 log "Datalink loss: triggering RC_LOSS failsafe". COM_DL_LOSS_T is set to 10s. Recommend extending to 30s for this radio link, or investigating the radio's interference profile. One 240ms telemetry dropout at t+411s — short enough to not trigger failsafe but worth correlating with the mode flip. Battery remaining ended at 28%, within margin but consider raising BAT_LOW_THR from 0.20 to 0.25 for additional reserve on this mission profile.
Recommendations. Investigate the RF interference source between t+335s and t+345s before re-flying this AOI. Bench-verify COM_DL_LOSS_T behaviour with the configured failsafe action. Mission otherwise nominal — cleared for next flight after the RF investigation.
That took twelve seconds end-to-end (drag, parse, model call, render). You can now ask the chat "What was the wind doing at t+340s?" and it'll tell you what the ULog actually contains — or honestly say the ULog doesn't include wind estimation from this PX4 build. No filler, no confident wrongness.
What this is not
A few things to be specific about, because the SAR community has been polite enough with our work that we owe them precise expectation-setting:
This is not a centralised, audit-signed regulatory archive (yet). The free Mac app now keeps a local fleet-history archive (added after launch) which is fine for single-operator SORA-authorised operations on a single machine. What it doesn't yet do is the centralised, multi-pilot, access-controlled, audit-signed retention system that multi-year EASA Specific Category programmes expect — that requires Ed25519-signed PDFs, team roles, and cross-machine sync. Maestro Flight Review TEAM is the product designed for that, and it's on the roadmap. When it's real, we'll write the compliance posture in detail. Until then there's a waitlist, no claims, no dates.
This is not a replacement for PX4 Flight Review. The open-source web tool produces the canonical plots; pyulog remains the right tool for ad-hoc Python analysis; the Mission Planner / QGC log viewers will continue to serve the people who use them. Maestro Flight Review sits next to those, not on top of them. Use whichever ones help.
This is not Windows / Linux yet. Today it's macOS-only, as an Apple-signed and notarised .dmg. Windows and Linux are on the roadmap; Mac first matches where most of our pilot customers do their post-flight work.
This is not ArduPilot BIN or MAVLink TLog support yet. PX4 ULog (.ulg) only in v1. ArduPilot operators are next on the roadmap — let us know if you fly ArduPilot and you'd like to be on the alpha list.
How it fits with the rest of Maestro
Maestro has always been about three things: autonomous SAR grid search for the single-drone tier, fleet relay for the multi-drone tier, and a unified AI layer that makes the whole stack reason about itself. Flight Review is the missing piece — the post-flight layer of that same AI tier. Same provider cascade, same encrypted-settings store, same offline-first posture. If you already use Maestro for fleet orchestration, Flight Review is just another panel in the same app you already trust.
If you don't use Maestro yet — if you came here because you wanted a better ULog viewer — Flight Review is a low-stakes way to try the stack. It's free, it doesn't require an account, and it tells you something useful about a flight in twelve seconds. If, later, you find yourself running an actual fleet that would benefit from the orchestration layer, you'll know where to find us.
Get it
Maestro Flight Review ships free as a standalone Mac App. Download Maestro Flight Review (Apple-signed App for Apple Silicon, no email gate, no account). Note: at launch the App was bundled inside the full Maestro Mac App and delivered by email; that's now changed — the standalone App is publicly downloadable above.
For the TEAM waitlist — cross-machine archive, audit-signed PDF reports, multi-year compliance retention, team access controls for regulated operations — there's a separate sign-up form on the Flight Review page. No marketing emails in the interim. (Multi-flight comparison did ship in the free app since this post — it's no longer a TEAM-only feature.)
Feedback, bug reports, and feature requests are welcome on the same address. Operators who try it in real post-flight work and tell us what was useful and what wasn't are the people who shape what ships next.
Related reading: Meet Maestro AI, the decision layer this builds on; Air-Gapped Drone Operations, the offline-first ethos behind Flight Review.