Back to all projects
Developer Tool

Specimen

Feb 9, 2026

Started as a JSONBlob-style paste-and-share tool, then evolved once the real problem became clear: sharing JSON is easy; understanding the shape of a payload is harder.

Contract workbench

Specimen workbench with a JSON editor beside an inferred contract inspector

A JSON inspection workbench for saving, sharing, understanding, annotating, and evolving payload contracts from real examples.

Context

Specimen began as Fable — a minimal JSON paste-and-share tool inspired by JSONBlob. The first version did one thing well: paste JSON, save it, share a link. After using that flow myself, the more interesting problem became obvious. Teams pass around example payloads all the time, but the payload rarely explains which fields are required, nullable, enum-like, unstable, or important for specific UI states.

Specimen sits between a lightweight sharing tool and a full schema-authoring system.

Problem

Most JSON tools either stop at storage or jump straight to full schema authoring. Frontend and backend teams need something in between — lightweight contract metadata inferred from real payloads, with room to annotate fields, attach examples, and still share everything through a link.

Product

System Architecture

Specimen is structured as three cooperating systems rather than a single CRUD app:

Loading diagram…

Specimen UI — the editor, sharing flows, and collaboration surfaces. Built with TanStack Router and CodeMirror, optimised for fast paste-edit-share loops.

Contract Engine — inference and annotation logic that turns raw JSON into structured contract metadata: types, required/nullable state, enums, descriptions, and named examples.

Convex Backend — persistence, real-time sync, and shareable document storage behind the public URLs.

Keeping inference logic separate from both the UI and persistence layer means the contract engine can evolve — editable schemas, payload variants, chaos parameters — without rewriting the editor or storage model.

Current State

The core loop works well. Next steps: editable contracts, multiple payload variants (success, error, empty), and tighter frontend–backend collaboration workflows.

Aadarsh Srivastava

By Aadarsh Srivastava

Product-minded frontend engineer interested in the gap between what people need and what software lets them do.