Hi everyone ![]()
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.

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 callssubprocessor 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.