Two weeks ago I put Localdock — a macOS menubar app that gives every dev server a real address — on Product Hunt. It finished #8 for the day. This is what that turned into, every number straight off the dashboard, including the ones that don't flatter.
What I launched
Localdock names your dev servers. Start something in ~/code/dashboard and it answers at dashboard.localhost — no port, no hosts file, no sudo — and the name keeps pointing at the newest server when the framework auto-increments 3000 → 3001 behind your back. Flip one control and the same project is dashboard.local for your phone on the Wi-Fi; flip it again and it's a public HTTPS link with a key in the URL that expires after an hour. The tunnel binary is bundled and signed with the app, so there is nothing to install and no account to make. For people running Claude Code or Cursor, it also ships an MCP server with exactly three tools so parallel agent sessions stop colliding on ports — that page has the details.
It's a one-time purchase, sold to one person at a time by one person. I built it in about three weeks, leaning hard on coding agents — which is also how the port problem it solves became personal.
Launch day
Product Hunt on 24 August 2026: 121 upvotes, #8 product of the day. A respectable number, not a headline one, and I'd take the comment thread over the rank. Three questions from it did more for the product than the traffic did:
- “What bandwidth do I get? Can I run my own streaming server through it?” A fair probe. The answer — a public link lives for an hour and dies when you switch it off — turned out to be the clearest way to say what the links are for: showing someone a thing, now.
- “Do you keep connection data or logs?” No. Public traffic runs between the Mac and Cloudflare; our server is involved exactly once, to mint the permanent hostname the first time you share. Nothing about your processes or ports ever leaves the machine. I had that on the privacy page already; being asked on launch day is what told me it belongs next to the button.
- “I already run ngrok for free. What does paying buy me that a free tunnel doesn't?” The most useful comment of the launch. My honest answer: the tunnel is the least interesting rung. The product is the persistent project link — one name that survives port changes on your Mac, on your Wi-Fi and on the internet — and the tunnel is just the top of it. The commenter came back and said the persistent-link angle was the actual gap in the free tools they were using. The landing page now leads with that, and the tunnel is mentioned third.
The other launch-day event: I also shipped 1.2.0, because launch day was the day I discovered — on my own 2020 iMac — that every earlier build was Apple-silicon-only and Intel Macs refused it with “not supported on this Mac”. Nobody had reported it. Nobody had reported it because nobody on an Intel Mac had got as far as reporting; they had simply left. The changelog has the whole three weeks, day-one crash included.
The numbers
Thirty days ending 6 September 2026, the launch in the middle of the window.
| metric | value |
|---|---|
| Visitors | 3,755 |
| Started checkout 3.1% of visitors | 117 |
| Paid 16% of checkouts · 0.5% of visitors | 19 |
| Revenue | $364 |
| Bounce rate | 93% |
| Median session | 40 s |
Traffic came in three spikes, not a curve: a short video on TikTok a few days before launch, Product Hunt itself, and — the biggest day of the month — a single link a week after launch. Between spikes the site sees a few dozen people a day, which is the real baseline and the one I plan around.
| referrer | revenue |
|---|---|
| Product Hunt | $163 |
| $27 | |
| Direct / none | $22 |
| X | $19 |
| ChatGPT | $10 |
| TikTok · Reddit · Google | $0 |
Product Hunt was almost half the money. The three biggest countries by visitors were the United States (810), India (378) and Turkey (302); the United Kingdom and Germany followed at just under 200 each.
| page | visitors |
|---|---|
| / | 3,700 |
| /vs/ngrok | 33 |
| /refunds | 27 |
| /test-localhost-on-phone | 24 |
| /ai-coding-agents | 17 |
| /vs/localcan | 16 |
What the numbers say
Traffic is not audience. 436 of those visitors arrived inside TikTok's in-app browser and bought nothing — a Mac developer tool does not sell to a phone that can't run it, however good the video. A 93% bounce and a 40-second median session are what that looks like in aggregate. The visitors who mattered came from places where people were already looking for a fix.
Every extra step is a cliff. 117 people opened checkout and 19 finished — an 84% drop on the payment page itself, which I don't control. What I do control is how many steps precede it. For one day I tried routing every button through the pricing card first, on the theory that seeing the refund promise and the delivery line would help. Four people reached the card; zero continued. Every button opens the checkout directly again.
People check the exit before they enter. The refund policy is the third-most-read page on the site, ahead of every feature page. The 14-day no-questions refund line sits next to the Buy buttons on purpose, and the numbers say leave it there.
“Why not X?” deserves its own URL. The most-read page after the homepage is Localdock vs ngrok. That's the same question the best launch comment asked. If a comparison is the first thing your buyer wants, writing it yourself — including where the other tool wins — beats letting them assemble it from your pricing page.
Answer engines are a channel now. ChatGPT appears in the revenue table: a visitor arrived from a ChatGPT answer and bought. In the same window the answer-engine crawlers (ChatGPT's, Claude's, Gemini's) fetched the site 314 times, Google's search referrals bought nothing yet, and robots.txt welcomes every one of them on purpose. A dozen pages of plain, specific, honestly dated text is what they had to read; I'm not sure a video would have helped.
Your own Mac is a test device. The Intel bug survived three weeks of releases because every machine that ran CI and every machine I tested on was Apple silicon. The fix shipped the same day; the release pipeline now refuses to publish a binary that isn't universal. A checklist item costs nothing until it is the one you didn't write down.
What I'd tell someone launching next week
- Reply to every comment in the first hour, honestly. The comment that questioned the price was the one that improved the pitch.
- Decide what the baseline is before the spike arrives, so the day after doesn't feel like failure. Mine is a few dozen visitors a day and it is fine.
- Have the changelog, refund policy and a “versus” page live before launch day. Those, not the hero, are what the people who paid actually read.
- Count sales, not upvotes. 121 upvotes was a good day; 19 people trusting a one-person app with their card was the good day.
Get Localdock
If you run dev servers on a Mac — especially several at once, especially ones an agent started — Localdock gives each of them a name that doesn't move. One-time purchase, no subscription, no account, and version 1 updates included. Not for you? There's a 14-day refund, no reason needed.
Get Localdock$9 once, one Mac, licence key on screen and in your inbox the moment you pay.
Questions, or a launch story of your own? I'm @dmytrovirych on X, and the blog is where the next numbers will go.