Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.
Cloud & DevOps

Status Page with Multi-Region Uptime Checks for Small SaaS Teams

A hosted status page and uptime monitor for small SaaS teams that probes each service from several regions and only raises an incident when probes agree. A beginner-friendly cloud and DevOps final year project covering HTTP checks, quorum-based alerting, incident updates and subscriber notifications.

Difficulty

Beginner

Achievable by one student in a semester with familiar tools.
Effort

1 semester · 2 students

Deliverables

6 to ship

3 optional extras

Suggested stack

Node.js or GoPostgreSQLCheap VPS in 3 regionsNext.js for the status pageServer-Sent EventsEmail and webhook delivery
A suggestion, not a requirement. Swap anything for what you already know.

What you should ship

  • Probe agents running in at least three regions that perform HTTP, TCP and keyword checks on a schedule and report results to a central API.
  • A quorum rule that opens an incident only when a configurable number of regions fail within a time window, with the rule and window visible in settings.
  • A public status page per team showing components, current state and 90 days of daily uptime, rendered fast and cache-friendly.
  • An incident workflow where a team member posts updates (investigating, identified, monitoring, resolved) that appear on the page and go to email subscribers.
  • Scheduled maintenance windows that suppress alerts and show on the page in advance.
  • An evaluation comparing false alarms from single-region and quorum alerting over at least two weeks of real monitoring.

If you have time left

  • Response time charts per region, so a team can see that users in one region are slow even when the service is up.
  • A custom domain for each status page with automatic TLS certificates.
  • A small SDK or webhook so a deploy pipeline can mark a component as "degraded" automatically during a release.

The problem: outages you hear about from customers

A small SaaS team, say five people selling school management software or an online booking tool, usually learns about an outage from a customer on WhatsApp. When they do set up monitoring, they often run one checker on one server. That checker has its own bad days: its network blips, its provider has a routing issue, and the team gets paged at 3 a.m. for an outage that never happened. After a few false alarms they mute the alerts, which is worse than having none.

The second half of the problem is communication. During a real outage, support is flooded with "is it down?" messages. A public status page with honest updates saves hours of support time and keeps trust, but the well-known tools are priced for funded companies.

What already exists and the gap

  • Atlassian Statuspage is the standard hosted status page, with subscriber notifications and incident templates, priced per page and subscriber tier.
  • Better Stack and Instatus bundle uptime monitoring, status pages and on-call, aimed at teams already paying for tooling.
  • Uptime Kuma is a popular free, self-hosted monitor with status pages, but it checks from wherever you run it, which means one location.
  • Gatus is a config-as-code health dashboard popular with Kubernetes users.

The gap is an affordable, simple product that checks from several regions and uses agreement between them before it wakes anyone up, bundled with a clean status page and incident updates.

What you build

  • Probe agents: small processes on cheap servers in three or more regions (for example Europe, Singapore and the US). Each runs checks from a schedule it pulls from the central API.
  • Central API and database: stores check results, evaluates quorum rules and manages incidents.
  • Status page: public, fast and cacheable, with components (API, dashboard, payments), their state and a 90-day history bar.
  • Admin screens: add monitors, set quorum rules, post incident updates, schedule maintenance.
  • Notifications: email to subscribers and a webhook to the team's chat.

The technically interesting part

The heart of the project is deciding when something is really down. Each probe reports independently and on its own clock. You need a rule such as "at least two of three regions failed at least two consecutive checks within 90 seconds", and you need it to behave sensibly when a probe itself goes silent (a missing probe is not a failing service). This is the same idea large companies use when they check from many vantage points before declaring an incident. Show your evaluators a timeline of real events and how the rule reached each decision, including the cases where it correctly stayed quiet.

How to evaluate it

  • False alarm rate: monitor at least twenty real public endpoints for two weeks with both a single-probe rule and your quorum rule, and count alerts that did not match a real outage.
  • Detection delay: inject outages on your own test service (stop the container, block one region with a firewall rule) and measure seconds from outage to incident.
  • Page performance: time to first byte of the status page under load, using a load testing tool.
  • Usability: have three small teams post a mock incident update and note where they get stuck.

Suggested plan

  1. Weeks 1 to 3: central API, database schema and one probe agent with HTTP checks.
  2. Weeks 4 to 6: deploy probes in three regions and implement quorum evaluation.
  3. Weeks 7 to 9: public status page, incident workflow and email subscribers.
  4. Weeks 10 to 12: maintenance windows, webhooks, two-week monitoring study.
  5. Weeks 13 to 14: fault injection, load test and final report.

Path to a product

The first customer is a small SaaS or agency you know personally that currently has no status page. Offer a free tier with one page and a few monitors, and a paid tier for more monitors, shorter intervals and custom domains. Agencies building sites for clients are a good second market because one agency brings many pages. Keep hosting costs low by running probes on the smallest VPS each provider offers.

Scope warning

Do not build on-call rotations, phone calls or a full incident management suite. Do not try to monitor from twenty regions; three well-chosen ones prove the idea. Skip browser-based synthetic checks, which need headless browsers and are a different project.

Learn what you need on Sefism

Get help with this idea

Getting the quorum rule and its edge cases right matters more than the number of check types you support. A mentor can help you pin down the scope, choose a stack you can finish with, and design an evaluation your examiners will respect. You build it; we help you think it through. New here? Create a free account first.

Ideas and guidance, not finished projects

These are project ideas and scoping guidance, published free for students to use as a starting point. I do not build, write, or sell final-year projects, and I do not complete coursework for anyone. Take an idea, make it yours, and build it.

Not sure this one fits you?

I help students pick an idea that matches their skills and their deadline, then scope it down until it is finishable. Guidance only, never done for you.

Discuss this idea
Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.