Public Status Page
Creating a hosted status page so your clients can check app status themselves — and you look like a professional operation.
When your app goes down and a client's user can't access it, the first thing they do is either call the client or go to social media. The client then calls you. You get a phone call from an upset client asking what's happening, while you're simultaneously trying to figure out the problem.
A public status page breaks this loop.
Instead of calling, users visit stats.uptimerobot.com/[your-key] and see: "We are currently investigating an issue with the fee payment service. Our team has been alerted and is working on a fix." They know you're aware. They stop panicking. You get to focus on fixing the problem instead of managing an anxious phone call.
Professional services — GitHub, Stripe, Supabase, Vercel — all have status pages. Your clients' users expect the same from commercial apps. UptimeRobot provides one free, hosted, zero-maintenance.
The Excel Analogy
A public status page is like publishing a real-time audit trail that your client can see anytime — without calling you.
Think of how a CA firm might share a document that shows the current state of a filing: "Return filed", "Under review", "Awaiting client documents." Instead of the client calling to ask what's happening, they check the shared document.
Your status page does this for your app's health. It answers "is the app working right now?" without anyone needing to contact you.
Creating the Status Page
Go to Status Pages in the UptimeRobot dashboard
In the main navigation, click "Status Pages". The list will be empty.
Click "+ Add Status Page"
A configuration form opens.
Set the Friendly Name
This is the title that appears at the top of your public status page:
Or for a CA firm project:
Set the Custom Domain (optional)
UptimeRobot gives you a free subdomain: stats.uptimerobot.com/[your-key]. This is sufficient for training.
If you want a cleaner URL (e.g., status.edutrack.in), you can configure a custom domain — but this requires DNS access and is optional. Leave this blank for now.
Choose Monitors to Display
You'll see a list of your monitors. Select both:
- EduTrack — Production
- EduTrack — Supabase API
You can rename how they appear on the status page. Use user-friendly names:
| Monitor internal name | Display name on status page |
|---|---|
| EduTrack — Production | Parent App |
| EduTrack — Supabase API | Fee Service |
Avoid technical names like "Supabase API" on a public page — your clients' users don't know what Supabase is.
Set Password Protection (optional)
Leave this blank for a fully public page. If you want only your client to see the status page — not their end users — you can set a password here.
For EduTrack: leave it public. Parents seeing "Parent App — Up" is a reassurance signal.
Click "Create Status Page"
Understanding the Status Page
After creation, UptimeRobot gives you a public URL:
Open this URL in a new browser tab. You'll see a page with:
Current Status Banner
A large banner at the top showing the overall system status:
- All systems operational (green) — every monitor is currently up
- Partial outage (yellow) — some monitors are down
- Major outage (red) — most or all monitors are down
This is the first thing your clients' users see.
Per-Service Status
Below the banner, each monitor you added appears as a row:
| Service | Status |
|---|---|
| Parent App | Operational |
| Fee Service | Operational |
During an outage, the affected service changes to "Partial outage" or "Major outage" with a timestamp.
Response Time Graph
Each service shows a 90-day bar chart of response times — one bar per day. Green bars mean the service was up that day. Red bars indicate downtime occurred. Clicking a bar shows details for that day.
This graph is a public audit trail. Your clients can see that their app has been running reliably for months without a single outage — or see exactly when incidents happened and how long they lasted.
Uptime Percentage
Below the graph: "Uptime over the last 30 days: 99.97%". This single number communicates reliability to non-technical clients better than any technical explanation.
What Happens During an Incident
When UptimeRobot detects an outage:
- The status banner changes from green to yellow or red
- The affected service row shows "Partial outage" with the time the outage started
- The 90-day graph starts filling in a red segment for today
When the app recovers:
- The banner returns to green
- The service row shows "Operational"
- The graph shows the total downtime duration for today
Everything happens automatically — you don't need to update the status page manually.
Sharing the Status Page
The status page URL is the thing you share:
With your client:
"Here's our system status page: [URL]. Any time you want to know if the app is having issues, you can check here first. We also post incident updates there when something goes wrong."
With your client's users (via the app itself): Consider adding a "System Status" link in the app footer. This is a common pattern on SaaS apps — users see a small coloured dot in the footer (green = all good, red = incident) that links to the status page.
With yourself: Bookmark it. When your phone buzzes with a downtime alert, open the status page first — it gives you the current state of all monitors at a glance before you start debugging.
Incident Communication (Beyond the Status Page)
The status page shows what happened. It doesn't explain why or what you're doing about it. For significant incidents, professional practice is to add an incident report:
UptimeRobot's free plan does not include incident updates (the ability to post messages like "We are investigating" or "The issue has been resolved and here's what happened"). That feature is on paid plans.
For training purposes, the automatic status page is sufficient. For a commercial app with paying customers, you would add manual incident updates via UptimeRobot's paid "Maintenance Windows" feature or a dedicated tool like Statuspage.io.
What You Have Now
A public status page at stats.uptimerobot.com/[your-key] showing:
- Live status of your production app and Supabase API
- 90-day uptime history with response time graphs
- Automatic updates during incidents — no manual intervention needed
Share this URL with your client. It takes one conversation ("bookmark this — it answers the question 'is the app down?'") and saves many future phone calls.
The final step is verifying that everything is actually working — not just assuming it is.