Dillo example

Block Party

RSVP, potluck, and neighborhood coordination.

What this demonstrates

Throwing a block party without the group-chat chaos. Anyone can RSVP, claim a potluck dish, and see who's coming — no account, no friction. The headcount updates live. This is what public write access looks like when it's done right: open to everyone, structured underneath.

How it works

The permissions are the app. This is the whole data model — schema.ts, the first of the app's three files (its import line, not shown, brings these names in from "create-dillo/schema"):

schema.ts
// The schema embedded in the live worker today (span2/live-schemas filing, re-verified at deploy).
import { anyone, integer, schema, string, table } from "create-dillo/schema";

// Block Party: open to the whole street. Anyone can RSVP and claim a dish.
// No accounts, no roles. The structure keeps it honest.
export default schema({
  Rsvp: table({
    name: string().min(1).max(60),
    headcount: integer().min(1).max(20),
  }).permissions({ view: anyone, edit: anyone }),

  Dish: table({
    name: string().min(1).max(80),
    note: string().max(120).optional(),
    claimedBy: string().max(60).optional().nullable(),
  }).permissions({ view: anyone, edit: anyone }),
});

Try it

  1. Open the live demo
  2. RSVP with your headcount
  3. Claim a potluck dish
  4. Watch the headcount tick up live