
Sync engine enhances local-first apps with responsive UI/UX and seamless state transfer, connecting client-side SQLite to server-side databases like Postgres, MongoDB, or MySQL. Features demo projects and Supabase integration.
PowerSync is a sync engine for building local-first apps with instantly-responsive UI/UX and simplified state transfer. Syncs between SQLite on the client-side and Postgres, MongoDB, MySQL or SQL Server on the server-side.
This is the PowerSync client SDK for Kotlin. This SDK currently supports the following Kotlin targets:
If you need support for additional targets, please reach out!
See a summary of features here and API documentation here.
common
and linking SQLite.The easiest way to test the PowerSync KMP SDK is to run one of our demo applications.
Demo applications are located in the demos/ directory. See their respective README's for testing instructions:
Add the PowerSync Kotlin Multiplatform SDK to your project by adding the following to your build.gradle.kts file:
kotlin {
//...
sourceSets {
commonMain.dependencies {
api("com.powersync:core:$powersyncVersion")
}
//...
}
}If want to use the Supabase Connector, also add the following to commonMain.dependencies:
implementation("com.powersync:connector-supabase:$powersyncVersion")When building iOS, macOS, tvOS or watchOS apps with Kotlin Multiplatform and Kotlin/Native, you also need to install the PowerSync SQLite extension with your app.
To do that, open the target project in XCode and add a package dependency on
https://github.com/powersync-ja/powersync-sqlite-core-swift.git.
You can also open the demo project (demos/supabase-todolist/iosApp) in XCode as an example.
For Android and JVM targets, the extension is bundled with the Kotlin SDK and no further setup is necessary.
This repo uses ktlint to handle formatting and linting. If you would like the IDE to automatically format your code and show linting errors install the ktlint plugin. Then in Settings go to Tools -> Ktlint -> Select Distract free (recommended) mode.
It will automatically use the rules set in the .editorconfig file.
Our full SDK reference contains everything you need to know to get started implementing PowerSync in your project.
For example projects built with PowerSync and Kotlin Multiplatform, see our Demo Apps / Example Projects gallery. Most of these projects can also be found in the demos/ directory.
PowerSync is a sync engine for building local-first apps with instantly-responsive UI/UX and simplified state transfer. Syncs between SQLite on the client-side and Postgres, MongoDB, MySQL or SQL Server on the server-side.
This is the PowerSync client SDK for Kotlin. This SDK currently supports the following Kotlin targets:
If you need support for additional targets, please reach out!
See a summary of features here and API documentation here.
common
and linking SQLite.The easiest way to test the PowerSync KMP SDK is to run one of our demo applications.
Demo applications are located in the demos/ directory. See their respective README's for testing instructions:
Add the PowerSync Kotlin Multiplatform SDK to your project by adding the following to your build.gradle.kts file:
kotlin {
//...
sourceSets {
commonMain.dependencies {
api("com.powersync:core:$powersyncVersion")
}
//...
}
}If want to use the Supabase Connector, also add the following to commonMain.dependencies:
implementation("com.powersync:connector-supabase:$powersyncVersion")When building iOS, macOS, tvOS or watchOS apps with Kotlin Multiplatform and Kotlin/Native, you also need to install the PowerSync SQLite extension with your app.
To do that, open the target project in XCode and add a package dependency on
https://github.com/powersync-ja/powersync-sqlite-core-swift.git.
You can also open the demo project (demos/supabase-todolist/iosApp) in XCode as an example.
For Android and JVM targets, the extension is bundled with the Kotlin SDK and no further setup is necessary.
This repo uses ktlint to handle formatting and linting. If you would like the IDE to automatically format your code and show linting errors install the ktlint plugin. Then in Settings go to Tools -> Ktlint -> Select Distract free (recommended) mode.
It will automatically use the rules set in the .editorconfig file.
Our full SDK reference contains everything you need to know to get started implementing PowerSync in your project.
For example projects built with PowerSync and Kotlin Multiplatform, see our Demo Apps / Example Projects gallery. Most of these projects can also be found in the demos/ directory.