Skip to content
VK
All work
Dashboard · Architect, sole engineer · 2026 · Live

Mission Control

A homelab dashboard that watches 50 projects and writes me a daily LLM-summarized briefing.

Mission Control screenshot

The AI part

Tier 2 observability: never reads private agent content, only project metadata. A daily Ollama pass turns each project's git activity into a 'pulse' — what changed, why it matters, what's next — and Telegrams the digest at 5:30 AM.

Stack

Next.js 16React 19Tailwind v4Drizzle + SQLiteTanStack QueryOllama (qwen3.5)ssh2launchdTelegram bot
Projects tracked
50
Tasks tracked
458
Daily pulses
31 active
Automations
4 launchd agents

Why I built this

Once you ship more than five projects, you stop knowing what state any of them are in. I needed a single pane of glass that could also reason — not just “11 commits in the last week” but “the auth migration landed; the next blocker is the rate-limit refactor.”

How it works

  • Project scanner. Walks ~/AI/Projects, parses package.json / CLAUDE.md / git, classifies into six categories.
  • Kanban per project. Tasks parsed from the project’s own files, plus manual entries. Live updates via TanStack Query.
  • Daily pulse. A scheduled Ollama pass at 05:30 reads the project’s recent activity and writes a short pulse. The pulses fan out to a Telegram digest by 06:00.
  • Three-tier separation. Tier 1 (Jarvis private content) is never observable. Tier 2 (this dashboard) sees only metadata. Tier 3 would be cloud business agents — clean isolation enforced by the data layer.
  • Infra integrations. Proxmox VM control, Portainer container ops, TrueNAS API, GitHub webhook receiver — all wired into the same dashboard.

What it took

  • 4 launchd agents for the daily lifecycle (rescan, ingest, pulse, briefing).
  • A read-only filesystem watcher so the scanner never mutates a project folder.
  • A pulse generation prompt that’s been tuned harder than any other prompt I’ve shipped — short, specific, accurate, with explicit instructions to flag uncertainty.

What I learned

The best LLM use case in a homelab isn’t a chatbot. It’s a quiet, scheduled summary that turns signal into something a human can act on at 6 AM.