Inspiration
The difficulty in making a warranty claim lies in the fact that all the necessary evidence is dispersed in receipts, photographs, labeling of the item, and the warranty itself.
The idea for ClaimKit came from a straightforward problem: providing a person with tools to organize his evidence, see what is missing, and file an application—without claiming that AI could validate his claim.
What it does
ClaimKit turns supplied warranty evidence into a source-linked, human-reviewed claim packet.
A user can:
- Start with the bundled fictional CafeLux sample or add PDF, PNG, and JPEG evidence.
- Process a receipt, product photo, issue photo, and supplied warranty terms with GPT-5.6.
- Review extracted purchase facts beside the exact document page, excerpt, or image region.
- Confirm, edit, or reject every proposed fact.
- See a deterministic readiness result based on reviewed facts and cited policy terms.
- Resolve a missing serial number by photographing a label, entering it manually, or acknowledging the gap—with provenance kept distinct.
- Generate and edit a factual warranty request.
- Complete an explicit accuracy checkpoint before a packet can be finalized.
- Copy, print, or share a review-ready packet and manually record later submission status.
- Review the complete event history in plain language.
ClaimKit never contacts a retailer or manufacturer. The packet remains Draft — not submitted until the user records otherwise.
How we built it
ClaimKit is a mobile-first Next.js 16, React 19, and TypeScript web application deployed on Vercel.
GPT-5.6 runs server-side through the OpenAI Responses API with store: false and strict Zod structured outputs. It handles document and image extraction, receipt and warranty-term matching, photographed serial-label reading, and factual claim drafting.
The model proposes observations; deterministic application code controls every consequential transition. The product enforces:
- immutable source references with document, page or image location, exact excerpt, and normalized image region;
- separate
source_backed,user_statement, and non-finalmodel_inferenceprovenance; - confirmation or rejection of every extracted fact;
- readiness labels based only on reviewed evidence and cited supplied terms;
- mutually exclusive manual and photographed serial provenance paths;
- contradiction, prompt-injection, fabrication, and unsupported-conclusion blocking;
- file type, file count, per-file size, total size, and PDF page limits;
- protection against replacing a draft with unsaved edits;
- a three-part human accuracy gate before packet finalization;
- copy, Web Share, and safe print fallbacks.
Uploaded bytes are processed in memory and are not written to application storage. Claim state remains in the current browser session. There are no accounts, analytics, retailer integrations, or external claim submission calls in the MVP.
For a reliable public judge rerun, the bundled fictional sample uses live, schema-validated GPT-5.6 processing and then a disclosed deterministic normalization. Custom uploads remain on the live model path.
Codex served as the implementation lead. It translated the PRD and nine design references into the responsive information architecture and state machine; implemented typed fact, source, term, draft, evidence, status, and audit contracts; built the GPT-5.6 extraction, vision, matching, and drafting boundaries; generated the synthetic evidence; added adversarial and acceptance tests; and completed production and browser verification.
Primary Codex session ID: 019f7c59-0f01-79c2-a75a-76b7dce7682d.
Challenges we ran into
The hardest challenge was provenance. A receipt fact, a user’s problem description, a model inference, and a photographed serial are not interchangeable. ClaimKit had to keep those origins explicit throughout review, drafting, and the final packet.
We also needed to prevent a helpful drafting model from becoming overconfident. The draft may restate reviewed facts and the requested resolution, but it cannot invent evidence, authenticate a file, claim a defect was proven, predict eligibility, or promise an outcome.
A second challenge was demonstrating a realistic claim without using personal or merchant data. We generated a fictional receipt, two-page warranty, product photo, issue photo, and serial label with known facts and one intentional missing-data path.
Accomplishments that we're proud of
- A complete evidence → review → readiness → draft → packet flow.
- Live GPT-5.6 document, image, serial-label, and factual-drafting paths.
- One-tap navigation to exact excerpts, pages, and image regions.
- Explicit source-backed versus user-statement provenance throughout the product.
- A deterministic readiness result that never becomes an approval prediction.
- A human accuracy gate before packet finalization.
- Safe manual status tracking with no false claim-submission automation.
- Thirteen automated provenance, safety, file-boundary, and packet tests.
- Fresh production verification from the fictional sample through the final packet with no browser warnings or errors.
What we learned
The most useful consumer AI often organizes evidence instead of making the final decision. Showing where a fact came from—and what is still only a user statement—creates more trust than a polished letter alone.
We also learned that missing information should be modeled explicitly. ClaimKit does not silently fill the serial gap; it offers three transparent paths and carries the chosen provenance into the final packet.
What's next
Future versions could add authenticated, encrypted claim storage; consent-aware collaboration; reminders; reusable product profiles; better mobile capture such as auto-crop and glare detection; attachment-aware PDF export; and carefully scoped manufacturer contact directories. Automated submission and outcome guarantees would remain outside the product boundary.
ClaimKit organizes supplied information. It does not provide legal advice, authenticate evidence, submit claims, contact manufacturers, monitor outcomes, or guarantee approval.
Built With
- codex
- gpt-5.6
- next.js
- openai-responses-api
- playwright
- react
- typescript
- vercel
- zod
Log in or sign up for Devpost to join the conversation.