~/talk

Lessons learned from running a SaaS entirely on Swift Vapor

Talkat ServerSide.swift 2025 · 2025-10-01..10-03· [serverless, swift]
slides:none on file

A Swift Vapor backend powers Telemetry Deck, originally a private sexual-health analytics app that grows to serve 14 million users per month; events are anonymized on-device, hit an ingestion API, queue through a message broker and land in Apache Druid for time-series queries, surfaced by a Swift API and a web UI. Operational stack uses Grafana, Loki and BetterStack for alerts; Redis/Valky caching cost lessons force TTLs; custom queuing is replaced by Vapor queues; Docker layer caching cuts builds from ~10 minutes to ~1.

AI-written summary · about

  1. 0:00Introduction and project origin
  2. 5:56Nine lessons from Vapor experience
  3. 12:29API versioning and DTO management
  4. 19:18Caching strategies and pitfalls
  5. 22:31Queues and background jobs
  6. 24:59External services and SDKs
  7. 28:15Database migrations and optimizations
  8. 30:01Docker build time improvements
  9. 31:24Summary and project outcomes
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.