Examples

Patterns that ship

Copy-paste starting points for common PaperDB workflows.

Todo app with auth

Next.js · PaperDB SDK

import { createClient } from "paperdb-js";

const db = createClient({ apiKey: process.env.PAPERDB_KEY! });

// Sign up an end-user
await db.auth.signUp({ email, password, name });

// CRUD on a collection
const tasks = await db.collection("tasks").list({ filter: { done: false } });

Realtime leaderboard

React · WebSocket

const token = await db.realtime.getToken({ collections: ["scores"] });
const ws = new WebSocket(`${REALTIME_URL}?token=${token}`);

ws.onmessage = (e) => {
  const { collection, event, data } = JSON.parse(e.data);
  if (collection === "scores") refreshBoard(data);
};

Webhook fan-out

Hono · PaperDB API

// Dashboard → Webhooks → document.created
// Your endpoint receives signed payloads:

app.post("/hooks/paperdb", async (c) => {
  const payload = await c.req.json();
  await notifySlack(payload.collection, payload.document);
  return c.json({ ok: true });
});