DEV Community

showayzun
showayzun

Posted on

Build in Public #2: Where Do Free Tools Get Found? (Still 0 Sales)

This is post #2 in a build-in-public series. Quick recap: one human plus a small team of AI agents is trying to earn back a monthly AI subscription by selling digital products, with no paid ads. In post #1 we shipped three free tools, each with its own utm_source.

The zero first, because it's still the main number:

  • Orders: 0 on Gumroad, itch and our Chinese storefront (Oct 11, 21:36 Beijing time). Revenue $0, buyer messages 0.
  • Gumroad, last 30 days (Oct 11, 21:36 Beijing time): 29 views, $0. Referrers: 20 direct, 4 from our own store page, 2 from flowdash.makenotion.com (a Notion-internal domain, most likely their template review team), 2 from showayzun.itch.io, 1 from itch.io. The 3 itch referrers line up with our own test clicks. Clicks from Dev.to and from the buttons inside our itch tools were not measurable before Oct 11 (see Lesson 4).
  • Dev.to (Oct 11, 21:36): post #1 has 31 views and 1 reaction. Our job-search post and our fee-calculator post each have under 25 views and no reactions or comments.

Today's question: where should a free tool live so people actually find it?

The channel map: Owned, Rented, Community

We sorted every place we put things into three buckets.

Owned: GitHub Pages. The three tools from post #1 live there with basic SEO (title, meta description, canonical, OG image, sitemap). Traffic: GitHub doesn't show visits to a Pages site, only to the repo itself. Over Sep 27–Oct 10 the three repos got 15, 9 and 7 views, each from 1 unique visitor (almost certainly us), with the only referrer being github.com. So the honest answer is that owned pages haven't been found by anyone yet.

Rented: itch.io. Marketplaces come with their own search. When we looked, itch's Notion/tool tags had only about 20 listings, so competition is low. The open question was whether anyone is browsing there. Since then itch has become our main experiment (more below).

Community / content: this series on Dev.to and a Medium post (2 views, 0 reads as of Oct 12). We also learned a community lesson the hard way: a self-promo post on Reddit got the account banned from r/excel. Read each community's rules before you post, not after.

Lesson 1: a fix isn't done until every copy has it

Post #1 ended with a bug: the itch build of the FAQ generator reused the GitHub Pages utm_source, so itch traffic would have looked like GitHub traffic. We fixed it and re-uploaded.

Two follow-ups:

  1. Re-uploading a zip with the same filename reset itch's "played in browser" setting. Re-check page settings after every upload.
  2. The same bug was in three sibling builds. Our QA found three more itch builds still carrying GitHub Pages UTMs inside the tool. Fixing one channel copy doesn't fix the others, so audit every copy.

Lesson 2: QA the rendered post, not the markdown

Dev.to rendered the - [ ] items in post #1's QA checklist as literal "[ ]" text instead of checkboxes. We removed the markers. Every channel has its own renderer, so preview on the live platform.

The same thing happened on itch. A bare URL in our collection description was auto-shortened to "…utm_medium=collec...", so we replaced it with a text link that reads "Offer Pipeline on Gumroad". A link inside a PDF wrapped onto two lines and broke, so the next PDF version puts the link on its own line.

Lesson 3: platform limits are part of the schedule

  • Gumroad allows 10 new products per day. That blocked two free templates twice before they finally went up.
  • itch returned a 429 when we pushed too fast, so we staggered launches a couple of hours apart.
  • Template directories have review queues of roughly 3–4 weeks.

None of these is a surprise once you know about it. They're just inputs to the plan.

Lesson 4: Gumroad ignores UTMs unless all three are there

We put a utm_source on every link so we'd know which channel sends buyers. Our Gumroad dashboard showed nothing for devto, itch or the collection. It turns out that zero doesn't mean anything.

  • Gumroad only records a UTM visit when utm_source, utm_medium and utm_campaign are all present. If one is missing, the visit isn't counted. None of our 25 live Gumroad links had utm_campaign, and 11 didn't have utm_medium either. Tracking never worked, whether or not anyone clicked.
  • UTM visits show up in Analytics → Links, not in Referrers. Referrers only reads where the visitor came from, and a visit with no referrer counts as "direct".
  • Most of our traffic arrives without a referrer anyway. Dev.to sets outbound links to noreferrer, and the buttons inside our itch tools sit in an itch.zone iframe. That's why our referrers are almost all "direct".

So the honest status: for the first 3 days, clicks from Dev.to and from buttons inside our itch tools weren't measured, while links in itch page text got zero clicks (they'd have shown as itch.io referrers). On Oct 11 we added utm_campaign=sprint-oct to our links, and real data starts there. By 21:36 that evening, the Links report showed 7 itch rows with 1 click each: all 7 turned out to be our own QA checks, and so did an 8th row added later that night. Outside clicks: 0, conversions: 0. New rule: QA reads links off the page and checks the parameters, it never opens the Gumroad link itself, because every test click pollutes the report. If you sell on Gumroad, check that your links have all three parameters, then look at the Links report, not Referrers.

Lesson 5: "published" means it opens when you're logged out

Hashnode's AutoMod archived both of our posts. Logged in as the author, we could still see them. Everyone else got a 404. Now a post only counts as published once the link opens in a logged-out window.

Lesson 6: two penalties, two different causes

  • Reddit: banned from r/excel for breaking that subreddit's self-promo rule.
  • Xiaohongshu (a Chinese social platform): a warning for suspected automation, because our agents were browsing and posting from the account. A day later every note on the account was flagged, so we dropped the channel.

The fixes are different too. Read each community's rules before posting, and keep account actions (posting, replying, browsing) with a real human. Agents write the drafts. A person presses the button.

The itch experiment: four free job trackers

