Skip to content
Back to projects

Flatline

An Uptime Kuma fork with live server metrics.

A fork of Uptime Kuma by Louis Lam, with its MIT license and attribution retained.

Year
2026
Role
Fork development, dashboard design, telemetry, and API
Flatline Superboard with eight fictional servers, live resource metrics, and container status tiles
Real app capture with generated sample data, not a production installation.

Overview

Flatline is my self-hosted monitoring fork of Louis Lam's Uptime Kuma, with upstream authorship and its MIT license retained. I added a React operator dashboard, a dense Superboard for live host and container telemetry, shared multi-user access, and a scoped REST API for scripts and AI agents. Telegram is the only notification path. The current deployment serves the Node.js backend, dashboard, and public status pages on one origin; a separate Go agent collects server metrics.

Technology

  • React 19
  • TypeScript
  • Vite
  • Tailwind CSS 4
  • Node.js
  • Express
  • SQLite
  • Go
  • SSE
  • Docker

Built around

  1. The screenshots are real app captures with generated fixtures, not a production installation. The project remains a credited Uptime Kuma fork—not a monitoring engine built from scratch.
  2. The Go agent pushes raw counters at 1Hz; the backend derives live utilization and streams updates through bearer-authenticated SSE. Historical readings are archived roughly every 30 seconds, with hourly rollups for longer retention, so live samples and historical percentiles are explicitly different.
  3. All operators share the same monitors without sharing a password. Single-use invitations and per-user read/write/publish tokens expose the same operations over REST, with a self-describing OpenAPI document for integrations.
  4. A disk-backed agent buffer preserves delayed samples across outages. Resource-pressure alerts use server-side debounce, cooldown, hysteresis, and recovery messages rather than paging on every one-second spike.

If I kept going

  1. Address inherited dependency advisories in a separate hardening pass without conflating them with dashboard changes.
  2. Explore Docker event subscriptions and private aggregate status views; neither is presented as an already shipped capability.
Next projectDot Island