Why I chose SwiftData + CloudKit for Roost — even though
they're still rough at the edges:
✅ Apple ID-only auth (no third-party backend)
✅ Private database = Apple can't read user data
✅ Zero server cost for me as an indie
The trade-off: CloudKit's relationship rules took me 2 hours
to debug today (turns out both sides of a one-to-many need
to be declared, not just the inverse side).
But for a local-first app, the privacy trade-off is worth it.