Product Update
November 30, 2023
November 30, 2023
(updated)

PowerSync v1.0 Stable Release

Kobie Botha

We are happy to announce that as of November 30, 2023, PowerSync is officially out of beta. Production use cases are fully supported. Huge thanks to all of our beta testers and early adopters for helping us get to this point. 

In this blog post we’ll provide some insight into what this journey meant for us, detail exactly which parts of the system are out of beta, touch on what the performance limits of the system currently are, and provide a peek into our longer term roadmap.

Why has PowerSync been in beta?

Our guiding principle for keeping PowerSync in beta has been:

“Can we take a customer to production without running into any issues?”

For any builders out there, this is harder than it sounds. Recently, though, we’ve been seeing a number of successful deployments of PowerSync with zero issues, which has made us super happy of course! 

Apart from this guiding principle, there were some specific projects we cared about that we wanted to ship in order to take PowerSync out of beta. These are detailed in the next section.

Critical path out of beta

Our internal priorities for getting out of beta were: 

  1. releasing a web SDK,
  2. implementing usage metrics and 
  3. ensure the system scales and is stable 

Web SDK

There is a rising interest in local-first architectures for web apps, and we felt that PowerSync wasn’t a “whole product” without support for web. 

We are really excited about the architecture of our Web SDK: we extended wa-sqlite in order to compile it with our Rust-based common SDK core that is used across all platforms. We then implemented a common JS SDK package that uses this modified wa-sqlite to open the database.

We currently have demo apps built using React and Angular, with more framework examples on their way. We also dogfooded our web SDK to build our web demo widget using Webflow Devlink.

Usage metrics

Budgeting for SaaS products is notoriously difficult. Just take a look at our pricing example. We realize that for some cases, a more empirical approach to budgeting would be preferred: run some tests, view the actual system usage metrics, and compare those to our plan limits

This was important to us because budgeting is a key component of deciding whether to use a product with a free tier and a paid tier, and we wanted to provide developers with additional options on that front.

A nice side effect of this is that it’s also trivial for users to monitor their app’s adoption without installing invasive analytics packages — “Peak Concurrent Connections” provides some insight into the number of users using your app. 

A screenshot showing usage monitoring dashboards on the PowerSync system

Scalability and stability

Keep it stable, make it scale, zero data loss. This was conceptually pretty simple, but we spent a lot of time caring about the details here to ensure solid performance in production at scale.

Product version matrix

Not everything in our stack is out of beta just yet. See below for details as of time of writing.

Subsystem Version
PowerSync service V1.0
Admin dashboard V1.0
Flutter SDK V1.0
React Native SDK V1.0
JS Web SDK Beta

Current performance limits

See Performance and Limits in our docs for details.

Customer support plans

Our goal with customer support is to provide customers with the best support experience that they’ve ever received.

More concretely, our various plans offer the following support:

  • Free plan - community support via our Discord server
  • Pro plan - community support + email support (tickets with reference numbers, secure channel, CC your team members on support tickets, easily attach files, etc)
  • Enterprise plan - support SLA, assigned Customer Success Engineer, access to our SOC2 audits, help with architecture approval diagrams, security questionnaires, etc.

Roadmap

Some highlights for our medium-term roadmap:

  • Automated billing via Stripe, with plans for budgeting features
  • Tools and resources to streamline authentication setup
  • Self-hosting of the PowerSync Service
  • Additional SDKs (Flutter Web, Kotlin, Swift)
  • Additional backend databases (MySQL)
  • A CLI interface for managing your instances
  • Incremental sync-rule reprocessing to speed up sync rule deploys

You can see our full roadmap here. We take new ideas and votes very seriously — so please go ahead and interact with it.