bradtraversy.dev — 2026-05-08-running-daily-not-live.md
home.md projects/ tools/ devlog/ × articles/ now.md about.md
2026-05-08 · #bradtraversy-dev · #devlog #decision

# running daily, but not live

added a new project to the showcase today: mission control. it’s a vault-native ops dashboard (todos, agent tasks, projects, sessions, scheduled jobs, calendar, all live, all reading and writing markdown directly). it’s been running on my homelab for a few weeks. it’s not on the public internet, and it shouldn’t be.

which surfaced a small problem with the project status taxonomy.

live vs. local

every project on this site has a status pill in the corner: live, beta, alpha, planning, maintenance, sunset. mission control is “running daily” by any honest read, but tagging it live (which uses a green pill) felt misleading. live implies “click the url, go use it.” mc has no public url. it’s bound to the lan, runs as a systemd-user service, and is only useful behind the vault it reads from.

the cleanest fix was a new status: local. cyan pill instead of green. visually distinct, semantically honest. mc gets local. future homelab dashboards or lan-only utilities get the same.

const projectStatus = z.enum([
  'planning',
  'alpha',
  'beta',
  'live',
  'local',      // running daily, not on the public internet
  'maintenance',
  'sunset',
]);

a one-word taxonomy decision, but the kind that bugs me when it’s wrong. “live” was overloaded. it conflated “publicly accessible” with “operational,” and those are different things.

click-to-zoom hero on every project page

while i was over there, the hero screenshots got a small upgrade: click any project hero (or tool hero) and it opens in a modal. native <dialog> element, no react island, no library, about twelve lines of vanilla js for the open/close. you get focus trap, esc-to-close, and backdrop semantics for free.

mc’s hero shows a wider view of the dashboard than fits on the project page itself, so the modal is more than cosmetic. you can actually read the cards.

small things that add up

  • sidebar reorder: showcase first (projectstools), running stream second (devlog), polished long-form last (articles). matches how i expect people to use the site.
  • four other project pages now filled in: vidpipe, devsheets, webutils, and bradtraversy.dev itself.
  • five new devlog entries covering the mission control build arc, shipped alongside the project page.

the smallest taxonomy decisions are usually the ones you procrastinate on for a week. five minutes of work; reads correct from now on.

// EOF 2026-05-08-running-daily-not-live.md
main
2026-05-08-running-daily-not-live.md
UTF-8
LF
Markdown
Ln 1, Col 1