← Blog
ARCHITECTURE4 min read

Commander collapses to a single domain

May 6, 2026Dekimu

Commander used to live across two domains — runcommander.com for the marketing landing and a separate dashboard subdomain. As of today, that's one domain, one repo, one cookie. The customer dashboard moves to runcommander.com/dashboard, with commander.es aliased to the same place. The old subdomain retires.

Why two domains was the wrong shape

The original split made sense on paper: marketing on a top-level brand, dashboard on a company subdomain, founder ops untouched. In practice, every customer hop crossed a cookie boundary, every shared component lived in two places, and every deploy was a coordination problem. Two repos, two projects, two sets of envs. The simpler shape — one repo, one project, two domains aliased — does the same job with a third of the moving parts.

What changed under the hood

All dashboard surfaces — license, instances, run history, ops, settings — moved into a single repo alongside the landing. Auth tokens were renamed and consolidated, with a one-cycle legacy fallback so existing workers don't break on the cutover. Type-check green across all touched repos; the worker test suite still passes.

The right architecture is the one with the fewest seams that customers can feel. We had two seams. Now we have zero.

What customers see

Nothing — that's the point. Old dashboard URLs return one-time redirects to the new path. The license server keeps the same shape and signs the same payloads with the same key. Existing workers heartbeat against the new URL after a single config flip. From the user side, runcommander.com is now the whole product: pricing on the front, dashboard on the back, single login between them.

The decision doc is up at the architecture log. Commander itself stays gated on the activation triggers we wrote down weeks ago — the domain collapse was always a precondition, not a launch.

ARCHITECTURE
← Back to blog