I built a desktop app to replace my 15 terminal tabs and janky startup scripts

# opensource# devtools# ai# docker
I built a desktop app to replace my 15 terminal tabs and janky startup scriptsYury Kosyakov

Every project I work on has 5-10 services. Backend, frontend, workers, databases, webhooks. The...

Every project I work on has 5-10 services. Backend, frontend, workers, databases, webhooks. The "getting started"
routine looks something like:

Terminal 1

cd backend && npm run dev

Terminal 2

cd frontend && npm run dev

Terminal 3

cd worker && npm run dev

Terminal 4

docker run -p 5432:5432 postgres

Terminal 5

...you get the idea

Then someone on the team uses the same port, or you switch between projects and everything collides, or you forget
to start the worker and spend 20 minutes debugging why jobs aren't processing.

I got tired of this. So I built https://github.com/ykosyakov/simple-local.

What it does

Point it at a project folder. AI analyzes your codebase and discovers:

  • Services and their start commands
  • Ports (including hardcoded ones that will cause conflicts)
  • Dependencies between services
  • Environment variables
  • Required runtimes and tools

Then you get a single dashboard to manage everything.

The features that actually matter

No more port conflicts

Every service gets a unique port allocated automatically. If your backend and your colleague's backend both
default to :3000 — doesn't matter. Simple Local remaps them and updates the environment variables so services can
still find each other.

Native or container — per service

This is the big one. Docker Compose forces everything into containers. But sometimes you want:

  • Frontend running natively (faster hot reload)
  • Database in a container (no local install needed)
  • Backend natively (easier to attach a debugger)

Simple Local lets you toggle each service independently. When you switch to container mode, it auto-generates a
devcontainer.json with the right base image, port forwarding, and source mounts. No Dockerfile writing.

MCP server for AI agents

This is the feature I didn't know I needed until I had it. Simple Local exposes an MCP server, so AI coding agents
(Claude Code, Cursor, Windsurf) can:

"Start the backend and check if it's healthy"
"Restart the API server and show me the last 20 log lines"
"What services are running?"

Setup is one command:

claude mcp add --transport http simple-local http://localhost:19275/mcp
Enter fullscreen mode Exit fullscreen mode

Now your AI agent has full visibility into your local infrastructure.

Manual config when you want control

AI discovery handles most setups, but you can also write the config yourself:

 {
    "name": "my-project",
    "services": [
      {
        "id": "backend",
        "name": "Backend API",
        "path": "./packages/backend",
        "command": "npm run dev",
        "port": 3000,
        "env": {
          "DATABASE_URL": "postgresql://localhost:5432/mydb"
        },
        "active": true,
        "mode": "native"
      },
      {
        "id": "frontend",
        "name": "Frontend App",
        "path": "./packages/frontend",
        "command": "npm run dev",
        "port": 3001,
        "env": {
          "API_URL": "http://localhost:${services.backend.port}"
        },
        "dependsOn": ["backend"],
        "active": true,
        "mode": "native"
      }
    ]
  }
Enter fullscreen mode Exit fullscreen mode

Notice ${services.backend.port} — environment variables can reference other services' ports, so everything stays
wired up even when ports get remapped.

Demo

Here's a 1-minute video showing the full flow:

https://youtu.be/aeqMkra2n4E

Try it

It's free, open source, and runs 100% locally. No cloud, no accounts.

Would love to hear what you think — what would make this useful for your setup?