Pilot Logbook
Documentation · v1.0.1
Pilot Logbook is an offline-first progressive web app (PWA) for logging general aviation flights. It stores your flight records privately on your device using IndexedDB — no account, no cloud sync, no data ever leaves your device. It supports the full range of FAA logbook fields and exports in CSV, JSON, and the open OADS format for interoperability with other tools.
First Launch
On first open, a disclaimer screen appears explaining that your data is stored locally and is never sent to a server. Tap I UNDERSTAND — OPEN LOGBOOK to dismiss it and proceed to the logbook. The disclaimer is shown once and not repeated.
Your acknowledgement is saved in localStorage. If you clear browser data,
the disclaimer will reappear on the next launch.
Navigation
The app has four screens, navigated by the back button and action buttons — there is no tab bar:
- Home — totals band, entry list, new flight button.
- Stats — detailed flight totals and the flight calendar.
- Form — new flight entry or editing an existing one.
- Detail — read-only view of a logged flight.
The ← Back button in the top-left header returns to the previous screen. The ⚙ DATA button in the top-right header opens the Data & Export sheet.
Logging a New Flight
Tap + NEW FLIGHT on the home screen to open the entry form. Fill in the fields and tap SAVE FLIGHT. The entry is immediately saved to IndexedDB and appears at the top of the logbook list.
Basic Fields
| Field | Description |
|---|---|
| Date | Flight date. Defaults to today. Required. |
| N-Number | Aircraft registration (tail number). Automatically uppercased. |
| Make / Model | Aircraft make and model (e.g., Cessna 172S, Piper PA-28). |
| Category | FAA aircraft category per 14 CFR §61.5: Airplane, Rotorcraft, Glider, Lighter-Than-Air, Powered Lift, Powered Parachute, Weight-Shift-Control. |
| Class | FAA aircraft class (populated based on category selection): e.g., Single-Engine Land, Multiengine Land, Helicopter, etc. |
| FROM / TO | Departure and destination airport identifiers. Automatically uppercased. |
Flight Hours — Always Shown
| Field | Description |
|---|---|
| Total Time | Total flight time in decimal hours (e.g., 1.4). This is the primary hours field — the running total shown on the home screen and stats page. |
| PIC | Pilot-in-command time. Shown in the home screen totals band alongside total time. |
Optional Hour Fields
Tap + Add Fields to reveal additional time categories. Each field can be added individually and removed with the × button. Added fields persist only for the current entry — the next new entry starts with only Total Time and PIC shown.
| Field | Category |
|---|---|
| Actual Instrument | Conditions of Flight |
| Cross Country | Conditions of Flight |
| Day | Conditions of Flight |
| Night | Conditions of Flight |
| Simulated Instrument | Conditions of Flight |
| # Instrument Approaches | Conditions of Flight (count) |
| Dual Received | Piloting Time |
| SIC | Piloting Time |
| Solo | Piloting Time |
| Tailwheel | Piloting Time |
| Ground Training | Training |
Landings
Enter day and night landing counts as whole numbers. These contribute to the landings totals shown in Stats.
Remarks
Free-text field for instructor name, maneuvers practiced, weather conditions, or any other notes. The first line of remarks is shown truncated on the logbook list card.
Editing & Deleting
Tap any flight card on the home screen to open its Detail view. From there:
- EDIT — opens the entry form pre-filled with the flight's data. Save to update.
- Delete — shows a confirmation dialog. Confirm to permanently remove the entry. This cannot be undone.
Recent Aircraft
After logging at least one flight, a Recent ▾ button appears next to the Aircraft label on the entry form. Tapping it opens a sheet listing up to 10 recently used aircraft, sorted by most recent flight date.
Tap an aircraft to auto-fill the N-number, make/model, category, and class fields. This speeds up logging repeat flights in the same aircraft.
Stats — Flight Totals
Tap FLIGHT TOTALS › on the home screen to open the Stats screen. It shows:
- Total hours hero — your cumulative total time in large type, with the number of distinct aircraft flown.
- By hour type — totals for every hour category you've logged (PIC, night, cross-country, instrument, etc.).
- By category & class — breakdown of total hours by FAA category and class.
- Landings — total day and night landings.
- Currency indicators — recent 90-day and 6-month activity (flights logged in those windows).
Flight Calendar
Below the stats groups, a calendar shows every month of the currently selected year. Days with at least one logged flight are highlighted in red. Use the ‹ and › arrow buttons to navigate between years.
Why Backup Matters
Back up after every session
Your logbook data lives exclusively in your device's IndexedDB — a browser database that is not synced to any cloud. There is no server copy. If your device is lost, stolen, reset, or if you clear browser/app data, your logbook is gone.
The only protection is a regular JSON export saved to a location you control. The recommended habit:
- After each flying session, open ⚙ DATA → tap Export JSON
- Save the file to iCloud Drive, Google Drive, Dropbox, or any cloud folder
- Name it with the date:
logbook-2026-04-08.json - Keep the last 2–3 backups — storage is cheap, losing your logbook is not
Export JSON — Full Backup
Tap ⚙ DATA → Export JSON to download a complete backup of your
logbook as a .json file. This file contains every flight entry with all
fields, including optional hour categories.
The JSON export is the only format that can be fully re-imported back into the app, restoring all your data exactly as it was. Treat this as your primary backup format.
Export CSV — Spreadsheet
Tap ⚙ DATA → Export CSV to download all flights as a comma-separated values file. The CSV includes all standard logbook columns: date, aircraft, route, total time, PIC, night, cross-country, instrument, landings, remarks, and all optional fields you've logged.
The CSV is compatible with spreadsheet apps (Numbers, Excel, Google Sheets) and can be imported into ForeFlight or other logbook tools that accept OADS CSV format.
Export OADS — Interoperable Format
Tap ⚙ DATA → Export OADS to download your logbook in the Open Aviation Data Spec (OADS) format. OADS is an open JSON schema for aviation data designed for interoperability between apps and tools.
Use OADS export when sharing your data with other aviation apps that support the spec, or for archival purposes alongside your JSON backup.
Importing Data
Two import options are available from the ⚙ DATA sheet:
- Import JSON — restore from a Pilot Logbook JSON backup, or import an OADS-format JSON file from another tool. Merges entries by ID.
- Import CSV — import from a ForeFlight logbook CSV export or an OADS CSV file. Column headers are matched by name.
Data Storage
All flight entries are stored in IndexedDB under the database name
atk-pilot-logbook, in an object store called entries. Each
entry is keyed by a unique ID generated at save time.
The disclaimer acknowledgement is stored separately in localStorage under
the key atk-logbook-disclaimer-v1.
Offline & PWA
Pilot Logbook is a Progressive Web App. After your first visit, the app shell is cached by a service worker and loads instantly on subsequent visits — including with no network. All logging, editing, and data export functions work fully offline.
Install it as a standalone app using your browser's Add to Home Screen (iOS) or Install (Chrome/Edge) option. Once installed it behaves like a native app with no browser chrome.
About
Pilot Logbook is part of Aviator's Toolkit — a collection of offline-first aviation tools for general aviation pilots, built by Parachute River.
- Built with vanilla HTML, CSS, and JavaScript — no frameworks, no accounts.
- Data never leaves your device. No telemetry beyond aggregate Fathom analytics.
- Aircraft categories and classes follow 14 CFR §61.5.
- OADS format follows the Open Aviation Data Spec for interoperability.