Founders

How to Share Progress Updates Without Revealing Your Roadmap

Antonio Evans7 min read

A person posts a short update on a laptop beside a five-item checklist, while a roadmap and numbers dashboard behind a glass wall stay blurred, with a small sign reading Off the page.
Key points

Key points

  1. 1A progress post should headline what already shipped, never what is planned, so the roadmap stays out of the text.
  2. 2Replace exact figures with direction and unit of change ("support volume fell by roughly a third") to show momentum without publishing internal metrics.
  3. 3Ask exactly one question that you genuinely need answered, because vague "thoughts?" endings attract noise instead of usable feedback.
  4. 4Answer every request for a date with the next milestone you will announce, not its date, and state the boundary once instead of arguing about it.

The trade-off a progress post has to solve

Build-in-public writing is usually described as a transparency practice, and that framing hides the real difficulty. You want the benefits of publishing: distribution before launch, early feedback, and a following that trusts you. You do not want the costs: a competitor reading your next move, a customer holding you to a date, or a comment section doing arithmetic on numbers you never meant to publish.

The useful way to hold both sides is to treat building in public as a spectrum rather than a switch. Founders who take this path still draw boundaries around what stays private, especially revenue numbers and details of failure, as Mercury's overview of the approach puts it. The decision is not "public or not," it is which slice of your work is public.

There is also a sharper risk than embarrassment. Arvid Kahl, who has both practiced and written about radical transparency, argues that agentic coding tools changed the calculus: anyone can turn publicly shared architecture, revenue numbers and feature details into a working competitor in days, and the old safety threshold of $20-30K MRR has collapsed to zero, as he describes in his essay on the increasing risk of building in public. Whether or not you accept that forecast, it points at the same design problem: what a post can say should be chosen before you sit down to write it, not edited afterward.

The filter Kahl proposes is worth memorizing because it is one question: is this interesting to follow, or easy to clone? A post about how you decided something is interesting to follow. A post that lists the exact thing you will build next is easy to clone.

The five-part template

Keep progress posts to five components and under 120 words. The length limit is not decoration. It forces you to pick one shipped thing and one question, which is exactly the shape that shows momentum without leaking plans.

  1. Headline the thing that shipped. Past tense. The feature, the fix, the page, the integration. Not "next up."
  2. One sentence on the change a user will notice. Describe the experience, not the implementation. "Exports now finish in one click" beats a paragraph about your queue architecture.
  3. One qualitative result. Direction plus unit of change, plus who observed it. No absolute numbers unless they are already public elsewhere.
  4. Exactly one open question you need answered. Real, specific, answerable in a sentence by the people you want to hear from.
  5. A one-line boundary. Say plainly that you are not sharing dates or internal numbers yet.

A worked example, at 84 words:

Shipped: bulk import for contacts.

What changed for you: drop a CSV and the column matching now
happens automatically, so the step where you mapped fields by
hand is gone.

What we saw: in the first round of testing, import setup time
dropped by roughly half, measured across the test group only.

One question: when a column is ambiguous, should we guess and
let you correct it, or stop and ask every time?

I am not sharing release dates or internal numbers yet, but I
will post again when the next piece is live.

Note what the third line does. "Dropped by roughly half, measured across the test group only" communicates movement and scope without giving a baseline anyone can extrapolate from. If someone replies asking for the actual numbers, you have already answered: the boundary line covers it.

The template also handles the problem that most build-in-public accounts fail at. As one practitioner's playbook on growing a personal brand on X puts it, most founders treat the format as a milestone feed, which is "a changelog with extra steps." A changelog announces; a progress post recruits. The open question in part four is what makes the difference.

What a progress post can and cannot say

This is the hard part, so make it a checklist you run before publishing rather than a judgment call in the moment.

ItemCan sayCannot sayReplacement move
Feature statusShipped, live, in testing with N named customers"Coming next quarter" or a named unshipped featureDescribe only what a user can touch today
NumbersDirection and unit of change, with the population it came fromAbsolute revenue, churn, user counts, conversion rates"Roughly a third fewer," "about twice as many"
DatesThe next milestone you will announceAny calendar date for an unshipped thing"I will post again when X is live"
ArchitectureThe user-visible consequence of a design choiceStack diagrams, schemas, internal service namesExplain the trade-off, not the wiring
CustomersAnonymized patterns ("three of the first ten")Named accounts without written permissionAggregate or describe the segment
FailuresWhat you learned and what you changedThe specific thing that broke and who it hurtLead with the fix, not the incident

Two rows deserve more than a table cell.

Numbers. The temptation is to publish a metric because it is the fastest way to signal traction. The cost is that a published number becomes a benchmark you are expected to beat next time, and a slowdown becomes a public story. Tommy Clark makes the point in his analysis of building in public for SaaS founders that the strategy works well when the company is doing well and falls apart when growth slows. Directional language gives you the same signal without the ratchet.

Dates. A date is the single most quoted sentence in any progress post, and the least likely to survive contact with reality. Roadmap practitioners have converged on the same answer from the other direction: the now-next-later format exists precisely because it drops fixed dates when scope shifts, and honest roadmaps use rough windows with an explicit note that they are approximate, as WishKit's survey of public roadmap examples documents, including AWS Containers explaining that it cannot provide specific target dates.

Answering "when does it ship?" without a date

You will get the question. Have the reply ready before you post, because improvising it is how roadmaps leak.

A three-sentence pattern works: acknowledge, name the next milestone, decline the date.

