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.

Implementation Outline

The following outlines our recommended steps to implement PowerSync in your project:

1

[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.

2

Configure your Source Database

Configure your source database for PowerSync — see Source Database Setup.

3

Connect PowerSync to your Database

Connect your database to your instance of the PowerSync Service:

  1. Using PowerSync Cloud: See Database Connection
  2. Using self-hosted PowerSync: Refer to this section.
4

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.

  • Learn about Sync Rules in our introductory blog post.
  • We recommend starting with one or two simple Global Data queries.
5

[Optional] Generate a Development Token

Generate a Development Token so you can get up and running quickly, without implementing full authentication integration yet.

6

[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.

7

Implement PowerSync on the Client-Side

Implement PowerSync in your app using one of our Client SDKs:

  1. At this point, we recommend continuing to use your Development Token from step 5 for simplicity.
  2. To get a quick feel for PowerSync, you may want to implement a “Hello World” app as a start. Or you can jump straight into installing the client SDK in your existing app. See Client-Side Setup or follow end-to-end getting started instructions in the full SDK reference.
  3. Verify that downloads from your source database are working. Data should reflect in your UI and you can also inspect the SQLite database.
8

Implement Authentication

Implement authentication for clients (JWT-based) — see our docs here.

9

Configure your Backend Application

Implement your backend application to accept and process writes from clients.

  • We have backend examples available here for environments like Node.js, Django and Rails.

Questions?

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.