This week: the gap was the proof

This week: the gap was the proof

The Jul 20–27 #buildinpublic digest shows why the most useful posts put attention beside its missing counterweight: revenue, retention, a pricing choice, or the next test.

The short version

The strongest build-in-public posts from Jul 20 through Jul 27 did not present a milestone as proof by itself. They showed the gap around it.
TourKit had 67,300 impressions and 11,100 unique developers reached, but still had zero paying customers. Corporatify Invoice Studio had spent $0 of a $200 launch budget and made $0 in revenue. Emilio Johann had the opposite kind of gap: one real paying customer, with no claim that one sale proved a business. 1 2 3
That missing number, hard choice, or unresolved next test made the post useful. It gave readers something to inspect instead of asking them to admire a result.
This digest covers Jul 20, 2026 at 08:00 through Jul 27, 2026 at 08:00 in the channel time zone. X counts are from individual post details. Indie Hackers counts are the visible likes and comments on each post. The set is signal-based rather than an exhaustive census: the X hashtag stream is noisy, and Indie Hackers' visible counts are not a normalized cross-platform ranking.

The standout set

PostPosted in channel timeVisible engagementThe gap made visible
Michael Flarup on CibbyJul 20, 10:19 AM1,922 likes, 1,034 bookmarks, 173 reposts, 93 replies, 203,247 viewsA working visual artifact before a launch claim 4
Junead Khan on TreasuryJul 20, 1:54 PM118 likes, 44 bookmarks, 21 replies, 9,275 views; 247 followersA public decision between YC and bootstrapping 5
Leapd's AI-run business reportJul 20, 10:50 AM37 likes, 94 commentsAutomation claims versus the founder work that remains 6
Corporatify Invoice StudioJul 21, 12:48 AM14 likes, 57 commentsA finished product versus zero distribution and zero revenue 2
Divyanshu Bhargava on flutter_validatorsJul 23, 4:59 AM92 likes, 35 bookmarks, 8 reposts, 4 replies, 3,810 viewsDownloads as a concrete adoption signal, without pretending they are revenue 7
BackchannelsJul 22, 2:20 AM17 likes, 79 commentsA pricing model designed around use instead of subscription inertia 8
Tablif's launch datasetJul 23, 7:48 AM4 likes, 30 commentsWhere founders build versus where unmet demand may be 9
TourKitJul 24, 9:07 AM6 likes, 20 commentsAttention and developer reach versus zero payers 1
PactiamoJul 24, 9:23 AM12 likes, 58 commentsA polished product facing its first real market test 10
Emilio Johann's iOS appJul 23, 5:29 PM117 likes, 66 replies, 10 bookmarks, 3 reposts, 3 quotes, 9,001 viewsOne paid conversion, with the rest of the business still unproven 3

1. Put the counterweight next to the win

TourKit: 67,300 impressions, zero customers

Raj Chavan's TourKit post is a clean example of a metric that refuses to flatter the builder. A single Daily-Dev post produced 67,300 total impressions and 11,100 unique developers reached, with no paid promotion. It also produced zero paying customers. TourKit is a solo-built product tour SDK priced at $19 per month, compared in the post with Intercom's $500-plus price point. 1
The post earns attention because it does not turn distribution into a fake victory. It says where the reach came from, who saw it, and what did not happen afterward. That gives the reader a usable diagnosis: Daily-Dev may be a strong awareness channel for developer tools, but awareness has not yet become payment for this product.
Copy this: Put the funnel's next missing event in the same post as the milestone. Report impressions, qualified reach, signups, activated users, or paid conversions together instead of stopping at the largest number.
Boundary: A zero-customer result does not prove the channel is bad. It only proves that this post did not close the loop. The next update needs a landing-page, activation, or sales experiment before anyone can diagnose the real failure.

Corporatify: $0 is a useful launch number

DavidZelda described a one-week experiment to build and launch a paid product with a $200 budget, no audience, and no brand. In the first 48 hours, Corporatify Invoice Studio was live as a browser-only invoice and quote generator. Infrastructure cost was $0, spend was $0 of the $200, and revenue was $0. The product used a $9 one-time unlock delivered through Stripe's post-payment confirmation message, avoiding a backend. The post drew 14 likes and 57 comments. 2
The hook is not the zero-backend trick by itself. It is the side-by-side accounting. The build is cheap, but the author labels distribution as the actual product problem and records a failed Hacker News attempt instead of hiding it behind the launch story.
Copy this: For a constrained launch, publish four numbers: budget allocated, budget spent, revenue, and the acquisition surface tested. Add the failed channel, not just the chosen stack.
Boundary: A low-cost implementation is not evidence of demand. The experiment becomes informative only when the next post connects a channel to qualified visitors and a purchase attempt.

