Shared work, current state.
A Kanban board where cards move as your team works — and everyone sees it happen. Every change is checked against current team membership. You're either on the team or you're not; the board knows. Realtime without the chaos.
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"):
// The schema the live backend serves today (span2/live-schemas filing, re-verified at deploy).
export default schema({
Card: table({
lane: string().min(1).max(32),
teamId: relation.team(),
title: string().min(1).max(160),
}).permissions({ view: members, edit: members }),
});