Own product · iOS app and web platform
MyDiveLogs
A dive logbook for people who dive, built iPhone-first and honest about where your data lives.
Divers keep logbooks because agencies and dive shops ask to see them. The apps that exist mostly want an account before they will show you anything, and most of them sync your logbook somewhere you cannot see. MyDiveLogs works offline on the phone first, syncs only when asked, and can put a signed, printable page in a shop owner's hand.
- SwiftUI
- Swift 6
- Laravel 12
- MySQL
- WidgetKit
- ActivityKit
What it does
Offline first, then sync
The logbook is complete on the phone with no account and no signal. Sync is something the diver turns on, and a dive rejected by the server still stays on the device rather than vanishing.
Reads dive computers directly
Garmin exports a binary .fit file. The app parses it natively — depth profile, temperature, heart rate, tank pressure and gas mix — rather than asking anyone to retype a dive.
Paperwork a dive shop will accept
One dive to a page as a print-styled PDF with its real traces drawn for ink, and a signature block. A dive entered by hand prints its profile marked as an estimate, so a signed page cannot overstate what was recorded.
A privacy promise kept in the architecture
Crash and error reporting is self-hosted into the admin panel rather than sent to a third party, because the product promises nothing is shared and a analytics SDK would have quietly made that untrue.
More work
THH Bill of Lading
Paper bills of lading replaced by a system that prices, approves, bills and reports on every load.
Confidential clientStaff onboarding desktop app
The paperwork for a new starter, produced correctly in about a minute instead of by hand each time.
Confidential clientUniFi environment monitor
Temperature sensors already on the network, turned into alerts that arrive in time and reports that arrive on their own.
Got something like this?
Describe the process and you will get a straight answer about what it would take.
Start a project