Emilio: celebrate the first payer without overselling it

Emilio Johann's post opens with an all-caps emotional reaction, then narrows quickly to the fact: his first iOS app received its first paying customer. The post had 117 likes, 66 replies, 10 bookmarks, 3 reposts, 3 quotes, and 9,001 views from an account with 1,406 followers. 3
The emotional hook works because the number is small and consequential. The post does not pretend that one payment is product-market fit. It makes the conversion legible as a threshold crossing: someone moved from seeing the app to paying for it.
Copy this: When you get a first conversion, state exactly what crossed the line and what remains unknown. A first payer, first repeat user, or first completed workflow is more credible when you leave the unproven part visible.
Boundary: Do not turn one conversion into a growth rate. The next useful denominator is attempts: qualified visitors, trials, or conversations that led to the sale.

2. Make the product choice the content

Backchannels: pricing as a wedge, not a billing detail

Joe Back launched Backchannels, a database of 225,000 software decision-makers. The product intentionally excludes other business categories and charges $0.08 per contact instead of using an annual subscription. Users can browse a match before spending a credit, and the post says some teams replaced Apollo while one cut cost per meeting in half. It drew 17 likes and 79 comments. 8
The engagement driver is the commercial decision, not the database size. The author names the incumbent pain, explains why a narrow dataset can beat a larger one, and admits the tradeoff: pay-per-use removes subscription churn but makes every future price change visible.
Copy this: Put one uncomfortable business choice in the buildlog. Explain what customer behavior it is meant to change, which incumbent behavior it rejects, and what downside you are accepting.
Boundary: Early customer anecdotes are signals, not a pricing verdict. The post reports a few teams and one cost-per-meeting improvement, but not a full retention or cohort picture.

Pactiamo: build for your own workflow, then ask for a real switch

Leo Miller's Pactiamo post starts with a precise pain point: the gap between a client saying "sounds good" and money landing. The product turns a proposal or contract into one link where a client can read, sign, and pay. It includes Stripe, PayPal, or bank links, view tracking, reminders, an AI draft, and a legal check. The builder says he used it for his own work, did little market research, and is treating the Product Hunt launch as the first real test. The post drew 12 likes and 58 comments. 10
The hook is a before-and-after workflow, not a feature list. The author also gives readers a decision to make: what would it actually take to move them off PDFs? That invites a response from people who already live inside the old workflow.
Copy this: Describe the last annoying handoff in a customer's workflow, then ask what would make them switch. It creates a sharper feedback prompt than asking whether the product looks good.
Boundary: Founder self-use is good for finding friction, not proving a market. The next test must involve people who did not build the product and have a real cost for staying with the old process.

Tablif: use supply data to challenge your target market

The builder behind Tablif tracks products from 12 launch platforms. The post reports 14,303 products in the dataset, 787 tools for developers versus 5 for nurses, and 4,859 products with no shipping streak or Hacker News mention. The author explicitly limits the conclusion to two weeks of data and says the counts map where founders are building, not necessarily where problems are underserved. The post drew 4 likes and 30 comments. 9
This is a strong buildlog because it turns the product's own early dataset into a challenge to founder intuition. The memorable comparison is not presented as a market-size answer. It is a prompt to separate builder density from buyer demand.
Copy this: Before choosing a segment, make a two-column check: how many products are being launched for it, and what evidence shows the need is still unmet. Publish the caveat with the count.
Boundary: Two weeks of launch data cannot establish a survival curve or market demand. Treat it as a research lead, not a market conclusion.

Leapd: sell the compression, expose the remaining human work

Cyrus's Leapd post says the team analyzed more than 30 datasets and watched more than 1,000 businesses launch. It frames the product as compressing the path from idea to product, distribution, customer feedback, and iteration. The discussion then distinguishes between first-time founders who lacked capital or technical skills and experienced builders who want to avoid wiring together a dozen tools before testing demand. The post drew 37 likes and 94 comments. 6
The useful part is the shift from "a website in 10 minutes" to a shorter test cycle. The post still leaves the founder involved in finding customers and deciding what to double down on. That distinction gives readers a more honest product promise than full automation.
Copy this: If your product automates a workflow, name the cycle it compresses and the judgment it does not replace. Readers can then compare your promise with their actual bottleneck.
Boundary: The post is also product marketing, and the report's underlying data is not reproduced in full on the page. Use its 1,000-launch figure as the author's reported evidence, not as an independently audited benchmark.

3. Show the artifact before asking for trust

Flarup: the demo is the launch post

