Divey
A dive log you'll actually keep

The short version
Every dive log ever made assumes you fill it in properly on the boat. Nobody does. Mine was full of gaps before I lost the physical book, which is a seemingly normal outcome.
Divey is built to simplify this. Get home from the boat, put the dive in, about a minute. Back up on the cloud. And if all you remember of an old one is Cozumel, sometime in 2019, that's a record too.
I did some research, designed the product, built with SwiftUI, and wrapped in a simple brand.
Where it stands. Not a business and it isn't going to be one. I dive, I kept losing track of my logs, and enough friends had the same problem that building it made sense. People are testing it. It stays small on purpose.

How it started
Every dive log on the market is free yet none of them are a business. Four different owners give the log away to sell you something else. Hardware, travel, certification, open-source idealism. Each one is prevented by its own economics from building a well-designed, device-agnostic log, because a gear conglomerate will never make the best home for a rival's dive computer.
One competitor review set the floor for the whole build. A diver standing at a foreign dive shop with no signal, unable to show their logbook, concluding they may as well have kept paper. Offline first stopped being a preference after that.

Making it
Divey is a logbook and never a dive computer. Nothing in it may suggest live guidance, a warning, or any calculation about a dive you haven't done yet. That costs real features people ask for. It’s not something I want to budge on though. A wrong dive log might be embarrassing whereas a wrong dive computer might kill someone.
Underneath it is a set of rules I wrote down and made binding because a diver's history is irreplaceable and App Store releases are months apart. Every schema version stays in the code forever. Export keys are add-only and never renamed. A value written by a newer version that an older app has never heard of degrades to unknown and the record survives so a new file never breaks an old app. Photos are references into the photo library rather than bytes so losing the app never loses a picture. Every time the app goes to the background it writes a full export, keeps the newest three, and mirrors one into the Files app, which means a person can restore everything with no computer and no support ticket.
Before any release I erase a simulator, install the previous App Store build, let it write its store, then install the new one over the top and check the data survived. CloudKit sync was in the back of my mind from the first schema, so every model already obeys its rules and sync will be a flag to flip rather than a migration.
The growth plan is the share card. It’s definition of done is a passport card of your real history, posted to an Instagram story within 30 seconds of opening the app. Every card passes a brag test. If a teenager can read it as a challenge to go deeper it fails. Depth should be a memory not a dare.

The rest of it
What I got wrong
I built an app for the dives you half remember. Then I looked at its screen for a dive you half remember and counted five buttons asking you to remember more.
Add a buddy. Add visibility. Add gear. Five invitations sitting on the thinnest record in the book.
What I learned
When a whole category is bad, the reason is usually economic. Multiple incumbents all selling something behind the façade of a good log book. That read did more to justify building this than any usability finding and it's the first question I'd ask about any crowded category now.
Where it landed
Three testers are on it and their main effect was scope. Core logging first, photos and the rest queued behind it. What gates the App Store now is paperwork, a developer account for the entity, rather than the product.


Divey
A dive log you'll actually keep

The short version
Every dive log ever made assumes you fill it in properly on the boat. Nobody does. Mine was full of gaps before I lost the physical book, which is a seemingly normal outcome.
Divey is built to simplify this. Get home from the boat, put the dive in, about a minute. Back up on the cloud. And if all you remember of an old one is Cozumel, sometime in 2019, that's a record too.
I did some research, designed the product, built with SwiftUI, and wrapped in a simple brand.
Where it stands. Not a business and it isn't going to be one. I dive, I kept losing track of my logs, and enough friends had the same problem that building it made sense. People are testing it. It stays small on purpose.

How it started
Every dive log on the market is free yet none of them are a business. Four different owners give the log away to sell you something else. Hardware, travel, certification, open-source idealism. Each one is prevented by its own economics from building a well-designed, device-agnostic log, because a gear conglomerate will never make the best home for a rival's dive computer.
One competitor review set the floor for the whole build. A diver standing at a foreign dive shop with no signal, unable to show their logbook, concluding they may as well have kept paper. Offline first stopped being a preference after that.

Making it
Divey is a logbook and never a dive computer. Nothing in it may suggest live guidance, a warning, or any calculation about a dive you haven't done yet. That costs real features people ask for. It’s not something I want to budge on though. A wrong dive log might be embarrassing whereas a wrong dive computer might kill someone.
Underneath it is a set of rules I wrote down and made binding because a diver's history is irreplaceable and App Store releases are months apart. Every schema version stays in the code forever. Export keys are add-only and never renamed. A value written by a newer version that an older app has never heard of degrades to unknown and the record survives so a new file never breaks an old app. Photos are references into the photo library rather than bytes so losing the app never loses a picture. Every time the app goes to the background it writes a full export, keeps the newest three, and mirrors one into the Files app, which means a person can restore everything with no computer and no support ticket.
Before any release I erase a simulator, install the previous App Store build, let it write its store, then install the new one over the top and check the data survived. CloudKit sync was in the back of my mind from the first schema, so every model already obeys its rules and sync will be a flag to flip rather than a migration.
The growth plan is the share card. It’s definition of done is a passport card of your real history, posted to an Instagram story within 30 seconds of opening the app. Every card passes a brag test. If a teenager can read it as a challenge to go deeper it fails. Depth should be a memory not a dare.

The rest of it
What I got wrong
I built an app for the dives you half remember. Then I looked at its screen for a dive you half remember and counted five buttons asking you to remember more.
Add a buddy. Add visibility. Add gear. Five invitations sitting on the thinnest record in the book.
What I learned
When a whole category is bad, the reason is usually economic. Multiple incumbents all selling something behind the façade of a good log book. That read did more to justify building this than any usability finding and it's the first question I'd ask about any crowded category now.
Where it landed
Three testers are on it and their main effect was scope. Core logging first, photos and the rest queued behind it. What gates the App Store now is paperwork, a developer account for the entity, rather than the product.

