Switchyard
Couples and uncouples containers on Railway.

A small control panel that starts and stops containers on Railway through Railway's public GraphQL API, and runs on Railway itself. Each service is a section of track with a signal lamp for deployment status. The app lists itself, marked protected, because it is deployed into the project it manages.
The Railway API token can create and delete infrastructure, so the browser never sees it. React talks JSON to a small Hono server, the server talks GraphQL to Railway, and the whole app sits behind a password. Railway has no single start-container call, so every button maps to the real mutations, checked against the live schema before any code was written. Launch is two steps and not atomic, so a deploy that fails after a successful create is reported as a service with a warning, never as nothing happened. 67 tests run without network.



