Skip to content
brorn
No. 029 · Technical foundation

control.room

A dashboard that shows whether everything that runs on its own on my home server is working: scheduled jobs, apps, alerts, AI cloud and network.

Live
Period
2026-11 → now
Platforms
Web
Role
Solo: design, build, ship
Tech
Fig. 1 · Dashboard overview
Fig. 2 · Problems only
Fig. 3 · On a phone

§1The problem

There was a lot of automation (scheduled jobs, apps, alerts and emails, a rented AI server) and no single view of whether it was working. “Ran without errors” doesn't mean it delivered.

§2What I built

  • ChecksEvery 5 minutes (or with the “Check now” button), in four groups: scheduled jobs, alerts and emails, automations and system (cloud GPU, private network, disk) and apps.
  • HistoryCurrent state and history of status changes, stored in a file.
  • ExtensibleEach check is a file that returns a list of results with a fixed id, easy to add to.

§3The hard parts

4 entries
  1. 01

    Measuring delivery, not execution

    Reads, read-only, the trail each app keeps of what it sent.

  2. 02

    Testing each app for real

    Finds where each app actually listens and tests it over HTTP, to catch an app that is “online” but not answering.

  3. 03

    Cost alert

    Warns when a rented AI machine is running.

  4. 04

    A known, documented limit

    One app marks a send as done even when the push service refuses it, so the dashboard only says “delivery not confirmed”.

§4Result

Running on my home server, available on my private network. Next steps: smart-home integration and alerts outside the dashboard (phone, email).

§5Stack

  • Next.js 16
  • React 19
  • TypeScript
  • Tailwind 4
  • systemd (timers)
  • pm2
  • Tailscale
  • RunPod API
  • Read-only SQLite (node:sqlite)