Every prototype app lives in its own GitHub repository and deploys automatically to a subdomain of this site.
Every push to main triggers a GitHub Actions workflow that builds the project (if needed) and rsyncs the files to the server. The site is live within about 30 seconds.
uberspace web domain add subdomain.michael-schoelkopf.de — Uberspace issues an SSL certificate automatically.DNS propagation takes a few minutes to up to 24 hours. After that, every future push deploys automatically.
The full setup is documented in my dev-playbook.