PowerSync is designed to be stack agnostic, and currently supports Postgres, MongoDB and MySQL (alpha) as the backend source database, and has the following official client-side SDKs available:
Support for additional platforms is on our Roadmap. If one isn’t supported today, please add your vote or submit a new idea on our roadmap, and check back soon.
Postgres Developers: Using Supabase? If you are using Supabase as your backend, we provide a PowerSync<>Supabase integration guide which includes a tutorial and demo app to quickly learn how to use PowerSync with Supabase.
The following outlines our recommended steps to implement PowerSync in your project:
[Optional] Create a PowerSync Cloud account
Sign up for a free PowerSync Cloud account here if you want to use our cloud-hosted service. PowerSync can also be self-hosted — see instructions in step 3.
Configure your Source Database
Configure your source database for PowerSync — see Source Database Setup.
Connect PowerSync to your Database
Connect your database to your instance of the PowerSync Service:
Define Basic Sync Rules
Define Sync Rules in PowerSync — this enables dynamic partial replication: syncing just a relevant subset of data to each user/client instead of your entire database.
[Optional] Generate a Development Token
Generate a Development Token so you can get up and running quickly, without implementing full authentication integration yet.
[Optional] Test Sync with our Diagnostics App
Use our hosted Diagnostics App to validate that your backend source database is syncing into SQLite as expected based on your Sync Rules.
Implement PowerSync on the Client-Side
Implement PowerSync in your app using one of our Client SDKs:
Implement Authentication
Implement authentication for clients (JWT-based) — see our docs here.
Configure your Backend Application
Implement your backend application to accept and process writes from clients.
Join us on our community Discord server where you can browse topics from the PowerSync community and ask questions. Our engineers are there to help, and we also have an AI bot on the #gpt-help channel that provides decent answers to common questions.