Every analysis I ran came back the same way. The product I was building couldn't reliably meet the standard I had set for it. I built this app for myself, and I still catch myself wishing it existed. But once the evidence was in, there wasn't really a decision to make, so I killed it.
The product was a power-nap app. The premise was that a short nap leaves you sharp, but a long nap leads into deep sleep and waking up groggy. The app was designed to pull Apple Watch biometrics, detect the descent toward deep sleep, and wake you in the perfect window to maximize sleep and minimize grogginess. Doing that well means reacting to your body in real time.
Before running anything, I set metrics for what a successful outcome would look like. At one point, staring at results that had just missed, I caught myself starting to redraw the line to where the data had landed, and stopped. The discipline of predetermining what success looked like kept me from shipping a product that was not up to the standard I had set. I also did not allow the first failure to end my work. When the first detection method fell short, I came at that one question, could the signal even see the descent, from six independent directions. Every one returned the same answer. A single failed test can be bad luck or a bad setup. Six independent analyses landing in the same place told me something honest about the problem.
First, the signal couldn't carry the product. Detecting the descent toward deep sleep, reliably enough and early enough to act on, simply wasn't possible from the data a consumer wearable provides. This wasn't a tuning problem or a question of reaching for a fancier model. A random forest did no better than plain logistic regression. That is the tell that the ceiling sits in the signal itself, not in the model trying to read it. That killed the ambitious version, but left a humbler one standing, so I tested that too. The idea was to skip the real-time detection, and just time the nap from the moment someone falls asleep. That version was buildable. However, that product would wake you at the wrong time roughly 10–15% of the time, often enough to matter, and it wouldn't do much that a simple timer couldn't. I asked myself if I would actually be excited to use this. The answer was no. I set out to build something excellent, and I wasn't willing to settle for something that was merely okay.
I didn't ship a nap app. What I built instead was the ability to take a vague product instinct, pressure-test it against real data, and reach a conclusion. That skill transfers to almost any problem worth working on, and it's sharper now than when I started. The process is what I will take with me moving forward.