The app is yours. The data is theirs.

Bazaar is a backend where every user owns their own database. Your app is a static site that works inside it, with their permission. Login, realtime data, files and sharing from one SDK, and no server for you to run.

npm i @bzr/bazaar · React, Vue or plain JS · any static host Using a Bazaar app? What your account is for →
signed in a save syncing shared with them, still the owner's
RUNNING ON BAZAAR, WITH NO APP SERVER
BattleshipBuzzBanterBaffleBenefactorKorero

You've built the frontend. Here's the rest.

Two users or two million. Your bill doesn't move.

There's no server of yours to scale. Each user's data sits in their own account and counts against their own plan. The free plan covers casual use; people with lots of data upgrade their account once, for every Bazaar app.

Who pays for what →

Your users own the backend. Sounds limiting? It's liberating.

You give up the god-view of everyone's data. In return, a whole category of work stops being yours.

Writing access rules for a shared database private by default
Export and deletion requests by email self-serve
Worrying about data compliance, like GDPR far less on you
A user table someone could steal you have none
Servers, patches, 3 a.m. pages none to run
Guilt about shutting it down their data stays
Pressure to monetize attention free can stay free

Firebase-style DX. Solid-style ownership.

One SDK, a small fixed surface: no server code, no rules language. Small enough that you, or the AI you build with, get it right the first time.

Login Data & realtime Sharing Social Files Organizations Selling
All features →
app.js
// sign in with a Bazaar account
const bzr = new BazaarApp({ appId, loginRedirectUri })
bzr.login()

// lands in this user's own database
const notes = bzr.collection("notes")
await notes.insertOne({ text: "ideas for Sam's birthday" })

// the user decides to share
await bzr.permissions.create({
  collectionName: "notes",
  granteeType: GranteeType.USER, granteeId: samId,
  types: [PermissionType.READ],
})

See whose database each move lands in.

All six apps →
You
Opponent
Battleship Each player keeps their half of the game in their own database. The other side reads your shots, never your ships. your half ⇄ their half: read only
Author
Buzz A small Twitter. Every post sits in its author's own database, shared with everyone for reading. author DB → anyone: read
App
Buyer
Baffle Daily puzzles. Your progress is yours; level packs sell from the app's own database. app DB → buyers: read after purchase

Fair questions. Straight answers.

All questions and limits →
"No server code at all?" No, and it's not planned for now: no cron, push or calls to other services. Great for apps whose logic runs in the browser. Need webhooks? We're not your backend.
"My users need another account?" Yes, one free Bazaar account. It's also the last one they need for every Bazaar app. Still a step, and we won't pretend otherwise.
"Can Bazaar read the data?" Technically, yes: it isn't end-to-end encrypted yet. That's coming soon. What we promise is how it's used: no ads, no selling, no training. Hosted in the US or the EU, the user picks.
"Isn't Bazaar the new lock-in?" A bit, honestly. Users can export everything as a file, the server is source-available (O'Saasy), and bring your own backend is coming soon. Moving data from one app to another is planned.

Everyone pays for their own slice.

Full pricing →
You, building$0Unlimited apps. No running costs.
Your usersFree25 MB database, 100 MB files. Pro from $5/mo.
Organizations$10/moTeam, flat. Business from $25/user.

Build something that deserves its users.

Free to start. Your users pay for their own storage, so your app's success is never your bill.
Start building $ npm i @bzr/bazaar