Direct download · 7-day trial · No account required

The command center for
local development.

Station runs, inspects, and safely repairs your whole local stack — services, groups, ports, Docker, terminals, and dependency maps in one native Mac app. When something breaks, its governed AI Doctor explains why and proposes repairs you approve, one at a time.

macOS 14+ · Apple silicon & Intel · Local-first, no account required
Station
HQ
Command Center
9 apps
AI Doctor
Governed repair
Dependency Matrix
App links
Dependency Board
Visual map
GROUPS
Sleipner
Local Sleipner, Odin and Frigg services
ALL APPS
web-next
Next/Payload front for the Sleipner site
odin-vue
Legacy Vue surfaces for Odin tools
odin-react
React/Vite surfaces for Odin
sleipner-auth
Vue login and session flow
odin-backend
Django app for internal tools
odin-rest
Django REST API profile for Odin
es-odin
Elasticsearch 2.4 index for Odin search
Min Plen
Next.js site for lawn maintenance
Command Center
All apps, groups, and local terminal sessions are managed from the same command surface.
Running externallyStoppedAI DoctorDocker
web-next
Resolving status
Next/Payload front for the Sleipner site.
:3000 · node
StartStopRestartDiagnose
odin-vue
Resolving status
Legacy Vue surfaces for Odin tools — product data, BOM, helpdesk.
:8081 · node
StartStopRestartDiagnose
odin-react
Resolving status
React/Vite surfaces for Odin — planner, MES, chat, PIM health.
:5174 · node
StartStopRestartDiagnose
sleipner-auth
Resolving status
Vue login, signup and session/redirect flow.
:8080 · node
StartStopRestartDiagnose
odin-backend
Resolving status
Django app for internal tools and server-rendered surfaces.
:8000 · python
StartStopRestartDiagnose
es-odin
Resolving status
Elasticsearch 2.4 index behind Odin search.
:9200 · docker
StartStopRestartDiagnose
Runs your real stack — not a sandbox.
NodePythonDockerpnpmDjangoViteElasticsearchPostgreSQL
One surface

Everything your local environment needs, in one place.

Station replaces a drawer full of terminal tabs, shell scripts, and guesswork with one calm, native control surface for the whole stack.

Sleipner · start plan
Start groupStop group
1odin-vue:8081
2odin-react:5174
3sleipner-auth:8080
4odin-backend:8000
5web-next:3000
+ 2 more · deduplicated, dependencies first

Run the whole stack

Start apps and groups in dependency order, with live status for every service. One click — or one keystroke — for the whole stack.

pnpm dev
▲ Next.js 15.3.2
- Local: http://localhost:3000
Ready in 312 ms
health :3000 → 200 · marked Ready

One terminal home

Station owns a local PTY per app — every log lives where the app lives, not in a lost terminal tab.

wn
ov++++
or++++
sa++++
ob++++

See every dependency

A live matrix and a draggable board show exactly which app points to which.

Port :3000 is busy — held by node · PID 1741
process-cwd: ~/Documents/grønt gress
Station won't start this app until the port is free.
Stop externalChange port

Ports & Docker, handled

Conflicts and external owners are named before they cost you a morning. Docker comes up first when apps need it.

StoppedStartingRunningReady
http :3000/health → 200 in 84 ms

Real health checks

HTTP and port checks gate the Ready state — Running is not the same as serving.

AI Doctor

When it breaks, Doctor shows its work.

AI Doctor reads redacted local evidence — ports, logs, manifests, env key names — explains the failure, and proposes typed repairs. Nothing runs until you approve it.

Evidence, not guesses
Every observation cites what Doctor actually read. Confidence is a number, not a mood.
You approve every change
Repairs are typed and queued. Policy re-checks each one immediately before execution.
A visible workstream
No spinner theater — Station streams each stage it runs: collecting, redacting, validating, repairing.
Denied areas: Keychain · SSH · GPG · cloud & Kubernetes credentials · browser profiles · Mail & Messages
odin-rest · diagnosis
82% confidence
Collecting local evidence
18 items · 2 critical · 1 warning
Redacting sensitive context
Env summarized as key names only
Validating repair proposals
3 typed repairs · 1 blocked by policy
Free port :8002Medium
Stop the stale process holding the port so odin-rest can bind it.
lsof -ti tcp:8002 | xargs kill
Policy re-checks before execution.
Native SwiftUI
A real Mac app — menu bar, keyboard, system appearance. Not Electron.
Local-first
Apps, groups, and logs stay on your machine. No account required.
Redaction built in
Models see evidence summaries and env key names — never secret values.
Keychain-secured
Provider keys live in the macOS Keychain, not in dotfiles.
Station app icon

Bring your local stack under control.

One native Mac app for running, inspecting, and repairing local development — calm, precise, and fully in your hands.

$19.99one-time · macOS 14+ · Apple silicon & Intel