← All project stories

Blackbox Aviation & accessibility

A flight logbook that keeps the pilot in control.

A native Mac logbook focused on imports, amendments and preserving the meaning of a flight record.

James Boyce 2 min read

Blackbox native 3D route map showing a complete textured globe and three generated demonstration flights across Europe.
Blackbox’s interactive globe, captured from the current source build on 12 September 2026 with three generated demonstration flights. No personal logbook records are shown. Open image to view full size.

Project statusPublic source; non-commercial licence

How it came about

Blackbox starts with the importance of the record itself. A flight logbook is something a pilot needs to be able to keep, understand and move between tools. I wanted a focused Mac application that treats the local record as the source of truth.

The project combines flight records, totals, route views and internal checks. It includes an import path from LogTen Pro, with previews and comparison before information is accepted into the logbook.

The difficult part

The difficult part is what happens when two sources disagree. An import should not quietly rewrite a flight because one value looks more plausible. It needs to distinguish a missing value, a different value and a genuinely matching record.

Blackbox uses staged imports, recovery backups and explicit decisions about changes. Drafts, locked records and amendments have different meanings. That creates more work behind the interface, but it gives the pilot a better chance of understanding what changed and recovering from a mistake.

What I learnt

I have learnt that control needs to be visible in the workflow. Saying that an app is private is not enough; the user needs understandable previews, exports and recovery options.

The lesson is to make the record understandable at each stage: before an import, when deciding what to accept and when reviewing a later amendment. The internal checks can flag something worth looking at, but the pilot still needs to understand and take responsibility for the entry. That shapes how I approach the interface.