Build in Public

How to Communicate a SaaS Outage While Building in Public

Learn what to share during a SaaS outage, keep public updates consistent, and write a founder follow-up with clear recovery facts and corrective actions.

By Uriel Bitton · 10 min read

Illustrated cover for “How to Communicate a SaaS Outage While Building in Public”.

The short answer

Communicate a SaaS outage by explaining affected customer tasks, verified impact, available actions, and the next update time. Keep current service information in one dependable place and point public founder posts there. Publish the deeper explanation after recovery and the facts have been checked, then show the status of corrective work.

Communicate a SaaS outage by telling customers what is affected, what they can do, and when you will update them again. While building in public, keep current service information in one dependable place, then share a clear founder update that points there. Publish the deeper explanation once recovery and the underlying facts have been checked.

The practical goal is to help someone decide whether to wait, use a workaround, or contact support. A founder's audience may want the story behind the outage. A customer trying to finish work needs an accurate next step first. Your public communication should serve both readers in the right order.

What changes when you build in public?

Your progress posts create a place where people expect to hear from you. When the product stops working, that audience can become another route for customer questions. Prepare for those questions before a launch celebration becomes an incident thread.

Give each destination a clear job. The status page or incident notice holds the latest service information. A short founder post helps people find that notice. A later reflection explains what you learned and what work followed.

Keep these destinations connected. Someone reading an older public post should be able to find the current situation without scrolling through a long reply chain. Someone arriving after recovery should be able to see that the incident has ended.

This is a practical way to continue building in public when the work is uncomfortable. You make your decisions and follow-through inspectable while keeping operational information easy to use. It does not guarantee that customers will forgive the disruption or stay with the product.

Prepare one dependable place for current information

Choose the destination you will update throughout an incident. It should be public, easy to find, and reachable during the kind of outage you are planning for. A page hosted entirely inside the affected application may be unavailable when people need it.

Write down who will maintain the notice and how other channels will point to it. For a solo founder, the same person may handle recovery and communication. Keep the writing brief enough that updating customers does not become another large task during diagnosis.

Before anything goes wrong, prepare a few message outlines for an investigation, a confirmed interruption, recovery monitoring, and resolution. Adapt each outline to the actual event. Atlassian's incident communication templates distinguish an investigation with uncertain scope from confirmed full and partial outages.

Test the route as a customer. Can you reach the notice without signing in? Does the product's help page point to it? Can you update it from another device? Record any access steps privately so you can use them under pressure.

What should the first outage update include?

Start with the affected customer task. “Report exports are failing” gives a reader more useful information than an unexplained infrastructure term.

A short update can cover five points:

  • The product function affected and the confirmed customer impact.

  • The time the issue was observed, with a timezone.

  • What is known and what is still being investigated.

  • Any verified action or workaround customers can use.

  • The time of the next update and where it will appear.

Keep the scope accurate. If you have confirmed a problem with exports, describe exports. Do not say the entire application is down unless you have checked that wider claim. If the affected group is still unknown, say you are assessing it.

Give a brief apology for the interruption when appropriate, then return to useful information. Avoid promises about recovery time or data safety that you cannot support. A customer's question about missing records deserves a checked answer, even if that answer takes longer than the first notice.

Do not wait for a polished explanation of the cause before acknowledging an observed interruption. The first message can accurately describe impact while making the investigation's limits clear.

Set an update time you can keep

Choose a realistic communication interval for the incident's severity and your team's capacity. Atlassian's incident communication tips recommend regular updates at a cadence appropriate to the situation, plain language, and consistency across channels.

A next-update time is a commitment to communicate. Keep it separate from an estimate of when the service will recover. You may be able to promise another checked update at 10:30 while having no reliable recovery estimate.

When that time arrives, update the notice even if the investigation continues. Explain which customer task is still affected and what the team is checking. Avoid adding a speculative cause just to make the message sound new.

If the next update will be delayed, say so and give the revised time. Leaving an expired promise on the page makes the reader decide whether the information is still being maintained.

A worked example: a founder's public outage sequence

The following example is fictional. It describes a small SaaS product used to prepare weekly reports. The times, product behavior, messages, and corrective work are illustrations, not a Buildside incident, an account of Uriel's experience, or a claim about customer results.

1. Acknowledge the interruption

At 10:05 UTC, the founder confirms failed CSV exports and opens an incident notice:

“CSV report exports are failing. We confirmed the problem at 10:05 UTC and are investigating. We are checking whether other export formats are affected. We do not yet have a recovery estimate. Our next update will be here at 10:25 UTC.”

The founder's public progress channel carries a shorter message that points to the incident notice. It gives the affected task and next-update time without adding a second explanation of the cause.

The first notice does not invent a workaround. It also leaves uncertainty visible. The founder has checked one failure and is investigating the rest.

2. Report checked scope and an available option

At 10:25 UTC, testing has confirmed that CSV exports fail while existing reports remain viewable. The notice becomes:

“CSV exports are still failing. Existing saved reports remain viewable. We have checked PDF export in our test account, but have not confirmed whether it works for every affected account. We are testing a change to the export service. Next update: 10:45 UTC.”

This message gives people a more precise picture without turning one successful test into a universal workaround. If the founder later verifies a safe alternative for the affected group, the notice can explain exactly who can use it.

3. Describe recovery as it is checked

At 10:45 UTC, a change has been applied and monitoring continues:

