PowerSync keeps backend SQL databases in sync with on-device SQLite databases embedded in a client SDK. It enables real-time reactive local-first & offline-first apps that remain available even when network connectivity is poor or non-existent.
Local-first is a paradigm where your app code works directly with a client-side embedded database, which automatically syncs with a backend database in the background. It overlaps with the offline-first paradigm.
PowerSync currently supports Postgres with Flutter, React Native & Expo, web/JS and Kotlin Multiplatform (currently in open alpha). Support for Swift is currently in private alpha.
Additional backend database support and SDKs are on the way.
See the introduction and the Quickstart guide to get started.
Tutorials:
- Building an offline-first chat app with Flutter, Supabase and PowerSync (blog post)
- Building an offline-first chat app with Flutter, Supabase and PowerSync (video)
- Building an offline-first chat app with React Native, Supabase and PowerSync (by community member @bndkt)
Client SDKs are open-source, available under the Apache 2.0 license:
- Flutter/Dart SDK
- React Native SDK
- Web/JS
- Kotlin Multiplatform (currently in open alpha)
- Swift (coming soon) (currently in private alpha)
The PowerSync Service is source-available under an FSL license.
The following deployment options are available:
- PowerSync Cloud: A cloud-based service with pricing plans
- PowerSync Open Edition: A free source-available self-hosted version
- PowerSync Enterprise Self-Hosted Edition: A self-hosted Enterprise Edition with dedicated support plans, extra functionality and custom pricing.
See also: Licensing & Terms overview.
Open-source under Apache 2.0 or MIT license:
- powersync-sqlite-core — Rust-based SQLite extension used by PowerSync client SDKs.
- sqlite_async.dart — SQLite library for Dart & Flutter (used by PowerSync Flutter/Dart SDK, and can also be used stand-alone)
- drift_sqlite_async — ORM integration for Drift for Dart & Flutter (usable with PowerSync Flutter/Dart SDK)
See here: Demo Apps / Examples
Demo apps are listed under the backend they use, but you can easily wire up your own backend as documented here.
We're constantly expanding our list of example implementations. If you'd like to see an example currently not available, let us know on Discord.
PowerSync was spun off from JourneyApps, a product that's been in production for over 10 years. PowerSync was founded by @cahofmeyr and @rkistner. Learn more about the team here.
See the Community Code of Conduct for our community pledge, standards, responsibilities and guidelines.
We have an open community Discord. Join us there for questions, help or just a friendly chat.