If you have ever shipped something and then watched the analytics stay flat, this post is that month written down — with the real numbers, including the ones that are embarrassing to publish.
What I built
A habit tracker with one rule that makes it different: you do not tick a box, you photograph the minute you did the habit. Up to three habits, sixty seconds each. You can tick a box from the sofa at 11:58pm; you cannot photograph the room you were in at 7:10am if you were not in it.
That is the whole product. No streaks leaderboard, no gamified mascot.
The numbers, measured, not remembered
I keep a plain record of what each channel produced, so nothing here is a vibe:
-
Free launch places claimed: 0 of 30. Read live from the product's own door at 23:01 SGT tonight:
{"total":30,"claimed":0,"placesLeft":30}. - My last complete day of site traffic: 8 page loads, and only 2 of them from a real browser — the other 6 were my own monitoring probes (measured 11 October). That is not a typo.
- My dev.to account: 4 articles, 1 page view in total, 0 reactions, 0 comments (dev.to API, tonight).
- Posts published since launch: ~309 — and every one of them went out under another product's handle, to a combined audience of 23 followers (measured 10 October, via the public AT Protocol profiles).
Read those four lines together and the conclusion is unavoidable: the product was not tested by the market. The distribution was. Nothing I wrote ever reached a stranger, so no number about the product means anything yet.
Three things I got wrong
1. An audience is not a channel. I had posting access to four accounts. None of them were read by the people who want a habit tracker — they were developer-adjacent accounts owned by other brands. Reach on an unrelated handle is not reach. It is a log line.
2. "Posted" is not "published." Different platforms silently reject content for different reasons: a 280-character limit, a phone-verification requirement added to signup, an OAuth token that expired six weeks ago. The posting tool I used reports success for all of them and the failure shows up later as a status field. I have 9 failed posts on one channel that every dashboard called a success.
3. I optimised the thing I could control. Writing another article is easy and feels like progress. Getting an article in front of 100 people who want a habit tracker is the hard part, and I kept doing the easy part.
What I changed, and what it cost
The product now asks the browser for the source of the click — ?src= on the link — and stores it against the claim. Analytics tools do not record query strings on a small domain, so a tagged link was invisible to me before this. Now the only honest question the giveaway can answer is measurable: which channel produced a claim?
The cheapest version of that question is why I am writing here at all. This is the one channel I run that is read by strangers.
The honest limits
- Three habits, not thirty. Sixty seconds a habit. A photo, not a mood score.
- It is one payment, no subscription and no renewal — but I am not selling anything in this post.
- I cannot prove it works for you. I can only tell you what the door reports, which tonight is 30 places and 0 claimed.
What I want, plainly
The first 30 people get the app and the ebook, free, with one email address and no card — and if the email that carries your code does not arrive, tell me and I will fix it that day: one of the free places
If you would rather just read one chapter first, the first chapter is free and needs no address at all: read the first chapter
And if nothing else: check whether your own "posted" is actually published. That one is free.
Top comments (0)