SayDeploy Plain comparisons of developer tools, AI coding tools included

How to switch between several projects quickly for indie hackers

Switch between several projects quickly with written start commands, ports and service order, and see which tools can help you do it.

By SayDeploy ยท

SayDeploy is published by LunarWerx, which makes some of the tools compared here.

Switching quickly between projects is easiest when each one has a written folder, start command, port list and service order. Stop the old project's services, check that its ports are free, then start the next group in order. DevWebUI can start, stop and restart each project's servers from one dashboard. [1]

OptionWhat it doesCost
DevWebUIStarts, stops and restarts local dev servers from one dashboard, and shows status, CPU, memory and logs. [1]Free, and core features need no account. [1]
Shell scriptsRuns commands you write yourself. Check whether it shows status and logs.not published
Editor run settingsSaves run settings for a project inside the editor. Check what they cover.not published

What you need before you start

Switching quickly between projects depends on what is ready before you leave the one you are in. Each project should have its own folder and one clear start command, so you never have to remember what to type. Check that the runtime, package manager, and any database the project uses are installed and running. Write down the ports each project uses, because two projects that want the same port will fight each other, and a written list makes that obvious before you start. Note which services a project needs at the same time, such as a frontend, an API and a background worker, and the order they should start in. Keep environment settings in a file you can find again rather than in your shell history. Once these details are written down, switching becomes a matter of stopping one set of services and starting the next, instead of working out the setup again each time.

Step by step

  1. Write a short record for each project with its folder, start command, ports and services. Keep it in a note or in a file inside the repo.
  1. Stop the services of the project you are leaving. Confirm its ports are free before starting the next project, so the new services do not connect to the old ones.
  1. Check the dependencies of the project you are opening. Install missing packages and confirm environment settings before starting, rather than discovering the gap after a server crashes.
  1. Start the backing services first, such as a database or a queue, then the API, then the frontend.
  1. Name each running process clearly, so a log line can be traced to its project without guessing.
  1. Confirm each service responds. Open the app, call one endpoint from the frontend, and read the first errors before you continue.
  1. Save the start order as a script or a config file, so the next switch takes one action.
  1. Automate only after the manual steps work. A tool should speed up a routine you already understand, not hide what each service is doing.

Tools that can do it

DevWebUI is made by the team that publishes this site. It lets you start, stop and restart local dev servers from one dashboard, and see each one's status, CPU, memory and logs. [1]

Each project can keep its list of servers in one small file in its repo, and changes made in the dashboard are written back to that file. [1] When a port is already taken, DevWebUI shows which process holds it and can free the port if you ask. [1] Each managed server can also be opened through DevWebUI's own port, 4000, under a name ending in .localhost, with web traffic and live-reload connections passed through. [1]

Errors from all running servers are collected into one log that merges repeats and is kept across restarts, and each file and line link opens in your editor. [1] If the last shutdown was not clean, the next launch loads your projects but starts nothing automatically. [1] A project's setup can also start its container stack first, wait for its ports to open, and set database address variables for the app. [1]

A command-line tool can control the same processes without opening the dashboard. [1] A server for AI coding agents, with 43 tools, lets an agent control the same running processes the dashboard uses. [1] You can set alert rules based on thresholds and review a history of the alerts that fired. [1]

There is a prebuilt Windows x64 app. [1] On any operating system, you can run bun install and then bun run dev. [1] On Windows, a tray icon runs DevWebUI in the background with Open, Restart and Quit options. [1] The tray app is Windows only for now. [1]

Shell scripts are another option. You write the commands yourself and run them from a terminal. Check whether a script can show status and logs for each project before you rely on it.

Many code editors save run settings for a project. Check what each editor's settings cover before using them for several projects at once.

Other process managers exist. Compare how each one orders services, handles ports and shows logs before you choose.

Common mistakes to avoid

Switching projects without stopping the old services leaves ports occupied, and the new project then fails with a confusing error. Start each switch by checking which processes are still running. Skipping the written list of ports and start commands means the setup has to be rebuilt from memory each time, which is slow and easy to get wrong. Ignoring logs is another common mistake, because the useful error often appears in a window you are not watching. Environment settings changed by hand and never recorded can make a working project hard to reproduce on another day or machine. Freeing a port without checking what holds it can stop something you still need. Test the switch after each change to the setup so the routine stays understandable.

Frequently asked questions

How can indie hackers switch between several projects quickly?

Indie hackers switch fastest when each project already has its folder, start command, ports and service order written down. Stop the services of the project you are leaving, confirm its ports are free, and then start the next group in order. Saving that order as a script or a config file turns each switch into one action. Start with the manual steps and automate only after they work.

Is DevWebUI free for indie hackers?

DevWebUI is free, and its core features need no account. [1] It is open source under the MIT License. [1] Before you depend on any tool for daily work, check that its features match how your projects start and stop. Check the same thing for any other option you consider.

Can DevWebUI free a port that another project is using?

When a port is already taken, DevWebUI shows which process holds it and can free the port if you ask. [1] Freeing a port stops whatever process holds it, so look at what that process is before you agree. Checking each project's port list before you start it helps you see which conflict you are dealing with.

Can DevWebUI start a project's container services first?

The project's setup can start its container stack first, wait for its ports to open, and set database address variables for the app. [1] A container stack is the database and other services a project runs in Docker, so they behave the same on any machine. Check that Docker is installed and running before you start the project.

Does DevWebUI run on macOS and Linux?

There is a prebuilt app for Windows. [1] On other systems you run DevWebUI from source with Bun, a JavaScript runtime. [1] If you work on another system, follow the source steps and test one project before you rely on the setup for daily switching.

DevWebUI is free, and its core features need no account. [1]

Try DevWebUI

Sources

  1. DevWebUI's own description of itself (the product of this site's publisher)

Related comparisons