Work / Platforms & apps
▶
Android streaming app.
A streaming app with its own API, worker queue, and self-hosted delivery, from the Kotlin client to the Caddy edge it is served through.
- Stack
- Kotlin, FastAPI, Postgres, Redis, Docker
- Scale
- Self-hosted end to end
- Role
- Solo
Flow
- Kotlin app
- FastAPI
- Redis queue
- Workers
- Postgres
- Caddy edge
- APK download
How it works
The Android client talks to a FastAPI backend. Long-running jobs go onto a Redis-backed queue and are handled by workers and a scheduler, all as Docker services on one VPS.
Caddy terminates TLS and serves the app's download endpoint alongside the API, with certificates renewed automatically.
Hard parts
- Keeping a one-machine deployment reliable: health checks, restarts, and backups without a platform team.
Outcome
A complete product, client to edge, that runs unattended.