
When buildlogs published the number that cut against them (Sep 14–21, 2026)
A weekly read of eleven high-engagement buildlogs from X and Indie Hackers for Sep 14–21, 2026, and the qualifying numbers their authors published against their own headlines.
The strongest buildlogs this week published the number that cut against the headline they had just earned.
Taras crossed $1,000 in monthly revenue and broke the total down by channel, including the 22% he labels untraceable. Mark watched three weeks of posts stall below 1,000 impressions and put the reach figures on the page beside the engagement rate that held. Hisashi's content agents multiplied his site's organic traffic by 34, and the first number he showed was the 53% of April's articles that never earned a single impression.
This issue covers eleven buildlogs published from September 14, 2026 at 08:00 through September 21, 2026 at 08:00, UTC-05:00, drawn from the #buildinpublic tag and developer timelines on X and from Indie Hackers. A post qualifies as a buildlog when a builder reports on their own product, numbers or process; connection requests and launch-directory promotion were left out of the selection. X figures are detail-page snapshots taken during this run, so likes, replies, reposts, bookmarks and views are capture-time values. Indie Hackers figures are the Likes and Comments visible on each post page at capture time. Both count community attention around a post.
The cases at a glance
| Case | Platform | Engagement snapshot | The number that qualified the claim |
|---|---|---|---|
| Taras | X | 60 likes, 41 replies, 44 bookmarks, 5 reposts, 3,528 views | A $1k MRR total with 22% the founder cannot attribute to any channel |
| Mark | X | 14 likes, 15 replies, 1 repost, 464 views | Reach stalled under 1,000 impressions while engagement held at 4–9% |
| Hisashi Space | Indie Hackers | 26 Likes, 88 Comments | 34x organic traffic beside a 53% zero-impression rate |
| Shinya | Indie Hackers | 3 Likes, 14 Comments | 332 referring domains that resolve to one real link |
| Robert Dainowski | Indie Hackers | 23 Likes, 29 Comments | A second AI model whose review failed 2 of 5 changes |
| Viktor Molnar | Indie Hackers | 16 Likes, 41 Comments | 12 testers held active for 14 straight days |
| jamelhamlaoui | Indie Hackers | 4 Likes, 6 Comments | A shipped product and $0 revenue |
| Darya Chachura | X | 83 likes, 47 replies, 5 bookmarks, 1 repost, 3,979 views | 46 followers from a month of posts, 2,500+ from one selfie |
| Karupin | X | 11 likes, 1 reply, 144 views | Two polls and one comment that became three changes |
| Everton Carneiro | X | 81 likes, 16 replies, 37 bookmarks, 2 reposts, 4,841 views | An icon and a question, with no number at all |
| Ai | X | 402 likes, 9 replies, 262 bookmarks, 23 reposts, 55,286 views | A three-day sprint reduced to one video, with no number at all |
The counter-number beside the headline
Taras: itemise the revenue you cannot name a channel for
Taras opened with the milestone and then took it apart. The post reports $1,000 in monthly revenue and splits it by acquisition channel: SEO 28%, AI 18%, X 18%, other socials 10%, word of mouth 4%, untraceable 22%. 1
The detail page recorded 60 likes, 41 replies, 44 bookmarks, 5 reposts and 3,528 views. The account had 1,133 followers at capture. 1
The untraceable line is what turns a milestone post into a diagnostic. A founder who can name the source of every dollar is usually describing a channel experiment; Taras shows a fifth of his revenue arriving from somewhere his tools cannot see, which is where most products at this size actually sit. The post carries a second honest number: revenue stayed flat through a slow phase rather than falling, which he credits to low churn. He closes with three product rules — one feature that solves the customer's problem, a perfected onboarding flow, a product that works — and names four people whose advice he followed, with the specific tactic he took from each. 1
What to copy: Publish your revenue split by acquisition channel and keep an explicit untraceable line instead of dividing the total into channels that sound better. When you credit advice in a buildlog, name the source and the one tactic you took from them; a credit with a tactic inside it is a reading list, and a credit without one is a thank-you.
Where the inference stops: These figures come from the founder's own dashboard for one month. The 22% describes what his attribution could see, so part of it is likely referrals and direct visits that no tool caught. Revenue and channel mix are reported here; margin, churn rate and refunds stay unstated.
Loading content card…
Mark: log reach and response as two separate numbers
Mark is 113 days into a public posting log. The entry for days 113 to 115 opens with the weak half of the report: no single post crossed 1,000 impressions, against a previous stretch that had three posts above 2,800 and one at 6,600. Then comes the other half. Every post in this stretch landed between a 4% and 9% engagement rate, a tighter band than the week before. 23
The detail page recorded 14 likes, 15 replies, 1 repost and 464 views, against an account of 1,546 followers. 2
He lists what each post did, with reach and response for every one, and names the entry he wants to repeat: "If your SaaS needs a demo before people understand the concept of it, your website has work to do," at 301 impressions, 11 likes and 8 replies, the best engagement rate of the stretch. His own reading is that the line works because it states an opinion in his positioning voice instead of asking a founder question. 2
What to copy: Keep impressions and engagement rate in two columns. When one falls and the other holds, you have changed how far your posts travel rather than how well they land. Then write one sentence about what the best-performing post did differently and schedule more of that shape — here, a stated opinion rather than a question.
Where the inference stops: Three weeks of one account's numbers, read against the author's own quoted figure for the week before, all from the same dashboard. A 4–9% engagement rate on 301 impressions and the same band on a 6,600-impression post describe different situations.
Hisashi Space: show the dead half of the site, then the fix
Hisashi handed his content marketing to agents, and six months later his site's search clicks were 33.9x what they were in February, with ad revenue up 33.6x. Then he showed the part that failed. Of everything the site published in April, 53% never received a single impression, even after 60 days, and the pipeline was putting out 200 articles a day. Index status on the dead pages showed 66% indexed normally, which ruled out a penalty for machine-written text and pointed at demand instead. 4
The Indie Hackers page showed 26 Likes and 88 Comments on September 21, 2026. 4
The fix supplies the most copyable number in the week's set. He had aimed at keywords doing 1,000 to 5,000 searches a month, where covering the top ten results still lands a page around position 11. He moved the target down to 50 to 100 searches a month. In that band the median position is 8.6, 68% of pages reach the top ten and click-through is 2.90%; in the 1,000-to-5,000 band the median position is 14.4 and 34% reach the top ten. The zero-impression rate fell from 53% in April to 35% in May and 25% in June, on the same pipeline. 4
The deletion loop is the half nobody posts. A page sitting at zero impressions for 28 days goes into a retarget queue, and at 56 days it is set to noindex and dropped from the sitemap. One overnight pass in August removed 1,601 articles. His stated reason: a site that only ever adds climbs its proportion of dead pages, and that ratio is what a spam classifier can measure from outside. He also declines the clean causal story. The domain is 22 years old, he says he cannot subtract that from the result, and the same pipeline is running on domains registered this year as the test still in progress. 4
What to copy: Pick keywords by volume band and check the band where your site can reach the first page; for a small site that was 50 to 100 searches a month rather than 1,000 to 5,000. Pair it with a deletion rule, not only a publishing rule: 28 days at zero impressions sends a page to retarget, 56 days takes it out of the index.
Where the inference stops: The site is two decades old and the author says he cannot separate that advantage from the traffic gain. Revenue here is advertising, so the 33.9x describes visits. Pages per visitor fell from 12.4 in February to 1.9 in August, which fits an ad-funded library of single-answer pages.
Shinya: run the three checks that caught your own errors
Shinya posted three findings from one week on his own site, and two of them are his mistakes. He thought he had 332 backlinks; Ahrefs was showing referring domains, and when he opened the list, one was a real site — Indie Hackers, five links, none dofollow. The rest were auto-generated pages that had inserted his domain, with 213 new domains added in the last 30 days. 5
The post page showed 3 Likes and 14 Comments on September 21, 2026. 5
The second finding came from looking at the server's side rather than the browser's. Every URL that does not exist on his site returned a 200 with the homepage — a soft 404 — and Screaming Frog, Semrush and his own check script had all reported the site clean, because client-side crawlers only request URLs they can find. The third: a claim in his own published Semrush review, that the www version redirects to the main domain, was wrong for four weeks and had been serving a duplicate copy of the site with a 200. He added a 301 and a dated correction on the page rather than editing it quietly. 5
What to copy: Sort referring domains by whether the linking page itself has organic traffic, and treat the raw count as noise. Request a URL that does not exist from a bot user-agent and compare the status code your server returns with the one a browser gets; that gap stays invisible to crawlers that follow links. When you find an error in your own published writing, add a dated correction and leave the original claim visible.
Where the inference stops: Three findings from one small site, with backlink counts taken from a tool's index rather than from Google. The choice to skip disavowing rests on Google's own guidance that most sites need none, and the post measures nothing about what the spam domains cost.
The cost of the result
Robert Dainowski: write down what your review step charges you
Robert runs a few small Shopify apps around a full-time job, and most of the building is done by AI. His setup is specific enough to copy: one model writes the change, a different model reviews it against a numbered list agreed before any work started, and the reviewer passes every line or fails the whole change. Yesterday five reviews finished, three passed and two failed — one at five of six, one at six of ten — and both failures were changes to written instructions rather than app code, including one hole he says he would never have spotted. 6
The post page showed 23 Likes and 29 Comments on September 21, 2026. 6
He caps retries at two rounds and then takes the decision himself. The cost goes on the record: two rounds on a two-sentence change is a morning gone, and a failed review feels like progress when the change deserved dropping. The post ends on the question his own process cannot answer — when a failed change earns another round and when it gets dropped — which is why the comment thread filled with other people's review rules. 6
What to copy: Put the acceptance list in writing before any work starts, and let the reviewer fail the whole change so a partial pass never ships. Cap the retries and route anything past the cap to yourself; the stopping decision is the part worth keeping human.
Where the inference stops: One builder's setup across a handful of small apps, with failure counts from a single day. The post counts how often a reviewer rejected a change; whether a rejected change was actually broken, and how much a reviewer lets through, stay unmeasured.
Viktor Molnar: read the distribution rule before the last week of the build
Google requires personal Play Console accounts created after November 13, 2023 to run a closed test with at least 12 testers who stay opted in continuously for 14 days before the app can reach production. Testers who leave before the fourteen days run out do not count toward the minimum. 7
Viktor Molnar found the rule after the app was finished, at the moment he wanted to ship it, with no audience, mailing list or Discord behind him. 8
The post page showed 16 Likes and 41 Comments on September 21, 2026. 8
His account of the options is the useful part. Friends and family run out, and most stop opening the app around day three once the favour stops feeling worthwhile. Paid testers breach Google's policy and trip the fraud detection the rule exists to enforce. Cold "need testers" posts reach other developers, who have the same problem rather than free time. That last observation turns into the product: the people reading a testers request are exactly the people who need testers, so he built a swap where agreeing to test someone's app registers them as a tester on yours, with a verification layer that enforces a real minimum session. 8
What to copy: Read the distribution rules of every store before the final week of the build; a fourteen-day clock discovered after launch costs a fortnight. When a platform forces you into a group, look for the group whose members share the same obstacle and make the exchange reciprocal and automatic rather than a favour.
Where the inference stops: The requirement applies to new personal accounts, so an established or organisation account faces a different path. The post describes the constraint and the swap mechanism; how many testers stayed active through the full window, and how the app performed after launch, stay unstated.
jamelhamlaoui: price the access, not only the demand
jamelhamlaoui built the difficult part. Google's Ads Transparency Center has no public API, so he mapped the internal endpoint by intercepting the requests the site makes to itself: region codes are the ISO 3166-1 numeric code plus 2000, a free-text field accepts a brand name or a domain, and ad copy sits in the creative bundle as escaped hex that reassembles into real HTML. He shipped it, priced it and published it. Revenue so far: $0. 9
The post page showed 4 Likes and 6 Comments on September 21, 2026. 9
His three corrections are the post's real content. He validated demand and not access: he pulled 13,214 listings from the marketplace he was targeting and read the demand curve — the median listing gets 4 users a month and the top 100 hold 64% of all demand — while the incumbents in that niche carry hundreds of thousands of runs and 4.8-star ratings against his zero reviews. Two communities blocked his new account on sight, for the shape a new account posting links cuts from the outside. And the thing that travelled was the technical writeup he published the same day as the product announcement, because, as he puts it, nobody searches for a product they have not heard of. 9
What to copy: Before building, pull the category data and check access as well as demand — whether the incumbents' reviews and usage leave room for an account with none. Publish the method before the product; a writeup about how you solved something gets picked up where an announcement goes nowhere.
Where the inference stops: One launch, weeks old, with a single technical writeup named as the thing that travelled. The $0 may belong to timing, pricing or a thin distribution surface; access and channel hostility are the author's own diagnosis.
The number the audience handed back
Darya Chachura: count followers per post type, not per month
Darya had been posting daily for a month and had 46 followers to show for it. Then she posted a selfie with "Let's connect" and gained 2,500+ in a day. 10
The detail page recorded 83 likes, 47 replies, 5 bookmarks, 1 repost and 3,979 views, against an account of about 3,200 followers. 10
Her co-builder Uladzislau joined the same "looking to connect" trend about ten hours after her and published his own numbers: he went from 97 to 267 followers while she went from 46 to 3,120+. He drew the timing lesson himself. 11
What to copy: Track follower growth per post type rather than per month, so the format that moves the number shows up instead of averaging away. If you use a connect-style post, know what it buys: replies and reach from people who have not yet shown interest in the product.
Where the inference stops: Two posts from one team in one week, with the 2,500+ reported by the author; the post's own counter shows 3,979 views. Follower growth measures attention paid to the account, and both posts here report growth rather than what those followers did next.
Loading content card…
Karupin: publish the poll numbers and what changed because of them
Karupin is pre-launch, with 117 followers on X and about 41,000 on Instagram, and used two polls and one comment to settle three interface decisions. 66% of 76 respondents voted to keep the research details folded, so nothing changed. For the top of the home screen, 37% of 46 votes put "Ranking" first, and it moved directly under the score. A single comment asking what "pt" meant produced an explainer. All three ship in the first update after launch. 12
The detail page recorded 11 likes, 1 reply and 144 views, against an account of 117 followers. 12
The sample sizes are what make the post usable. Seventy-six and forty-six votes tell a reader how much weight each answer deserves, and the poll that confirmed the current design is reported with the same clarity as the two that changed something. A single question in the comments outranked both polls as a design input.
What to copy: Report poll results with the number of respondents and say what changed because of each one, including the poll that confirmed your current design. Treat one specific question in the comments as a defect report and answer it inside the product rather than in a reply.
Where the inference stops: The evidence sits in the video attached to the post, and the engagement figures are small. Voting in a poll is a cheap action, so these 76 respondents describe the people already following the build rather than the market.
Loading content card…
Two posts where a single image did the work
Everything above turns on a number. Two of the week's strongest posts carried none, and they are worth keeping for what the format alone can do.
Everton Carneiro: one icon, one question
Everton Carneiro posted an app icon and asked, "Can you guess what is it about??" 13
The detail page recorded 81 likes, 16 replies, 37 bookmarks, 2 reposts and 4,841 views, against 9,606 followers. 13
The ratio between those numbers is the finding. Bookmarks beat replies by more than two to one, so people saved the icon instead of answering the question, which is what happens when a picture earns a second look and the question needs no reply. The picture carries the post.
What to copy: When you have a strong icon, screenshot or product surface, post it alone with one question instead of burying it inside a feature list. Read bookmarks against replies afterwards; high saves with few replies means the image travelled and the question did not, and the detail belongs in the first reply.
Where the inference stops: The account had 9,606 followers, so this reach starts from an audience most pre-launch builders do not have. The post carries no download or install figure, and its engagement describes attention paid to an icon.
Loading content card…
Ai: compress the sprint into one video
Ai posted a digest video of a three-day game development challenge, captioned in Japanese and tagged to the Shipaton sprint. 14
The detail page recorded 402 likes, 262 bookmarks, 23 reposts, 9 replies, 6 quotes and 55,286 views, against an account of 648 followers. 14
That is the strongest ratio in this week's set, and it rests on the format. A sprint an audience has watched in fragments gets one complete thing to react to at the end, and the caption spends its single line on what the video is. New readers get an entry point that a run of daily updates never provides.
What to copy: Compress a multi-day build into one short video when the stretch ends, and let the format carry the post — one line of caption saying what the video is. Keep a digest aside for the moment you want to reach readers who were not following the daily updates.
Where the inference stops: The platform counter includes viewers who do not follow the account, and distribution also depends on how far the platform chooses to push a video. The caption is in Japanese, so this post's audience is largely Japanese-speaking.
Loading content card…
Building the counter-number into your next update
Nine of this week's eleven cases put a number beside the claim that limits it. The shape transfers to any product:
- Claim. The figure or milestone you would normally lead with.
- Counter-number. The one number that limits it: the share you cannot attribute, the reach that stalled, the traffic that produced no impressions, the review that failed, the hours the process cost.
- Boundary. What the number covers — one channel, one month, one dashboard, 76 respondents, one weekend.
- Next test. The specific change you are making and the number you will watch to judge it.
- Invite. The question your own process cannot answer, asked precisely enough that the answers contain numbers.
The second line is the one worth writing, and this week kept showing why. A post built on saves and replies — an icon, a connect ask — describes attention: how many people paused. A post built on revenue, conversion or a poll with its sample size lets a reader judge progress. Attention is worth having, and progress is the part your next decision can use.
References
- 1
- 2
- 3
- 4I handed my content marketing to agents, by Hisashi Space
indiehackers.com
- 5I thought I had 332 backlinks. I have one, by Shinya
indiehackers.com
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.
