Why I built it

AI can write a polished museum label while quietly blending three different things: what a photograph shows, what a person said, and what a curator guessed. In a learning context that blend is the problem — the distinction is the lesson.

Cabinet Press lets a learner photograph five ordinary objects, write a short note about each, and get a small exhibition back without ever losing track of which claim came from where.

What it does

From one fixed five-object Source Set, Cabinet Press produces two contrasting Exhibition Arguments. Every displayed Claim Span is typed:

  • Observable Evidence — a visible property grounded in a supplied photograph.
  • Source Testimony — an exact quotation or faithful paraphrase, linked to the exact span of the note it came from.
  • Curatorial Interpretation — an inference, but one that must cite its sources and show its rationale.

Order carries meaning too. The Sequence Spine puts oversized position numbers on each object; switch the Curatorial Question and the same five objects reorder, the thesis changes, and every "why here" rationale is replaced. A different reading can't hide behind a rewrite.

The resting exhibition is monochrome. Opening Detail reveals the owner's photograph in unretouched color — color as evidence, not decoration. Everything renders to dependency-free static HTML that works offline, plus a print-ready A5 accession card.

From intake to exhibition

Intake is a local worktable — Node and nothing else, loopback only. You name a cabinet, add five photos and notes, and it saves them to a private folder along with a generated authoring handoff any coding agent can follow.

Codex with GPT-5.6 then does the authoring: it reads the sources, proposes two contrasting Curatorial Questions, writes atomic claims with exact source pointers, sequences the objects, and writes the rationales. The workflow calls for a separate model-and-human pass to audit the semantic grounding.

After that, a deterministic TypeScript verifier checks everything code can honestly check: schema shape, source existence, locator bounds, source-kind compatibility, exact quotation matches, rationale requirements, and that the two arguments genuinely differ. It doesn't pretend to know what pixels mean or whether an interpretation is true. That line — what the model judges versus what the code proves — is the design.

How Codex was used

Codex did the heavy lifting across the whole build: it helped define the evidence/testimony/interpretation domain model, pressure-tested where the deterministic validation boundary should sit, implemented the verifier and renderer test-first, prototyped three visual directions before we picked the Sequence Spine, iterated against desktop, mobile, keyboard, accessibility, and print evidence, built the novice intake on-ramp with its security and error tests, and audited the public repository so my real photographs and notes never entered its history.

GPT-5.6 handled the curatorial judgment itself: telling source-supported statements apart from inference, developing two materially different readings of identical sources, and reviewing semantic grounding separately from the deterministic checks.

Privacy and reproducibility

The public repository contains only fabricated source material and a synthetic exhibition generated from it. My real photographs and notes live in a separate private repository and were never in public Git history.

Judges can run a single verification command: it typechecks, runs the validator and browser tests—including rejection coverage for unsupported claims—and rebuilds the synthetic exhibition.

Challenges

The hardest part was drawing an honest boundary between semantic judgment and deterministic validation. Code can prove that a quotation matches a source span or that two sequences differ; it cannot prove what a photograph means. A second challenge was keeping the real five-object cabinet private while still giving judges a complete, reproducible test path, which led to the fabricated source set and committed synthetic exhibition.

What I learned

The interesting decision was never whether to use AI. It was deciding which work should stay model-assisted and which guarantees should stay deterministic. Cabinet Press keeps the interpretive judgment visible and revisable, and makes the artifact itself reproducible, offline, and free to run.

Next steps

First, package the authoring handoff as an installable Codex skill. Later, give learners review controls over proposed Curatorial Questions and photo regions — without weakening the provenance contract.

Built With

Share this project:

Updates