Overnight we put four free Notion job-application trackers on itch, one per role. I built these, and the details below come straight from the templates.

All four share the same base. Applications move through Status stages, each row has deadlines and follow-up dates, and a 🔥 Today view lists anything with a deadline or follow-up date in the next 3 days. There's also an interview prep checklist and sample rows you delete when you start. They run on Notion's Free plan. They don't send reminders or notifications. You open the Today view yourself.

What differs is the stages and fields:

Role Stages Role-specific fields
Software Engineer Applied → Coding Test / OA → Recruiter Screen → Technical Phone Screen → Onsite Loop → Offer Level, Tech Stack, Interview Focus (includes a "Take-home Project" tag), Prep Notes
Product Manager Applied → Take-home / Case → Recruiter Screen → Hiring Manager Screen → PM Loop / Onsite → Offer PM Track, Domain, Interview Focus, Product Teardown (one feature you'd improve + the metric it would move)
Data Analyst Applied → SQL / Excel Test → Recruiter Screen → Technical / Case Interview → Final / Stakeholder Panel → Offer Analyst Type, Tools Required, Portfolio Project (a plain-text note)
UX / Product Designer Applied → Portfolio Review → Recruiter Screen → Design Exercise / App Critique → Portfolio Presentation / Onsite → Offer Discipline, Portfolio Version, Case Studies to Show

Launch log (Oct 11, Beijing time): SWE 01:35, PM 03:30, Data Analyst 05:30, UX 06:27. Each got a devlog post, and at 08:38 we grouped them into one itch collection. We tested the PM page download in a logged-out incognito window: one click on Download and the PDF arrives, with no payment step.

We also ran an SEO test on two older tools the night before: new titles, 10 real tags each, and fuller descriptions at 22:30, then devlogs at 23:34. Both had 0 views at the 21:37 baseline.

QA caught real problems in our own copy, too. One of the PDFs listed stage names that didn't match the template, and an older listing said "follow-up reminders" when the template only has follow-up dates. Both are fixed. If the product doesn't do it, the copy shouldn't say it.

What the data says so far

As of the Oct 10, 21:35 standup, the whole itch account had 35 views and 2 downloads. Every new free tool had 0 views. The views went to older template packs found through itch search for "productivity". That's a hint that marketplace search was doing more than our posts on day 2.

Here are the Oct 11 numbers (21:36 Beijing time). Views are raw counts. Downloads show the raw count, then the count after removing our own test downloads (SWE 1, PM 2, DA 1, UX 1):

Page Live since (Beijing) Views Downloads
FAQ generator (after SEO) Oct 10 22:30 0 (Oct 12, 06:33) 0
Rate calculator (after SEO) Oct 10 22:30 0 (Oct 12, 02:25) 0
SWE tracker Oct 11 01:35 1 1 raw → 0 external
PM tracker Oct 11 03:30 4 2 raw → 0 external
Data Analyst tracker Oct 11 05:30 4 1 raw → 0 external
UX tracker Oct 11 06:27 4 1 raw → 0 external
Collection Oct 11 08:38 n/a (no view count shown) n/a

The whole itch account was at 52 views and 7 downloads. Among the other pages, the Office template bundle had 5 views, Habit Pro 3 and the fee calculator 1, all with 0 downloads. Five of the 7 downloads were our own tests, so outside downloads of the trackers: 0. Visitors still came through itch search for "productivity" (4) and the tools/newest page (3). The new keyword-first titles didn't get any tracker into the top 20 itch search results, so I'm not crediting the SEO change for anything.

Sorting the clicks into three buckets:

  • Measured: links in itch page text, 0 outside clicks.
  • Not trackable before sprint-oct: Dev.to links (noreferrer) and the buttons inside our itch tools (itch.zone iframe).
  • Our own tests: all 8 Gumroad Links clicks, now confirmed as QA.

Compared with the 20:30 check an hour earlier, the only change was +1 Gumroad view, from our own store page.

The honest read: at these volumes nothing is statistically meaningful. The SEO change and the devlogs overlapped, so we can't credit either one alone. I'll use the numbers for one thing only: deciding where the next hour of effort goes. Between the 20:30 and 21:36 checks, every measurable number was flat except one Gumroad view, and that came from our own store page. itch search and Gumroad, the channels that brought our first visitors, have stopped growing. New traffic has to come from new places: directories, pull requests to curated lists, and new articles, all of which take time to pay off. One lesson already: check a directory's submission barriers before writing the listing. AlternativeTo stalled for us at email verification; once that was cleared we submitted the fee calculator to its free queue. Launching Next is also queued, with a 2–4 month wait.

Next 48 hours

  • Add real visit tracking to the GitHub Pages tools, since GitHub's own traffic graph only covers the repos.
  • Hashnode is off the list: its AutoMod archived both of our posts (promo content on free hashnode.dev subdomains gets removed), so this series stays on Dev.to only.
  • Warm up an Indie Hackers account with comments before posting anything.
  • Show HN, once we have an HN account.
  • Watch the AlternativeTo and Launching Next queues, and give the new upgrade blocks on the three tracker pages 48 hours before changing any headline.

If you want the bigger version of the job tracker, the paid Offer Pipeline template is $15: Offer Pipeline on Gumroad

Disclosure: these tools and templates were built by a small team of AI agents working with one human. Every number above, including the zero, is real data from our own logs.


Free Notion job trackers. If you're job hunting, I made five free Notion templates: one each for software engineers, product managers, data analysts and UX/product designers, plus a general one. Each tracks applications by Status stage with deadlines and follow-up dates, and a 🔥 Today view shows what's due within 3 days. Works on Notion's Free plan. (I built these.)

Free Notion Job Application Trackers by Role

Top comments (0)