Zvessa docs

Kits

Everything beyond the dashboard is an optional kit: a bundle a person adds to their space only if they want it. A new space has only HQ, the page and the AI chat. Kits are described once in convex/lib/kits.ts; HQ → Library lists them, and the AI can propose adding one.

What a kit is #

A kit never hard-codes a use case: "Support desk" is a space with a queue and assignment, "VIP" is a rank. People rename and restyle everything a kit adds.

The engines #

EngineWhat it is, abstractlyKits on it
CollectionsAny records with fields the AI or a person definesForms, shop, boards and tasks, contacts, docs
SpacesA place with members, roles and a stream of postsDirect chat, group chat, channels, teamspace, support desk, feed
StructureAny tree or graph of units with roles, ranks and badgesTeams and hierarchy of any kind, tiers, VIP, verified
LedgerBalances in any unit and transfersCoins, payments (Stripe), tips
RoundsAn interactive session: players, turns, timer, randomness, result, prizePolls, Hot Potato, wheel, High Card
RoomsLive audio and video (LiveKit)Calls, video, group calls, screen share, live streams
TimeResources, availability, bookings, schedulesScheduler, appointments, service page, events and tickets
LifecycleDraft, scheduled, published, archived, with approvalsDrafts, scheduled posts, requests and approvals
EventsAnything recorded, counted and rankedAnalytics, leaderboards, quests
AppsSandboxed mini-apps behind the bridgeApps, custom games, the game maker
CapabilitiesOutside services through a vault (MCP, APIs, web search)Web research, connections, auto-post
ScreensShow a page or game on another screen (TV, projector); phones act as controllersShow on TV, party games
AudiencesWho a space is for, with age-aware rules set by grown-upsKids spaces
AutomationsBots (AI teammates with a role, tools and approval rules) and when → if → do rules, schedules, webhooksBots, automations, helper bot, welcome message, reply drafts, daily digest, coins for posts

What's ready #

kitReady in convex/lib/kits.ts is the source of truth; HQ → Library shows the rest as "Soon". Engines ready: Collections, Spaces, Structure, Time, Events, Apps, Capabilities, Audiences.

KitWhat it addsServer code
Forms, Contacts, Tasks, CatalogCollections and pages with records blocksconvex/records.ts
Group chat, Channels, Feed, TeamspaceStreams (blueprint.streams) and stream blocks; channels limit writers with postRolesconvex/streams.ts
Direct chatThe direct block; DMs belong to the two people, not the spaceconvex/dms.ts
Kids spaceaudience: "kids", grown-up and kid roles, a kids' chat; the space stays private and invite-onlychecks in convex/lib/blueprint.ts
Web researchTurns on the AI's web search and page reading, plus a notes collectionconvex/ai.ts
AnalyticsAn owner-only page with the analytics blockconvex/events.ts, convex/tally.ts
AppointmentsA booking block whose props are the opening hoursconvex/bookings.ts, convex/lib/time.ts
SchedulerThe scheduled block: write now, post into a stream laterconvex/streams.ts (schedule)
Bots, Automations and recipes/bots and /automations, the Bots page (bots.* blocks); recipes are only entriesconvex/kits/bots (README there)

Counting (Events): engines call count(ctx, ws, name, userId) from convex/tally.ts. It writes only when the space has a kit in TALLY_KITS, so spaces pay nothing for what they don't use. api.events.leaders ranks people by any event; leaderboards and quests read it.

A kit can add collections, pages, streams and roles, and set an audience. Removing it takes out what it added (records stay, roles still in use stay).

Each engine's code sits in convex/kits/<engine>/ with a README.md (settings, functions, tables, blocks, kits) and its screens in src/kits/<engine>/. Spaces: convex/kits/talk. Structure: convex/kits/structure.

Party games (trivia, quiz board, survey showdown, charades, the party pack) are all Rounds with teams, a timer, scores and a screen, so the game maker can build new ones from the same parts. Group plans and Secret Santa are collections, polls and a fair draw inside a space.

The full catalog and the order they are built in: the "Zvessa kits and styles" doc in the project.