PowerSync keeps backend SQL databases in sync with on-device SQLite databases embedded in a client SDK. It enables real-time reactive offline-first/local-first apps that remain available even when network connectivity is poor or non-existent.
Offline-first / 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.
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)
Apache 2.0 license: powersync-sqlite-core — SQLite extension used by PowerSync client SDKs. Structure of the SQLite extension using Rust is inspired by cr-sqlite.
MIT license:
- sqlite_async — asynchronous interface for SQLite on Dart & Flutter (used by 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.
A free source-available self-hosted version of the PowerSync Service will be released in 2024.
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.