Fair question. The next thing I will announce is the beta opening to the waitlist, and that is the only checkpoint I am putting a name on. I am not sharing a date for it, because the last two estimates I gave myself were wrong and I would rather under-promise in public.

Three properties make this work. It gives the asker real information (there is a next checkpoint, and it has a name). It explains the policy without apologizing for it. And it does not leave a gap someone can fill with their own guess.

If the same person asks twice, do not elaborate. Repeat the milestone name and move on. Elaboration is where people accidentally describe scope, and scope plus a rough sense of your team size is enough for a reader to reverse-engineer a timeline.

The same discipline applies to your own posts. Even the qualitative result in part three of the template should name the population it came from, because "halved" without context invites the reader to assume it applies to everyone.

Choosing one question worth asking

The question is the engine of the post. A bad one produces replies you cannot use, and a good one produces the kind of specific input that changes what you build.

Decision posts and work-in-progress questions both generate replies because readers have opinions and experience with the same kinds of decisions, as the build-in-public playbook on Dev.to notes. The failure mode is the generic ending: "Thoughts?" "What do you think?" "Let me know below."

Good questions share three traits. They are answerable in one sentence. They have two or three plausible answers, not infinite ones. And the answer would actually change something you do.

Compare:

  • Weak: "What do you think of the new import flow?"
  • Strong: "When a column is ambiguous, should we guess and let you correct it, or stop and ask every time?"

The second question names a real fork you have not resolved, which is what makes it credible. The practitioner guidance on publishing questions you genuinely have not figured out is blunt about why this works: a refreshing amount of transparency combined with storytelling is what earns attention, and the vulnerability of admitting you have not decided yet is what makes readers invested. Answering your own question in the replies is the fastest way to prove the question was theater.

One question, not three. Three questions split the replies, and the one you actually care about gets a third of the attention.

Cadence, cadence traps, and what to do when there is nothing to ship

The practical rhythm most build-in-public writers settle on is one update per weekday, with the observation noted during the day and written up at the end of it, as described in the Dev.to playbook. That advice is about volume, though. For a progress post that has to avoid the roadmap, cadence is a constraint on honesty, not on frequency.

Two traps follow.

The empty week. Some weeks nothing ships. Do not manufacture a roadmap item to fill the slot. Publish a decision post instead: the fork you are facing, the options, the weight you gave each. It fits the same five-part template (the "shipped" line becomes "the decision I made this week") and leaks nothing, because a decision you have already made is not a plan you have committed to.

The accountability trap. Publishing targets is a known build-in-public pattern, and it is the one most likely to convert a progress post into a roadmap. A public to-do list is a schedule with the dates filed off. If you want accountability, make it private and report on completions, not intentions.

One more discipline: keep the boundary line in every post, not just the first one. Readers arrive mid-stream. The people who saw your boundary three months ago are not the people reading today, and someone who only sees the current post has no way to know a policy exists.

If writing and maintaining this kind of post is competing with the actual work, or if you want a specialist to build the intake form, the changelog page or the waitlist the post points to, Quanta is the route: describe the site, app or plan you need and a specialist picks it up with you.

FAQ

FAQ

How do I show momentum if I cannot share numbers?

Use direction plus unit of change plus the population it came from: "about a third fewer support tickets, across the beta group." This gives a reader a sense of movement and scope without a baseline they can extrapolate from. It also protects you from the ratchet effect, where a published figure becomes a benchmark you are expected to beat in the next update.

Is it ever safe to publish revenue numbers?

It depends on what publishing buys you and who reads it. Arvid Kahl, who credits radical transparency with helping him sell a previous company, now argues the safety threshold for sharing such details has collapsed as tooling makes cloning cheap, in his essay on the risk of building in public. If the number wins customers or investors you could not otherwise reach, that is a trade-off you can make deliberately. If it is there to look credible, a directional result does the same job.

What do I say when a customer asks for a launch date?

Acknowledge the question, name the next milestone you will announce, and decline the date. Do not add a range as a compromise; a range is a date with a wider target painted on it. If the same person asks again, repeat the milestone name. Consistency reads as competence, and elaboration is where scope leaks.

How many questions should one post contain?

One. Multiple questions split the replies and dilute the one answer you actually need. Choose a question that is answerable in a sentence, has two or three plausible answers, and would change something you do. If you cannot name what you would change based on the answer, it is not a real question, it is a closing line.

Does keeping a boundary hurt engagement?

A stated boundary tends to help rather than hurt, because it gives readers a reason to trust the rest of the post. The pattern appears in public roadmap practice too: the pages readers cite as good examples say plainly what is approximate, what is not next, and when the page was last updated, as WishKit's survey shows. Saying what you will not share, once, in one line, costs you a sentence and buys you the freedom to keep posting.

Sources

Sources

  1. Building in public: Is this the right approach for your startup? - Mercury
  2. The Increasing Risk of Building in Public - The Bootstrapped Founder
  3. The Build in Public Playbook: Growing Your Personal Brand on X Without ...
  4. The truth about building in public - Social Files by Tommy Clark
  5. 15 Public Roadmap Examples and How to Make One
  6. Building In Public 101 - by KP
About the author

About the author

Antonio Evans
Antonio Evans

Antonio Evans is the founder of Quanta Intelligence and a fractional CTO who builds HIPAA-ready AI systems for health and life-science companies. Before that he was technical co-founder of FriendsEAT for twenty years, CEO of Socialdraft, and a data engineer at IBM. Antonio lives with his dog Santino in Lisbon, Portugal.

All articles