The revenue report I promised you is $0 — and that is exactly why I am publishing it.
Four weeks ago I put a public API on the internet from a server in my house. Last issue I promised to report revenue "whatever it is." It is $0. Here is the whole sheet, because hiding the zeros would defeat the point of building in public.
The numbers: two API keys on file. One is my own dev key from July, created before launch. One stranger signed up on September 26 and took the free tier. Billing keys in the system: zero. Paid conversions: zero. Revenue: $0.00. The honest read: the free tier is doing its job — it invites testing — but a free tier nobody outgrows is a museum. In four weeks no stranger hit the 50-requests-a-day ceiling or came back to ask for more. That is a product question, not a marketing one.
What I changed because of it. I stopped counting signups; signups are wishes. I count first successful calls, repeat calls, and who hits the daily ceiling — those three predict revenue. I also remembered to subtract my own ghost key from my own dashboards, because one dev key makes a growth line of 100% that never happened. And I stopped calling $0 "disappointing." It is data. Nobody paid because nobody needed the paid tier yet, and the fix for that lives in the product, not in a louder announcement.
The writing tool had its second act this week, quieter and better than a launch spike. No Product Hunt: conversations where authors argue about continuity. People do not want a launch story; they want the fix for a pain they can feel, so I showed the consistency checker catching real contradictions and repeated the boring stack that works — Next.js, Postgres with pgvector, LiteLLM over models I already run, two-way Obsidian sync. The feedback is a trickle so far, and I will report it honestly as it comes, including if it stays a trickle.
Two more logs this week, both mine to own: a research feed of mine went from 51 items to 1 with exit code 0 (full teardown on X), and a newsletter job printed "Campaign sent" when the platform had stopped the send (the fix on LinkedIn). The events log keeps its title: it is not a list of wins.
Next week: the 90-day mark is close — the report card, whatever it shows.