go-oversync

go-oversync — PostgreSQL adapter for multi-device sync

A set of libraries that add two-way sync between client databases and PostgreSQL servers.

What is go-oversync?

go-oversync is a Go library suite designed for applications that need reliable synchronization between local client databases and a central PostgreSQL backend, across multiple devices and platforms.

Use it when you want to:

It includes:

Why go-oversync?

How It Works

You control the server: go-oversync provides libraries that integrate into your existing HTTP server. You handle routing, middleware, authentication, and business logic.

Multiple client options: Use the Go SQLite client for Go apps, or the Kotlin Multiplatform client for Android/iOS apps. Both sync with the same PostgreSQL adapter. More client libraries are coming.

Simple integration: Register your tables with go-oversync, add a few HTTP handlers to your routes, and the library handles change tracking, conflict resolution, and sync protocol details.

Flexible authentication: Works with any auth system — JWT, sessions, API keys, or custom authentication. You extract user/device IDs and pass them to go-oversync.

Key Features

Client Libraries

Go SQLite Client (This Repository)

Kotlin Multiplatform Client (Separate Repository)

Both clients sync with the same PostgreSQL backend using identical protocols, ensuring perfect compatibility across platforms.

Ready to try it?