Toronto, Canada  · 

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

  1. Kotlin app
  2. FastAPI
  3. Redis queue
  4. Workers
  5. Postgres
  6. Caddy edge
  7. 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.