Core elements
Component list
Break your service into components that users understand:
Components should map to things users interact with, not internal architecture. “PostgreSQL cluster” means nothing to a customer — “Database” or even just “API” is better.
Component status
Each component has a status:Incident history
A timeline of past incidents, including:- What happened
- Duration
- Root cause (brief)
- Resolution
Uptime metrics
Display historical uptime percentages:- Last 7 days, 30 days, 90 days
- Per component or as an aggregate
- Visual timeline showing green/yellow/red periods
What makes a good status page
Honest and timely
Update the page within minutes of detecting an issue. Don’t wait until you have a full diagnosis.Written for customers
Use language your customers understand:- “API response times are elevated” ✓
- “Ingestion pipeline backpressure on Kafka partition 7” ✗
Subscribable
Let users subscribe to updates via:- Email notifications
- RSS/Atom feeds
- Webhook integration
- SMS (for critical services)
Separate from your infrastructure
Host your status page on a different provider than your main service. If your cloud provider goes down, your status page should still be accessible.Incident update cadence
Even if nothing has changed, post an update: “We are continuing to investigate. No new information at this time.”
Status Data in DevHelm
DevHelm’s Status Data feature tracks third-party service health, which feeds into your own status page decisions — if a dependency is down, your status page should reflect that impact.Status Data overview
Track third-party service health.
Communication during incidents
Best practices for incident communication.