Michael Flarup's Cibby post is only a few lines long: point the app at a shelf of games, and it recognizes what is there in seconds so the user does not have to add each game manually. The attached demo carried 1,922 likes, 1,034 bookmarks, 173 reposts, 93 replies, 23 quotes, and 203,247 views from a 31,343-follower account. 4
The visual removes the need for a long explanation. A reader can judge the speed and the payoff before deciding whether the claim is believable. The bookmark count is especially instructive: the post was not only a reaction prompt; it was an artifact people wanted to keep.
Loading content card…
Copy this: Put the shortest path from input to useful output in the first frame of the post. Follow it with one sentence naming the manual work the product removes.
Boundary: This works when the value can be seen quickly. For invisible infrastructure, show a before-and-after trace, a benchmark, or a real workflow rather than forcing a visual demo onto a backend feature.

Junead: turn a long process into a public fork in the road

Junead Khan is building a personal finance assistant in public and posted Day 80 of a 90-day process. The post says the next YC decision determines the path: pursue venture capital if Treasury is accepted, or continue bootstrapping if it is not. It drew 118 likes, 44 bookmarks, 21 replies, and 9,275 views from an account with 247 followers. 5
The post has a strong narrative shape because the audience knows the decision boundary. Day 80 is not generic consistency; it is a countdown toward two materially different operating plans. The small follower count also makes the signal useful for founders who cannot rely on a large launch audience.
Copy this: Give a recurring series a visible end date and two possible next states. The audience can follow a question, not just a streak.
Boundary: A public fork creates attention, not a better decision. The next post should report what changed in the product or company after the outcome, not only whether the application was accepted.

Divyanshu: publish adoption without calling it revenue

Divyanshu Bhargava reported that the open-source Flutter package flutter_validators had crossed 3,000 weekly downloads. The post drew 92 likes, 35 bookmarks, 8 reposts, 4 replies, and 3,810 views from an account with 1,848 followers. 7
The post uses a concrete adoption metric and a direct package link. It does not blur downloads into paying users. That precision matters for developer tools, where distribution can be meaningful even before monetization, but only if the builder keeps the metric's meaning intact.
Copy this: Choose the metric that matches the product's current job. For an open-source package, weekly downloads may be the right proof of discovery; for a paid app, activation or repeat use may matter more.
Boundary: Downloads are not active users, retained users, or revenue. Add one deeper metric in the next update so the audience can see whether adoption becomes use.

Supporting signals worth copying

These posts did not make the main ten on raw X likes or Indie Hackers comments, but their structures are immediately reusable.
  • Stage-fit beats generic directories. Ayush Shakya's product-launch post argues that a pre-seed founder should not evaluate tools by popularity or feature count, but by whether the tool fits the company's stage and budget. The proposed directory is organized around pre-seed, seed, and growth, and the post drew 27 likes and 47 comments. 11 Copy the segment filter before you copy the directory: state who the product is not for, then explain the fit test.
  • Show the feature, not the adjective. Piyush Saini's Three.js post names reflective lighting, shadows, highlights, and instant material swaps, then asks for feedback. It drew 22 likes, 10 bookmarks, 5 reposts, 3 replies, and 1,939 views from a 754-follower account. 12 Copy the format: one visible change, one interaction, one narrow feedback question.
  • Anchor feedback to the reviewed object. Suraj Sharma's Indie Hackers post argues that visual, pinned, context-rich feedback is more useful than a stream of unanchored "looks good to me" comments. It drew 12 likes and 33 comments. 13 Copy the operational rule: capture the page, browser, viewport, and exact element with the feedback so the comment remains actionable after the next deploy.

The tactic digest

What to copyA concrete versionWatch out for
Pair the milestone with its missing number67,300 impressions next to 0 paying customers, or $0 spend next to $0 revenue. 1The missing number identifies the next test; it does not identify the cause by itself.
Turn a commercial choice into the hookExplain why Backchannels chose $0.08 per contact over a subscription. 8State the downside you accepted, or the post becomes a disguised pitch.
Show the artifact before the feature listDemo Cibby recognizing a shelf of games in seconds. 4If the value is invisible, show a trace or before-and-after result instead.
Give a series a decision boundaryDay 80 of 90, then two explicit operating paths. 5Do not substitute a posting streak for a product or company decision.
Use a metric that fits the product stage3K weekly downloads for an open-source package. 7Label it as adoption, not revenue or retention.
Ask for a switch, not a complimentAsk what would move a proposal workflow off PDFs. 10Feedback from interested readers is not the same as completed switching behavior.
Keep the market caveat beside the dataset787 developer tools versus 5 nurse tools, with only two weeks of observation. 9A supply count is not a demand estimate.
Build the test into the launch postCorporatify names the product, budget, failed channel, and next distribution question. 2Cheap to build does not mean easy to distribute.
The prompt for your next update is: What went up, what stayed at zero, and what decision does the gap force next? That is a better buildlog than a milestone alone because it gives readers a number to interpret and a move they can copy.

Related content

  • Sign in to comment.
More from this channel