Source code is private.
Live: dump2form.com
Converts messy, unstructured text into clean, structured form data. Define a template, paste raw input, get extracted fields - with confidence scoring and source provenance so you know exactly what to trust and what to review.
Stack: Next.js · TypeScript · Supabase · Claude API · Gemini · Zod
Calling an LLM and parsing its response is easy. Making extraction reliable enough to trust in a real workflow isn't.
Most AI extraction tools return a response and call it done. Dump2Form treats the LLM output as untrusted input - it validates against a schema, scores confidence per field, and maps each value back to its source span in the original text. Low-confidence fields are flagged for human review rather than silently accepted.
Next.js (UI + API routes)
├─ Template builder → Zod schema definition
├─ Extraction pipeline
│ ├─ LLM call (Claude API / Gemini)
│ ├─ Schema validation (Zod)
│ ├─ Confidence scoring per field
│ └─ Source provenance mapping
├─ Web-lookup enrichment for missing fields
├─ Multi-format export (CSV / JSON / Excel)
└─ Supabase → auth, templates, extraction history
Schema-constrained extraction - LLM output validated against a Zod schema matching the template. The model can't return freeform text where a date or enum is expected. Invalid output is rejected and re-requested, not surfaced to the user.
Two LLM providers - Claude API and Gemini serve different tasks based on benchmarked output quality for specific extraction types. Provider choice is an architectural parameter, not a fixed dependency.
Confidence + provenance layer - the differentiator. Without it, users have no way to know which fields are reliable and which might be hallucinated. With it, the tool is usable in workflows where accuracy matters.
250+ templates built · 500+ fields extracted · sub-10s average fill time