Source: https://www.hype-stack.dev/docs/packs-templates/packs/pack-whiteboard

# Whiteboard

A realtime collaborative whiteboard: an infinite canvas with sticky notes, freehand ink, shapes, text, images, and
frames, synced live over websockets. This is the `pack-whiteboard` pack. The
[Mind Map](/docs/packs-templates/templates/mind-map) template is built on it.

## No special integration needed

The whiteboard runs on the base services every Hype Stack app already has:

- **Postgres** for boards and their revision history.
- **WebSockets** (the template's socket router over Valkey) for live operations and presence.
- **RustFS** for images dropped onto a board.

There is no third-party account to create and no pack-specific environment variables to fill in.

## What it depends on

- A **starter pack** for auth, organizations, and permissions. Boards belong to the signed-in user's organization.

## What you get

- `/boards` and `/boards/$boardId`: an infinite canvas with pan, zoom, a minimap, and virtualized rendering so large
  boards stay smooth.
- Seven element kinds: sticky note, freehand ink, rectangle, ellipse, text, image, and frame.
- Live presence: remote cursors and selections, per user.
- Undo and redo that survive other people's edits.
- A layers panel with visibility and lock per element.
- Timestamped version history with one-click restore. Revisions are capped so the table does not grow without bound.
- Realtime operation sync and autosave through the `/ws/board` socket namespace.

Web and desktop only: this pack ships no mobile or admin surface.

## After installing

Two Prisma models arrive (`Board`, `BoardRevision`). Say yes when the CLI offers to run the migration, or run
`pnpm --filter @hype-stack/backend migration:create` afterwards.

## Environment variables

None. The pack reads the base template's `DATABASE_URL`, `VALKEY_URL`, and `RUSTFS_*` values and relies on the starter
for auth.

## Related

- [WebSockets](/docs/backend/websockets) for how the board socket router is built
- [Storage](/docs/backend/storage) for image uploads
- [Mind Map](/docs/packs-templates/templates/mind-map), the template built on this pack
