# mission-control: I built a p10k Go TUI for the whole portfolio — not the agent thread plane

Source: https://www.michaelchurley.com/blog/mission-control-go-tui-p10k-portfolio-ops  
Published: 2026-08-08  
Author: Michael C. Hurley  
Tags: mission-control, go, bubbletea, tui, p10k, vercel, openclaw, convex, flyio, portfolio-ops, michaelmonetized

![p10k-style TUI zones. status, search, project list, chat, totals](/blog/mission-control-go-tui-p10k-portfolio-ops/screenshots/tui-p10k-layout.png)

## Who

I keep too many projects hot at once. Vercel rows. Swift builds. git dirt. GitHub issues and PRs. Browser tabs do not scale.

Hurley Mission Control is a different product: humans and agents on one Convex thread model with deliveries. mission-control-os is another name. This pack is the local operator strip: a p10k-inspired Go TUI named Mission Control under michaelmonetized.

If you want one `mc` binary, a Nerd Font, and a scrollable portfolio instead of five CLIs in five tabs, this is for you.

## What

I built **Mission Control**, public **michaelmonetized/mission-control**. README: a p10k-inspired TUI for managing all your projects. Phase 1 complete badge. 18 tests. Go.

Shipped local stack: **Go 1.25.4**, Charm **Bubble Tea** + Lipgloss, `cmd/mc` builds to `mc`, discovery + `~/.hustlemc/` cache, OpenClaw client foundation. Shell suite under `bin/`: discover, git/gh/vercel/swift status, stats, cache, dev, caddy, chat, deploy, and more, with `--json`.

![Shell suite mc-* with --json](/blog/mission-control-go-tui-p10k-portfolio-ops/screenshots/shell-suite-json.png)

Phase 2 scaffold: `apps/web` `@mission-control/web@2.0.0`. Next **16.1.0**, React 19, Clerk, Convex on port **3410**. Schema: users (GitHub + BYO Claude key + Stripe customer + free minutes), repos, workspaces (Fly VM lifecycle), usageRecords, threads/messages (**sender user|openclaw**), webhookEvents. `services/vm-manager` Go service for Fly Machines, terminal WebSocket relay, $0.02/min, idle kill.

![Phase 2 cloud. repos workspaces usage Fly VMs](/blog/mission-control-go-tui-p10k-portfolio-ops/screenshots/phase2-cloud-vm.png)

Not the HurleyUS human|agent deliveries plane. PLAN.md still mentions Ink/React. the entrypoint is Bubble Tea. March 21 "Phases 3–7 Complete" is mostly docs + scaffold burst. No dedicated public homepage on this repo; `vercel.json` only sets robots index,follow. HEAD **fd25166**. **22** commits.

![Three Mission Control names cut apart](/blog/mission-control-go-tui-p10k-portfolio-ops/screenshots/name-cut.png)

## Where

Code: [github.com/michaelmonetized/mission-control](https://github.com/michaelmonetized/mission-control) (**public**, **main**).

Contrast: [hurley-mission-control.vercel.app](https://hurley-mission-control.vercel.app) is the other product.

Install: `go build -o mc-tui ./cmd/mc`, then symlink `~/.local/bin/mc`. Config: `~/.hustlemc/`.

## When

**2026-02-16.** initial TUI, tests, Phase 2 plan, OpenClaw foundation.

**2026-02-21.** TUI redesign matching original spec (#2).

**2026-02-27–28.** CI gate; Vercel-only; drop GH Actions config.

**2026-03-20.** LOCATIONS.md; relay/webhook/daemon/E2E.

**2026-03-21.** Phases 3–7 claim + Phase 2 Convex/docs/go-live stack.

**2026-08-08.** HEAD fd25166 robots tag.

**2026-09-08.** draft pack; slug unused.

## Why

One keyboard surface for deploy + git + issues beats gossip across tabs. `--json` scripts keep the TUI accountable. Phase 2's bet is BYO Claude + metered VMs. Say the three Mission Control names so they stay separate.

If deploy state and git dirt only live in browser tabs, what are you actually controlling?