“A change has restored successful CSV exports in our checks. We are monitoring new export requests and checking for remaining failures. If an export still fails, contact support with its approximate time and report type. Please keep report contents private. Next update: 11:05 UTC.”

The founder can share that same confirmed state publicly. There is no need to announce a definitive fix while verification is still underway. The support request asks for enough context to investigate without encouraging customers to post their reports in a public reply.

4. Close the incident with a customer action

At 11:05 UTC, the founder has completed the planned recovery checks:

“CSV exports are working again in our completed checks, and we are closing this incident. Please retry exports that failed during the interruption. If a retry fails, contact support. We will add our reviewed incident explanation here by Thursday at 16:00 UTC.”

The incident history stays available. The public founder post is updated to show recovery and link to the final notice. An old announcement about the outage now has a route to the latest information.

The dates and checks in a real message must reflect what actually happened. Replace this example with observed facts before using it.

Keep private details out of the public thread

Share information that helps a customer understand impact and next steps. Customer records, raw logs, account identifiers, credentials, and private support conversations do not belong in a public incident thread.

A screenshot of an error may include more than the error itself. Review the browser chrome, account names, report titles, and visible data before sharing it. Prefer a written description when an image adds no useful evidence.

For a fuller disclosure boundary, use Buildside's guide to building in public without oversharing. Removing a name alone may leave a customer identifiable from the surrounding details.

If the event may involve a security problem or data loss, treat those questions as part of the incident investigation. Keep uncertainty explicit and use the appropriate private response process. An ordinary progress post is not enough to establish what happened or who needs to be informed.

Write the founder follow-up after the facts are checked

Once service recovery is established, write a public follow-up that makes the next decisions understandable. Keep it linked to the incident record so a reader can separate the event's timeline from your later analysis.

Explain the verified impact, the recovery action, what remains uncertain, and the corrective work you are committing to. Google's SRE Workbook chapter on postmortem culture shows why follow-up actions need clear owners and verifiable end states. It also emphasizes factual explanations that examine system gaps instead of blaming individuals.

In the fictional export example, the follow-up might identify an unhandled export response and a monitoring gap. The founder could commit to a failing-response test and an alert that checks the export path. These are proposed actions until the work is completed and verified.

Give the public audience an honest status for each relevant action: planned, in progress, or completed. If the diagnosis changes, update the explanation and state what new evidence changed it. Buildside's guide to sharing startup failures in public covers the wider retrospective note.

Check whether your communication helped people act

Review the communication process separately from the technical recovery. A fast fix does not show whether customers could find a useful update. A widely shared founder post does not show whether affected users understood their next step.

Record when the first confirmed impact was noticed and when it was acknowledged publicly. Check whether announced update times were met. Look for conflicting messages across the status notice, support responses, and public posts.

Read the questions customers asked during the interruption. Repeated questions about whether to retry an export may show that the notice omitted a practical action. Questions about an expired update time may show that the notice stopped feeling current.

These observations can guide the next revision of your messages. They do not establish that communication caused higher retention or restored trust. That would require a separate, defensible measurement.

Before the next release, rehearse the first message using a fictional incident. Confirm that one person can reach the status destination, write the known impact, and give a next-update time. Building in public is more useful when that public record continues through recovery and completed corrective work.

Frequently asked questions

Should a founder share every minor error publicly?

Define a threshold around customer impact. A harmless internal test failure and an interruption to a task customers rely on need different treatment. Public status communication should help affected users act. Avoid creating an incident announcement for every development error solely to maintain a posting routine.

Should the founder post the outage on every social platform?

Use the channels your customers already rely on and point them to the same current incident notice. Extra copies create more places to maintain. A build-in-public channel can carry a short pointer, but affected customers should not need to follow the founder's social account to find service information.

What if a provider caused the outage?

Describe the confirmed effect on your service and the response you are managing. Identify a provider's role only when it has been verified and helps explain the situation. Your customers still need your product's current status and next steps. Keep blame and unsupported guesses out of the message.

Can I promise that this will never happen again?

Avoid that promise. State which failure path you addressed, which checks you added, and what you have verified. An implemented safeguard is a concrete improvement; it does not prove that the service can never experience another interruption. Keep the public follow-up within the evidence you have.

Sources

Frequently asked questions

Should a founder share every minor error publicly?

Define a threshold around customer impact. A harmless internal test failure and an interruption to a task customers rely on need different treatment. Public status communication should help affected users act. Avoid creating an incident announcement for every development error solely to maintain a posting routine.

Should the founder post the outage on every social platform?

Use the channels your customers already rely on and point them to the same current incident notice. Extra copies create more places to maintain. A build-in-public channel can carry a short pointer, but affected customers should not need to follow the founder's social account to find service information.

What if a provider caused the outage?

Describe the confirmed effect on your service and the response you are managing. Identify a provider's role only when it has been verified and helps explain the situation. Your customers still need your product's current status and next steps. Keep blame and unsupported guesses out of the message.

Can I promise that this will never happen again?

Avoid that promise. State which failure path you addressed, which checks you added, and what you have verified. An implemented safeguard is a concrete improvement; it does not prove that the service can never experience another interruption. Keep the public follow-up within the evidence you have.

A note from Uriel Bitton

Use the fictional messages as practice examples. A real incident update should describe your verified customer impact, current actions, and a next-update time you can keep.

Keep building with us

Get practical founder lessons and product updates in your inbox.

Subscribe or Join Buildside.

Keep reading

Browse more articles from Buildside