Reframe
Read anything, beautifully — without a word rewritten
Paste an article, PDF or link and get back a lossless, visual reading experience — headings, callouts, definitions and comparisons made explicit — while every word stays the author’s own.
Product Engineer & Designer
2026
Private build — demo on request
AI summaries lose the author's voice and quietly drop detail. Reframe takes the opposite promise: it never rewrites your material, it re-architects it into callouts, definitions, comparisons and steps.
The source is parsed and split into deterministically addressed units before any model runs. The model — Groq's llama-3.3-70b behind a rotating key pool — only returns block types and unit ids; the server rehydrates every word from the original.
Without an API key it runs in a clearly flagged demo mode on deterministic heuristics, so it always works and costs nothing to try. Analytics and feedback flow to a Google Sheet through Apps Script.
People read long material — papers, docs, articles — and AI summaries are the usual shortcut. But a summary paraphrases, drops detail, and can confidently state things the author never wrote.
Reframe set out to make long text easier to read without changing a single word of it: find the structure that was always implicit and make it visible.

- 01
Parse
Markup is structure, not content — headings, lists and tables are parsed directly rather than classified by a model.
- 02
Address
Text is split into deterministically addressed units like p0 and l1_0.
- 03
Classify
The model receives numbered units and returns block types, unit ids and short scaffolding words — about 15 output tokens per block.
- 04
Verify
assertCoverage checks every unit is used exactly once; any highlighted value must be a quoted fragment of its unit.
- 05
Rehydrate
The server rebuilds every body field from the source text, and the reader renders the blocks.
Lossless by construction
The model has no channel to emit body text — it returns addresses — so paraphrase is structurally impossible rather than merely checked.
Coverage guarantee
Every source unit must be referenced exactly once. Missing or duplicated content throws and the section falls back to plain text.
Quoted fragments
Any number or date the model highlights must be a literal substring of its unit, or the block is demoted to prose.
Demo mode
Works with no key and no cost, clearly labelled in the interface.
Addresses, not text
Once the model can only return ids, verbatim stops being something to check and becomes a property of the architecture — and output cost drops sharply.
A verifier that can't fail isn't one
An early fidelity check reported 100% verbatim while the model rewrote sentences in an unchecked field. Every guarantee now has a test that fails before its fix.
Plain-but-complete beats polished-but-lossy
Any coverage or fragment violation demotes the block to prose instead of dropping or inventing content.
Write the divergence down
An ADR described a pipeline that no longer existed. Recording what actually runs — and when it changed — is now part of the process.
- →PDF and link ingestion polish for the students-first wedge.
- →Cross-device sync once the validation metric gates pass (v0 is localStorage-only).
- →Replace Sheets analytics with a real store after the gates pass.

Want something like this?
I can build one for you.
Tell me what you have in mind — I'll reply with questions, a plan and a quote.