← Back to Portfolio
Briarwood Status

Briarwood Status

Serverless uptime monitoring and alerting platform

React Hono Lambda DynamoDB EventBridge CDK

The Story

As I built more client apps under Briarwood Software, I needed a way to monitor their availability without paying per-seat for a third-party service. I wanted something lightweight, serverless, and cheap to run, with public status pages I could share with clients and email alerts when something went down.

Briarwood Status runs health checks every 5 minutes via EventBridge-triggered Lambda functions. It tracks response times, uptime percentages, and alert state, with a smart consecutive-failure threshold that prevents false alarms from single flaky checks. When a service goes down, it sends an alert. When it recovers, it sends another with the total downtime.

The public status page supports custom branding and group-based filtering, so each client can see a status page tailored to their services. The admin dashboard provides detailed metrics, response time charts, and on-demand health checks.

Features

Briarwood Status branded client status page

Branded Client Status Pages

Each client gets their own status page with a custom logo, brand color, and light or dark theme. Monitors are grouped by client, so each page only shows the services relevant to them. Pages are public and require no authentication, making them easy to share.

Briarwood Status response time chart and uptime metrics

Response Time Monitoring

Detailed monitor pages with response time charts rendered in pure SVG. Tracks 24-hour, 7-day, and 30-day uptime percentages with color-coded thresholds. Red dots highlight failed checks, and hovering reveals exact values and timestamps.

Briarwood Status admin dashboard with monitor management

Smart Alerting

Down and recovery alerts arrive by email with clear status details. Recovery alerts include total downtime duration. For services with dedicated health endpoints, deep health checks parse subsystem-level status, catching partial failures that a simple HTTP check would miss.

← Back to Portfolio