Every file type. Every AI layer.
A single file detail surface that adapts to images, PDFs, audio, video, Office documents, and data. Six AI extractions per file, kept in a dual AI / Reviewed pattern so curators always control what publishes.

The right viewer for the right file.
A unified detail page that knows what a TIFF is, what an MP3 is, and what an EML is — and shows the right tools, fields, and extractions for each.
Image
Width, height, DPI, color space, bit depth, EXIF — preserved on import.
Native PDF.js viewer with smart text vs scanned detection.
Audio
Styled waveform player with timestamped transcript and proofreader.
Video
Native player with VTT captions, client-side thumbnails, full-viewport proofreader.
Word / Spreadsheet
Office docs and CSV / TSV with row, column, font detection.
EML / MSG with header parsing, attachment listing, body extraction.
AI says "here's a draft." Curators say "here's the truth."
Every AI extraction lives as two versions side by side — an immutable AI snapshot and an editable Reviewed version. Each field carries its own status: pending, accepted, modified, or rejected. Nothing publishes without explicit curator sign-off.
- AI Generated — immutable, read-only, what the model produced
- Reviewed — your working copy, with pristine / dirty tracking
- Per-field status: pending · accepted · modified · rejected
- Copy from AI to seed the review, then edit by hand
- Accept All for fast triage on long extractions
The metadata an archivist actually wants.
Not just an OCR dump. Six structured extractions land on every processed file — each with its own review surface.
Caption
One-sentence AI description, with an editable reviewed version.
Keywords
Auto-extracted tags with add/remove on review and live count comparison.
Transcript
Timestamped, speaker-diarized, per-entry confidence — accept or edit per line.
Entities
People, organizations, locations, dates, events, terms — confidence + source.
Locations
Geo-extracted places with type, coordinates, and confidence.
Sentiment
Overall tone (positive / neutral / negative / mixed) with breakdown bar.

Technical metadata, automatically.
Everything PREMIS expects, lifted from the file itself on upload — no manual entry, no spreadsheet round-trip.
- Image
- Width · Height · DPI · Color · EXIF
- Audio
- Duration · Codec · Bitrate · Sample · Channels
- Video
- Duration · Codec · Bitrate · Frame rate · Resolution
- Page count · Word count · Fonts · Language
- Data
- Row count · Column count · Column names
- All
- Checksum + algorithm for fixity
Upload a thousand files. Walk away.
Drag-and-drop a folder. Watch a queue with per-file progress, speed, and status. Pause, resume, retry, or remove individual files. Batch-clear completed and cancel-all when you need to.
- Status tracking: Queued · Uploading · Processing · Completed · Failed · Paused
- Per-file Pause / Resume / Retry / Remove
- Batch operations: Clear Completed · Cancel All
- Overall progress with active / completed / error counts
- Target an existing item or auto-create a new one

Throw a real file at it.
Upload an oral history, a manuscript, a TIFF, an EML — see the extractions land in minutes.