N

Nexa BaaS

Coming soon

An open-source, self-hosted BaaS platform for mobile and web apps

User Guide

Authentication, data, files, push, and offline sync: what an app backend needs, all in one. It comes with 12 services, a client SDK, a developer console, and an example app, and you host the server yourself with Docker. The server features other than billing and subscriptions are implemented, and public release is in preparation.

Key Features

About

Nexa BaaS is a Backend-as-a-Service platform for mobile and web app developers. It provides, in a single server, the authentication, permissions, data storage, file uploads, and push notifications that you would otherwise rebuild for every app, and developers deploy and run it on their own servers.

12 services are currently implemented: authentication (email-verified sign-up, social login, MFA), users, groups, and permissions (RBAC), the Data API, file storage, scheduled push (reminders), offline sync, webhooks, the developer console, plan limits, usage metering, log management, and per-project OAuth credentials (BYO OAuth).

Offline sync received particular attention. Even when a client uploads changes it wrote without a network later on, the server exchanges only deltas based on revisions, and conflicts are handled by a choice of three policies (last write wins, field merge, server wins). End-to-end verification with two clients connected to a real server is complete.

Clients connect through a dedicated SDK (@nexa/sdk) with no dependencies at all. A single sync: true line on a collection makes it offline-first, with local storage in IndexedDB on the web and SQLite on React Native. In the developer console (web), you create projects and manage data, webhooks, OAuth, and usage on screen.

Multi-tenancy is handled with PostgreSQL Row Level Security, so data between projects is isolated at the database level. External technologies are wrapped in adapters so they can be replaced, and the whole thing is built with feature-level TDD in a pnpm + Turborepo monorepo. 296 server tests + 71 SDK tests are passing, and an integration suite of 16 tests that starts real PostgreSQL and Redis containers is run separately.

It has not been publicly released yet. What remains is end-to-end verification that requires real credentials (sending push, real webhook delivery, and so on), legal review of the terms, and payment integration; when preparation is complete, installation instructions and downloads will be added to this page.

Release Notes

Development status 2026-10-12 12 server services, the SDK, the developer console, and an example app are complete — not yet publicly released.

Done

  • 12 services implemented — authentication · users/groups/RBAC · Data API · file storage · reminders · offline sync · webhooks · developer console · plan limits · usage metering · log management · BYO OAuth.
  • Offline sync end-to-end verification — confirmed delta sync and conflict handling with two clients connected to a real server.
  • File storage verified with a real account — confirmed presigned direct uploads and multipart resume on real object storage.
  • Client SDK (@nexa/sdk) — 0 dependencies, offline-first collections, local storage on the web (IndexedDB) and React Native (SQLite).
  • Developer console — manage everything on screen, from project creation to data, webhooks, OAuth, logs, and the usage dashboard.
  • Example app Nexa Words — an offline-first vocabulary app. Provided as an SDK usage example, with an unsent badge, manual and automatic sync, conflict notifications, and merging of duplicate words (completed 2026-07-13).
  • Tests — 296 server tests + 71 SDK tests passing, with an integration suite of 16 tests that starts real PostgreSQL and Redis containers run separately.
  • Run and test guide — documents how to run it at each level of setup (local only / DB / Docker / real credentials) and the boundary between what is and is not implemented.

Remaining

  • End-to-end verification that requires real credentials — sending push (FCM), real webhook delivery, and the per-project Google consent screen.
  • Legal review of the terms and privacy policy drafts — a prerequisite for public release.
  • Payments and subscription billing are not implemented yet (only plan limits and usage aggregation work).

Notice

  • It has not been publicly released yet, and no downloads or installation instructions are provided. The repository is also private. When preparation is complete, installation instructions and links will be added to this page. You can preview the service layout and SDK usage concepts in the user guide.