How to host a developer status page

Build a small service status page with component states, an active incident, a next-update time, and a history people can open from a separate link.

In short

Keep the status page separate from the service it reports on.

Show each component, the current incident, what still works, and the next update time.

Keep resolved incidents visible so readers can distinguish a current outage from the history.

Open the reader link on a phone and test one real update before you rely on it.

We built a fictional status page for the Northstar developer service in one HTML file. The page begins with a partial outage, lists three service components, records two incident updates, and keeps two earlier events in a history. We then saved it in NOS, opened its reader link, changed the headline to “Monitoring recovery,” and checked the same reader link again.

Download the complete fictional status page

What should an A​PI status page show?

Start with the answer a reader needs: is the service usable, and which part is affected? A single green or red label is too coarse when authentication works but uploads do not. The example separates authentication, data reads, and file uploads, then gives each one its own state.

The incident card adds the details that a component badge cannot carry. It names the affected action, says that uploads are accepted but delayed, states that authentication and reads remain available, and gives the next update time. Every sentence narrows what the reader needs to check.

NOS Code view containing the complete fictional Northstar developer status page HTML
The complete one-file example is visible in NOS Code view before it is shared.

Build the page in reader order

  1. Overall state. Put the current service condition at the top.
  2. Components. List the parts a reader can recognize, not internal team names.
  3. Active incident. State what is affected, what is not affected, and what is being checked.
  4. Next update. Give a specific time and use one time zone throughout the incident.
  5. History. Leave resolved events below the active incident.

That order keeps the urgent answer above the supporting record. A reader can stop after the component list or continue into the incident timeline when they need more detail.

NOS View showing the fictional service status summary, components, and active incident
View mode shows the overall state first, followed by three component states and the active incident.

Host the status page away from the service

A status page cannot explain an outage if it depends on the same failed service. Put the page on a different hosting path and avoid loading its essential text from the service it reports on. The example is self-contained: its status text and styling are in one file, so the page does not need the fictional Northstar service to render.

This does not make the page immune to every failure. It removes one direct shared dependency. Keep the reader address somewhere responders can reach even when the product dashboard is unavailable.

How do you share the status page?

Save the page, open Share, and copy the reader address. The Share panel we used says that anyone with the link can read the page without signing in and cannot edit it. That is the address to place in support replies, incident messages, or a product footer.

NOS Share panel for the fictional status page with anyone-with-the-link reader access
The Share panel separates the reader link from the signed-in editing page.

Open that reader address before distributing it. The first phone-width check showed the fictional label, the service name, the partial outage, and all three component states without an account prompt.

Public desktop view of the fictional service status page before the incident headline was updated
The reader link opens the status summary on a desktop screen-width screen before the update.

How do you update a status page during an incident?

Use a short sequence that one responder can repeat:

  1. Confirm the observed condition and affected components.
  2. Write the new incident state in plain language.
  3. Keep the previous update in the timeline instead of replacing the record.
  4. Set the next update time, even when the investigation is still open.
  5. Save, then reopen the reader address and compare the visible result with the intended update.

We tested the save-and-check part on the existing page. Edit mode opened with the status summary visible. We selected the current headline through the normal browser editing flow, changed “Partial outage” to “Monitoring recovery,” and chose Done.

NOS Edit mode open on the fictional service status page before the incident state was changed
Edit mode opens on the saved page while the existing component states remain visible.
NOS View after the fictional incident headline changed to Monitoring recovery
After saving, View shows “Monitoring recovery” on the same status page.

The reader address did not change. Reopening it showed the revised headline, which verifies the result a recipient would see. We did not change the component badge from Degraded because the fictional evidence only supported a recovery-monitoring headline, not full resolution.

Public desktop view of the same fictional service status page after the headline changed to Monitoring recovery
The same reader link shows the saved “Monitoring recovery” headline.

What failed in the test, and how should you handle it?

The public page is rendered in an isolated frame, so the outer page cannot reliably read the status text as ordinary document text. That is not proof that the page failed. We checked the visible screenshot instead and confirmed the headline, component list, and incident card.

Empty or broken page? First open the saved page in View. If View is empty, return to Code and check that the file contains a complete HTML document. If View works but the reader address does not, create or reopen the Share link and test that exact address in a separate browser view. Keep the old incident text until the new visible result has been checked.

Keep the useful parts of the original status-page plan

The original guide was right to prioritize separate hosting, an early update, the unaffected area, a promised next-update time, and visible incident history. The worked page makes those rules concrete. It also adds the missing component list and the complete path from a one-file example to a checked reader link.

For the operating record behind the public page, use an incident management procedure to assign response roles and recovery checks. Track unresolved work in an issue log. After a product change ships, move customer-facing changes into release notes instead of leaving them in incident history.

When not to do this

Do not treat a static status page as monitoring, paging, or an incident-management system. It does not detect failures or prove recovery by itself. For many services, regions, subscriber notifications, or automated uptime data, use a dedicated status platform and keep a manual publication path for cases where automation reports the wrong condition.

Where NOS fits

NOS can hold the self-contained HTML page, let its owner review it in Code, View, and Edit, and provide a reader link. In this example, the reader link opened without a sign-in prompt and reflected a saved text change. The HTML file and screenshots here are local preparation assets; this rewritten article and its assets have not been added to the live learn page.

Questions people ask

Where should a service status page be hosted?

Use a hosting path that does not depend on the service or product path it reports on. Keep the essential status text self-contained so a failed service call does not leave the page blank.

What belongs in the first incident update?

Name the affected action, say what remains available, state what the team is checking, and give the next update time in a clear time zone.

Should resolved incidents stay visible?

Yes. Move a resolved event into a dated history with its final state instead of erasing it. Readers can then separate the active incident from earlier events.

Can a static page monitor a service?

No. A static page communicates a condition that someone or another system has established. Monitoring, alerts, recovery checks, and publication approval still need their own process.

Keep reading