How Boop works

How Boop works An architecture diagram generated by Archify. You · browser · Architecture component You browser Your apps · scripts · CI · clients · Architecture component Your apps scripts · CI · clients Web UI · Svelte · embedded · Your server · one Docker container · admin login · Svelte Web UI Svelte · embedded admin login Boop server · Go net/http :8080 · Your server · one Docker container · redaction · retention · Go Boop server Go net/http :8080 redaction · retention SQLite · /data/boop.db · WAL · Your server · one Docker container · SQLite SQLite /data/boop.db · WAL Apple APNs · HTTP/2 · Architecture component Apple APNs HTTP/2 Boop iOS app · your build · your bundle id · Architecture component · Keychain credential Boop iOS app your build · your bundle id Keychain credential POST event · project key store push · ES256 JWT notification GET event · device credential HTTPS · login pairing QR Your server · one Docker container Legend Frontend Backend Database Cloud External

Send

  • • Any HTTP client can POST an event
  • • Only `title` is required; `data` is free-form JSON
  • • Sensitive keys are redacted before storage

Deliver

  • • Server pushes straight to APNs with your .p8 key
  • • Push carries only title, body, and the event id
  • • The app fetches full detail from your server

Own

  • • One binary, one SQLite file, one container
  • • You hold the server, keys, data, and the iOS build
  • • No Boop-run infrastructure anywhere