Refract UI — Visualizer
Browser-only app for exploring exported Refract event lines. The file is read in your browser; the viewer does not fetch source histories or send uploaded data to a backend. Evidence bundles and saved review reports are separate formats.

Quick start
Section titled “Quick start”git clone https://github.com/refract-org/refractcd refractbun installcd apps/uibun run devOpen http://localhost:5173. Sample data loads immediately. Drag your own .jsonl file onto the upload zone to inspect it.
Generate data to visualize
Section titled “Generate data to visualize”refract export "Bitcoin" --from 369361755 --to 369393212 --format ndjson > bitcoin-events.ndjsonThe bounds select a two-revision span. The event types depend on the analyzers and available inputs; choosing a depth does not ensure every type appears.
Panels
Section titled “Panels”Timeline
Section titled “Timeline”Every event in the order the file lists them. Click any event to see the diff. Filter by event type with the tag buttons in the toolbar.
Diff Viewer
Section titled “Diff Viewer”Word-level diff of before → after for the selected event. Removed text is shown struck-through in red, added text in green.
Citation Churn
Section titled “Citation Churn”Bar chart of citation additions, removals, and replacements per revision, plus a table of every citation change.
Certainty Timeline
Section titled “Certainty Timeline”The panel titled "Model confidence": one dot per event on the model_interpretation layer, placed by its confidence score. Dots are color-coded: green (≥70%), yellow (40–69%), red (<40%). Events exported by the CLI are on the observed layer, so the panel is empty for them.
Disputes
Section titled “Disputes”Revert clusters, edit velocity per day, and talk page activity timeline.
Language Changes
Section titled “Language Changes”Card grid of sentence observations — first seen, modified, removed, or reintroduced.
Schema Inspector
Section titled “Schema Inspector”Every JSON key in the loaded data with inferred types and presence percentage.
Export
Section titled “Export”Download filtered data as JSON, JSONL, or CSV using the toolbar buttons. Filters apply to exports — narrow by event type first, then export.