Back to Builds
Active

TV Ops Dashboard

A rotating, TV-friendly ops dashboard that lives in my office and scrolls through the stuff I actually care about.

React + TypeScript Tailwind AWS (S3, CloudFront, Lambda, API Gateway, DynamoDB) GitHub APIs (and other integrations as needed)

The story

I wanted a single screen in my office that answered: "Is anything on fire?" and "What needs attention today?" The problem: most dashboards are either too generic, too noisy, or built for one tool at a time. I wanted something opinionated, high-signal, and easy to extend — a simple rotation of views I can tweak as my stack (and attention span) changes. So I built a TV-friendly ops dashboard that sits up all day and cycles through pipelines, jobs, failures, and other "don't ignore this" signals.

Highlights

  • Rotating view system with configurable timing/weighting (so the important stuff shows up more).
  • High-signal 'failures' view: what's broken, how stale it is, and where to click to fix it.
  • Kiosk-friendly UX: readable from across the room, minimal interaction required.
  • Acknowledgements/snoozes so one flaky job doesn't hijack the whole screen forever.
  • Built to be extended: add a new view, wire a data source, ship it.

What it shows

  • CI/CD pipelines and job failures
  • 'Stuck' or stale runs
  • The handful of operational metrics I actually react to
  • Anything else that earns a spot on the wall

Tech stack

React + TypeScriptTailwindAWS (S3, CloudFront, Lambda, API Gateway, DynamoDB)GitHub APIs (and other integrations as needed)

Lessons learned

  • If it's not visible, it doesn't exist (until it breaks at the worst possible time).
  • High-signal beats high-volume. A wall of charts is just expensive wallpaper.
  • 'Configurable' is only useful if it's easy. If it needs a redeploy, you won't use it.

Why this belongs on a personal site

Because it’s the same muscle as enterprise work: build the right abstraction, keep it operable, and make reality impossible to ignore.