Launchpad: a local launcher to start, stop and keep an eye on all your Streamlit apps

Hi everyone :waving_hand:

I keep a dozen Streamlit apps (and a few other things that listen on a port) on my machine, and I got tired of remembering which folder, which port and which start.sh each one needed. So I built Launchpad, a Streamlit app that launches the others.

Launchpad demo

Live demo (read-only, sample data): https://lanzadera.streamlit.app
Code (MIT): GitHub - davidbp845/lanzadera: A local launcher for your Streamlit apps: start and stop each project, open its services, and see its GitHub board, git activity and RAM at a glance. · GitHub

What it does

  • Launchpad page: one row per project with its port, status, links to each service, GitHub repo and board, and an on/off switch. Each project starts and stops with its own script or systemd service; the launcher only calls it and waits until every service answers before turning green. Filter pills by folder, app type and status.
  • Charts (Altair): open issues per board status and a 26-week commit heatmap across all the repos.
  • Links: a searchable bookmarks table with colored tags.
  • VPS: memory, disk, load and failed services of a server, read over SSH with a fixed read-only script, on demand.
  • Local: real RAM (RSS) per running project, split by service.
  • English and Spanish interface.

How it’s built

  • The project registry is a TOML file kept outside the repo, so the app holds no personal data.
  • The demo runs with HOME_LAUNCHER_DEMO=1: it reads sample data and never calls subprocess or opens a socket (the tests check that), which is what makes it safe to deploy on Community Cloud.
  • Pages are tested with streamlit.testing.v1.AppTest.

Try it locally in two commands:

python3 -m venv venv && ./venv/bin/pip install -r requirements.txt
HOME_LAUNCHER_DEMO=1 ./venv/bin/streamlit run app.py

Feedback very welcome, and if the team thinks it fits, I’d be glad to see it in the App Gallery.