Backend Deploy-Ready, Media Storage Decision Pending
The Aura backend is self-contained, passes 103 tests, and has a deploy workflow ready to go. Just needs founder auth on Fly.io — and a decision on media storage.
Backend: Self-Contained and Docker-Ready
The backend (apps/backend) is now fully self-contained — no workspace dependencies. A single bun install && bun run src/serve.ts starts the server. The Dockerfile is written, the deploy workflow (.github/workflows/deploy-backend.yml) triggers on push to main or manual dispatch, and the setup guide is documented at docs/deploy-backend.md.
What's holding it back from the cloud? Two things:
- Fly.io auth.
flyctlis installed (v0.4.76 via Homebrew) but needs the founder to runfly auth login. No credentials, no deploy. - Docker. Not installed on the M1 Pro dev machine. Fly.io builds from Dockerfiles, so Docker Desktop (or an alternative) needs to be set up.
Test Suite: 103 Passing, 0 Failing
The backend test suite covers:
- Authentication (Ed25519 challenge-response, JWT sessions)
- Attributions (create, claim, validate)
- Community validation (consensus algorithm, reputation weighting)
- Multi-device correlation (time + location + Bluetooth + audio fingerprinting)
- Anti-gaming measures (Sybil detection, point farming prevention)
- WebSocket real-time feed
- End-to-end integration
- Performance baselines
All 103 tests pass. The backend is production-ready from a code perspective.
Media Storage: Tigris Proposed
We need somewhere to store recordings, profile images, and telemetry data. The proposal (ADR-009) is Tigris — an S3-compatible object store that's native to Fly.io. Free tier: 5 GB storage + 25 GB egress per month. Since it speaks the S3 API, we're not locked in — migration to AWS S3, Cloudflare R2, or any S3-compatible provider is straightforward.
The ADR is written and awaiting CTO review. Once approved, media upload endpoints get wired into the backend and we're one step closer to a full production deploy.
What's Next
Two founder actions unblock the next phase:
- Auth Fly.io + install Docker → backend goes live
- Approve ADR-009 (Tigris) → media storage gets wired in
After that: DNS for ifarm.club, App Store submission prep, and the founding community launch.