# SyncKit Client SDK -- Competitive Analysis Last updated: 2026-04-10 ## Positioning SyncKit is an E2E encrypted, Rust-native, offline-first sync SDK for indie desktop and mobile apps. The server (hosted on MNW) stores only encrypted blobs -- zero-knowledge by design. Bundled with OTA updates and device management. Consumers: GoingsOn, Balanced Breakfast, audiofiles (all Tauri apps). The key differentiators are server-zero-knowledge encryption (XChaCha20-Poly1305 + Argon2id, keys never leave the device), opaque-blob storage (bring-your-own-schema, no server-side migrations), and the bundled OTA + device management layer that no sync competitor offers. Pricing is bundled with MNW creator tiers ($10-40/mo), not per-read/write metered. ## Pricing Comparison | Tool | Price | Model | |------|-------|-------| | **SyncKit** | $10-40/mo (bundled) | Included in MNW creator tier | | Firebase Firestore | Pay-per-use | $0.18/100K reads+writes, $0.26/GB | | Supabase | $0-$599/mo | Freemium + usage overages | | PowerSync | $0-$599/mo | Usage-based (GB synced) | | ElectricSQL | Pay-per-write | $1/M writes, reads free | | Turso | $0-$417/mo | Storage-based tiers | | Convex | $0-$25/member/mo | Freemium + usage overages | | Ditto | Enterprise (custom) | Sales-driven | | Couchbase Mobile | Enterprise (~25K+ EUR/yr) | License-based | | Etebase | Free (self-host) | Source-available, hosted beta | ## Feature Matrix | Feature | SyncKit | Firebase | Supabase | PowerSync | ElectricSQL | Ditto | Etebase | |---------|:-------:|:--------:|:--------:|:---------:|:-----------:|:-----:|:-------:| | E2E encrypted | Y | N | N | N | N | N | Y | | Server-zero-knowledge | Y | N | N | N | N | N | Y | | Rust SDK (native) | Y | N | N | Alpha | Y | Y | Y | | Tauri integration | Y | N | N | Alpha | N | N | N | | Offline-first | Y | Partial | N | Y | Partial | Y | Y | | Bring-your-own-schema | Y | N | N | N | N | N | Partial | | OTA updates | Y | N | N | N | N | N | N | | Device management | Y | N | N | N | N | N | N | | OS keychain storage | Y | N | N | N | N | N | N | | Blob/file sync | Y | Y | Y | N | N | N | Y | | Self-hostable | Y | N | Y | Y | Y | Y | Y | | Real-time push | N | Y | Y | Y | Y | Y | N | | P2P sync (no server) | N | N | N | N | N | Y | N | | CRDT conflict resolution | N | N | N | N | N | Y | N | | Rich query engine | N | Y | Y | Y | Y | Y | N | ## Competitor Deep Dives ### 1. Firebase (Google) Managed BaaS with Realtime Database and Firestore. Massive ecosystem (Auth, Functions, Hosting, Analytics). Generous free tier. Near-instant real-time push via persistent connections. No native Rust SDK (community crates are server-side only, not offline-capable). **What SyncKit lacks:** real-time push subscriptions, multi-platform mobile SDKs, hosted auth, serverless functions, web dashboard. **What Firebase lacks:** E2E encryption, Rust SDK, Tauri support, offline desktop sync, OTA updates, device management, data portability (complete vendor lock-in, no self-hosting). ### 2. Supabase Open-source Firebase alternative on PostgreSQL. Full SQL power, RLS for access control, self-hostable. Growing ecosystem. Realtime via Postgres CDC. No offline-first without PowerSync add-on. **What SyncKit lacks:** SQL query engine, built-in auth, edge functions, web dashboard, large community. **What Supabase lacks:** E2E encryption, offline-first (requires PowerSync add-on), Rust SDK, Tauri support, OTA updates, device management. ### 3. PowerSync -- Primary Threat Offline-first sync layer between your existing database and client-side SQLite. **Released a Tauri SDK (alpha, March 2026)** built on a Rust SDK. Works with Postgres, MongoDB, MySQL, SQL Server. Self-hostable Open Edition. **What SyncKit lacks:** multi-database source support, client-side SQL queries, partial replication (sync rules), larger team and community. **What PowerSync lacks:** E2E encryption (sync service sees all data), OTA updates, device management, blob/file sync, OS keychain integration. Write-path goes directly to your backend -- PowerSync does not handle write conflicts. PowerSync is the most direct competitor. If they add encryption, they become serious competition. Their Tauri SDK being alpha-quality is a window. ### 4. ElectricSQL Postgres CDC engine streaming "shapes" (filtered table subsets) to clients. Read-path only -- writes go through your own API. Open-source (Apache 2.0). Innovative pricing: writes cost money, reads/fan-out are free and unlimited. Rust client available. **What SyncKit lacks:** read-path fan-out, per-shape subscriptions, 10-language client support. **What ElectricSQL lacks:** E2E encryption, offline-first writes (no local write queue built in), OTA updates, device management, conflict resolution (your problem), blob sync. ### 5. Ditto Enterprise P2P sync with Bluetooth/WiFi Direct mesh networking. Rust core. CRDT-based automatic conflict resolution. $82M raised (March 2025). Targets airlines, military, retail. **What SyncKit lacks:** P2P mesh sync, CRDT conflict resolution, enterprise support. **What Ditto lacks:** E2E application-layer encryption, indie pricing (enterprise sales only), OTA updates, bring-your-own-schema (CRDTs need structure). ### 6. Couchbase Lite + Sync Gateway Enterprise mobile database with bidirectional sync. Battle-tested in large deployments. Gained momentum from MongoDB Realm shutdown (Sept 2025). Configurable conflict handlers. P2P sync between Couchbase Lite instances. **What SyncKit lacks:** P2P sync, rich on-device query engine, enterprise track record. **What Couchbase lacks:** E2E encryption, indie pricing (~25K EUR/yr), Rust SDK (experimental C bindings only), simplicity (multi-component architecture), OTA updates. ### 7. Etebase -- Philosophical Peer The only other E2E encrypted sync SDK with a Rust library. Open-source server, self-hostable. SDKs for Rust, JS, Java/Kotlin, Python, C, C#. Used by EteSync (contacts/calendar sync). **What SyncKit lacks:** broader language coverage (6 languages vs 1). **What Etebase lacks:** Tauri integration, OTA updates, device management, OS keychain, blob support via presigned URLs, commercial backing, community momentum (very small team, unclear trajectory). ### 8. Realm / Atlas Device Sync (MongoDB) -- Shut Down End-of-life as of September 30, 2025. MongoDB deprecated all Atlas Device SDKs. Developers displaced into Couchbase, Ditto, PowerSync, and ObjectBox. The shutdown created a significant gap in the offline-first sync market. ### 9. Others **Turso:** Edge SQLite replication. Read replicas only, writes go to primary. Cheap ($5/mo) but not a multi-device sync solution -- no bidirectional sync, no offline writes. **Convex:** Reactive backend with automatic query subscriptions. No offline support (requires internet). Recently open-sourced (BSL, converts to Apache 2.0 after 3 years). Rust client available but secondary to TypeScript. **CouchDB/PouchDB:** Document-oriented database with built-in sync protocol. Offline-first, conflict handling via revision trees. No E2E encryption. Mature but aging. JavaScript-focused. **Syncthing:** P2P file sync. E2E encrypted, no central server. Designed for folder/file sync, not structured app data. No changelog-based sync, no SDK API, no conflict resolution for structured data. **CRDT libraries (Automerge, Yjs, Loro):** Building blocks for conflict-free merge, not sync services. Handle data structure merging; bring-your-own transport/storage/auth. Incompatible with SyncKit's zero-knowledge model (server cannot merge what it cannot read). ## What We Offer That Competitors Don't - **Server-zero-knowledge** -- the server stores only encrypted blobs. No data breaches because there is no data to breach. Compliance-friendly (GDPR, NIS2). - **Bring-your-own-schema** -- table names, row IDs, and data shapes are opaque to the server. No server-side migrations when your app schema changes. - **Bundled OTA updates** -- Tauri-compatible auto-update protocol. No competitor offers sync + OTA in one SDK. - **Bundled device management** -- register, list, deregister devices. Track sync state per device. - **OS keychain integration** -- encryption keys stored in macOS Keychain, Linux Secret Service, or Windows Credential Manager. Key material never touches disk. - **Minimal blob overhead** -- binary files encrypted with only 40 bytes overhead (24-byte nonce + 16-byte auth tag). No base64 expansion. - **Key zeroization** -- `ZeroizeOnDrop` on all key material. No key residue in memory after use. - **Flat pricing** -- included in MNW creator tier. No per-read/write metering, no surprise bills. ## Market Tailwinds - **MongoDB Realm shutdown (Sept 2025)** displaced developers seeking offline-first sync alternatives - **Tauri adoption growing ~55% YoY**, creating demand for Rust-native backends - **Regulatory pressure (GDPR, NIS2)** pushing toward E2E encryption and data minimization - **Local-first movement** gaining mainstream traction (Notion, Linear, Figma adopting offline-first) - **PowerSync Tauri SDK is alpha** -- their Rust/Tauri story is immature, giving SyncKit a window ## Target Users - Indie developers building Tauri desktop apps who need cloud sync without running a backend - Developers who prioritize user privacy and want zero-knowledge sync by default - Small teams shipping cross-platform apps (macOS/Windows/Linux) that need offline-first data - Anyone displaced from MongoDB Realm looking for a simpler, encrypted alternative ## Gaps and Potential Roadmap Items Based on what competitors offer that SyncKit does not: - **Real-time push notifications** -- Firebase/Supabase/Convex push changes instantly. SyncKit is pull-based (clients poll). A lightweight SSE channel for "something changed, pull now" would close this gap without compromising E2E encryption (the notification carries no data, just a signal). - **Selective sync / sync rules** -- PowerSync and ElectricSQL let clients sync subsets of data. SyncKit syncs the full changelog. For apps with large datasets, filtered sync (by device, by date range, by collection) would reduce bandwidth and latency. - **Conflict resolution helpers** -- Ditto and Couchbase offer configurable merge strategies. SyncKit leaves conflict resolution to the client. A toolkit of common strategies (LWW, field-level merge, custom resolver callback) in the SDK would reduce boilerplate. - **Web client (WASM)** -- every major competitor has a JavaScript/TypeScript SDK. A WASM-compiled SyncKit client would open the web platform. Low priority (current consumers are all desktop), but relevant if any consumer app ships a web companion. - **Multi-language SDKs** -- Etebase covers 6 languages, PowerSync covers 10+. SyncKit is Rust-only. A C FFI layer would enable bindings for Swift, Kotlin, Python, and JS. Only worth doing if non-Tauri consumers appear.