MakerfolioMakerfolio
Build in Public Tool

Build in public dashboard
for indie hackers

Most build-in-public posts live and die in a single tweet. A real build-in-public dashboard gives your transparency a permanent home — verified MRR pulled from your actual billing stack, not a cropped screenshot from last Thursday. According to Stripe's 2024 Indie Founder Report, 44% of profitable SaaS products are now run by a single founder. The ones building distribution do it through consistent, verifiable public reporting — not one-off launches.

Verified MRRPublic profileStripe + Polar readyNo screenshots needed
Makerfolio build-in-public dashboard showing verified MRR from connected payment processors

Verified MRR

$4.2k

Products

3 live

Processors

2

Who this dashboard is for

You post build-in-public updates on X every week but copy the same screenshot from last month because generating a new one is too much friction.

You want a permanent, linkable URL that proves your MRR without giving anyone read access to your Stripe or Polar account.

You build multiple products and need all of them visible on one profile instead of scattered across disconnected launch threads.

You want your revenue proof to travel with you as a reusable trust asset — not live and die in a camera roll.

You care about transparency but not at the cost of exposing customer emails, billing history, or invoice amounts.

You use Stripe, Polar, Lemon Squeezy, or a combination of all three and need one number that aggregates them correctly.

What a build in public dashboard actually needs to do

The phrase build in public has become both a genuine strategy and a performance. The difference shows up at the level of the number. When a founder consistently shares a verified, linkable metric backed by real billing data, the audience engagement compounds over time. When a founder shares a screenshot that says “we hit $10k MRR” with no source and no context, the post might get likes for a day, but it adds nothing to their long-term credibility.

Research published on Indie Hackers studying 56 businesses that hit $250k in revenue found that founders who tapped into communities and media through transparent reporting reached that milestone in 1.8 years on average — versus 2.9 years for those who relied on individual relationships alone. The channel that works is consistent, verifiable public reporting. Not launch announcements. Not product screenshots.

That consistency is what a build-in-public dashboard is designed to enable. The goal is not to give you one more chart to screenshot. It is to give you a permanent URL where the numbers update automatically and the source of truth is your actual billing API — not your memory of what the processor dashboard said three weeks ago. That URL is the asset. The tweet is just distribution for the asset.

There is also a privacy argument that blocks most founders from sharing revenue publicly in the first place. Sharing a Stripe dashboard screenshot is not actually safe — it can leak subscription counts, customer emails in payment metadata, plan names, or other operational signals you did not intend to expose. A proper build-in-public dashboard exposes only what you choose: aggregate MRR, product names, total active users. It never surfaces customer identity, individual invoice amounts, or billing history. Stripe's own API key guidance recommends restricted, read-only keys precisely because limiting access scope reduces exposure risk.

The multi-processor reality makes this even more relevant. A typical indie hacker in 2026 runs a SaaS on Stripe, sells a template pack or developer tool onPolar, and keeps a course or digital download onLemon Squeezy. Each processor reports revenue differently. A screenshot from one tells a partial story. The build-in-public dashboard that matters is the one that aggregates all three into one verified number and publishes it without manual work every month. That is exactly what apublic builder profileis designed to be.

Screenshot vs thread vs verified dashboard

Not all build-in-public formats carry the same weight. Here is how the three most common approaches stack up on the dimensions that actually affect audience trust.

CapabilityScreenshot on XThread / Notion updateVerified dashboard
Revenue proof typeNone or self-reported claimScreenshot — impossible to verifyVerified via billing integration
Lives without manual updatesNo — must be refreshed by handNo — thread-by-thread postsYes — syncs automatically on data refresh
Multi-product viewHard to maintain across productsThread-by-thread, no aggregationAll products aggregated on one profile
Permanent linkable URLSort of — scattered linksNo — buried in timelinesYes — permanent, shareable, always current
Customer privacyN/ALow — raw data visible in screenshotsHigh — aggregate metrics only, no customer data
Trust signal strengthLow — anyone can claim anythingMedium at bestHigh — backed by actual billing API data
Cross-processor supportNoneNoneStripe + Polar + Lemon Squeezy

How it works

Step 01

Connect your billing stack

Link Stripe, Polar, or Lemon Squeezy using read-only API keys. Makerfolio never requests payout access, customer data, or write permissions. You control what gets connected.

Step 02

Track MRR privately

See recurring revenue separated from one-time sales, normalized across billing intervals, and broken down by product and processor — before anything becomes public.

Step 03

Publish your public profile

Turn verified metrics into a permanent build-in-public URL. Share it in your X bio, launch threads, Product Hunt profile, or anywhere else you tell your story. One link, real proof.

Verified citations

Related pages

Sources

Publish your first build-in-public update with real numbers

Create a free Makerfolio account, connect Stripe or Polar, and get a verified public profile you can link anywhere. No screenshots, no manual updates, no privacy trade-offs.