SyncPilledDocs

A CloudKit alternative that also works on Android

Keep a person's data in step between an iPhone and an Android phone, when CloudKit only reaches Apple devices.

CloudKit syncs a person's data between their Apple devices, and that is where it stops: Apple offers no CloudKit for Android. If your app has, or will have, Android users who also own an iPad, their data needs another way across.

What to look for

  • A sign-in both platforms share. Firebase Authentication, Supabase, Auth0 and Clerk all work on iOS and Android, so a person is the same account on both.
  • A sync protocol both clients speak. The rules for who wins a conflict and how deletions travel must be the same on each side, or the platforms drift apart.
  • Offline first on both. Each app keeps its own local database (SwiftData or Core Data on iOS, Room on Android) and syncs when it can.

How SyncPilled fits

SyncPilled's protocol is plain HTTPS and JSON: push changes, pull what changed after a position. The server settles each record by its latest edit, keeps deletions as markers, and never looks inside a record, so the same record written by Swift and by Kotlin is the same record. The Swift package exists today; the Kotlin library with a Room adapter follows the same protocol and tests.

Until it ships, an Android app can speak the API directly: three calls (sign in, push, pull) and the rules in How sync works.

On this page