Use this real-world example of a basic chat app to gauge your PowerSync usage and costs, on the Pro plan of PowerSync Cloud. This is not an exact estimate, but it can help you better understand how your PowerSync usage would be billed on the Pro plan.
This use case has the peculiarity that all data is user-generated and necessarily shared with other users (in the form of messages). More typical use cases might sync the same server-side data with many different users and have less user-generated data to sync.
To illustrate typical costs, consider an example chat app, where users can initiate chats with other users. Users can see their active chats in a list, read messages, and send messages.
For this app, all messages are stored on a backend database like Postgres. PowerSync is used as a sync layer to make sure users see new messages in real-time, and can access or create messages even when their devices are offline.
Daily Active Users (DAUs) are 10% of total app installations. These are the users that actively open and use your app on a given day, which is typically a small subset of your total app installations. For the calculations below, we estimated DAUs as 10% of the total number of app installations. We use this assumption as an input to calculate the total number of messages sent and received every day.
Peak concurrent connections are 10% of DAUs. This is the maximum number of users actively using your app at exactly the same time as other users, which is typically a small subset of your Daily Active Users. For the calculations below, we estimated peak concurrent connections as 10% of the total number of app installations.
Data size, transfer and storage assumptions:
Messages are 0.25 KB in size on average. 1KB can store around half a page’s worth of text. We assume the average message size on this app will be a quarter of that.
DAUs send and receive a combined total of 100 messages per day, generating 100 rows in the messages table each day**.**
Message data is only stored on local databases for three months. Using PowerSync’s sync rules, only messages sent and received in the last 3 months are stored in the local database embedded within a user’s app.
No attachments synced through PowerSync. Attachments like files or photos are not synced through PowerSync.
One PowerSync instance. The backend database connects to a single PowerSync instance. A more typical setup may use 2 PowerSync instances: one for syncing from the staging database and one for the production database. Since staging data volumes are often negligible, we’ve ignored that in this example.