vitrinkaDocsBack to the vitrína

What vitrinka offers

An artifacts library and an annotation-board platform in a single Go binary. Recorders and agents publish what they made; humans and agents meet on a live board to mark it up; the fix comes back with its proof attached.

The loop

One sentence from a tester becomes a work item with the screen, the region and the branch already attached. A listening agent takes it off the queue, fixes it, and hangs the after-shot beside the original.

  • Capturea recorder or a CI job publishes a set — screenshots, a session, an HTML report, any files.
  • Markanyone with the link draws a region on the thing itself and says what is wrong.
  • Fixan attached agent reads the item, changes the code, and publishes the proof back to the same board.

The surfaces

Six things a board can hold, each with its own page in this documentation set.

SurfaceWhat it is
BoardsAn infinite canvas where the screen is the ticket — draw a region, write one sentence.
SessionsA replayable recording: DOM, network waterfall and console on one timeline.
JourneysScreens wired in the order somebody walked them, branches rendered as signposts.
ArtifactsSelf-contained interactive pages, live on the canvas, updated in place at the same URL.
DiagramsArchitecture generated from docker-compose, OpenAPI, a SQL schema or a live database.
DocumentsMarkdown pages bound to repo files, deep-linked to the diagram nodes they explain.

The three pieces

There is a server, the things you install on your machines, and the boards engine that renders the canvas.

PieceWhat it is
ServerOne static Go binary: HTTP API, web UI and SQLite, with blobs on disk or S3.
ClientsThe vitrinka CLI, the Claude Code / Codex plugin and its skills, and the recorders.
Boards engineA no-build vendored JS island that renders the canvas in the browser.

Where your data goes

Wherever you put the binary. Metadata in SQLite, blobs on your own disk or any S3-compatible store, and an air-gapped mode for networks that never reach the internet.

  • No third-party telemetrythe recorders send exclusively to the server URL you configure.
  • Every request authenticatedbrowsers carry a session cookie, machine clients a workspace-scoped bearer token.
  • Auditedsign-ins, role changes and break-glass use are recorded.