
I built the exact baby sleep app our family wanted. Now I am finding out whether 100% freedom is worth owning 100% of the maintenance.
Our family uses Napper several times a day. One of us starts or ends sleep, both iPhones update immediately, and notifications warn us when a wake window is nearly over. From my Apple Watch, I can check the current status or end the current night sleep session with a Shortcut.
It has quietly become part of our daily routine.
Napper is the second app I built from my phone. Tabletime, the first, lives on our home network. Napper explores a different question: can an online web app reach our iPhones and Apple Watch, then become dependable enough for everyday family use?
Napper is a private baby sleep and wake-window tracker, deployed online and installed from Safari as a standalone web app. It tracks naps, night sleep, and wake windows, counts down to the next nap, and turns the history into a 7 or 30 day rhythm we can understand.
Using it every day has changed how I think about custom software.
Every rough edge becomes visible. If a notification arrives late, a session expires badly, a browser update changes something, or the timeline needs correcting, I am the support team. Hosting, authentication, push delivery, data fixes, and maintenance all belong to me.
With a five-dollar app, that work is bundled into the price and handled by someone else.
Owning the whole product gives us 100% freedom. I can shape it around the way our family actually works, change a flow when our routine changes, and connect it to our phones and watches exactly as we want. I would never find that degree of control in an off-the-shelf baby sleep app.
Underneath, Napper is a Vue PWA with a TypeScript Cloudflare Worker, D1, Web Push, and scheduled reminder checks. It has signed sessions, throttled logins, private push subscriptions, and separate protection for the Watch actions.
It runs on conventional, deterministic code with zero model calls. AI was part of how I developed it. I supervised the work, stopped wrong turns, checked the details, ran the tests, and decided when it was ready.
Building it was the experiment. Depending on it every day is the real test. ๐
How much maintenance would you take on for software that fits your life exactly?
More notes on engineering, AI and the systems around the work.
Back to all writing