尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Understand and contest a US health insurance denial. LexHack 2026.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Understand and contest a health insurance denial — in plain English, with the deadlines and
protections that apply, and a letter you can send.
LexHack 2026 · Tracks: Access to Justice & Civic Tech (primary), Legal Automation & Workflow Innovation
Live demo: https://overturn-peach.vercel.app · Video (2:21): https://youtu.be/7gX-vRLdb3s
Try it in under five minutes with a sample document; nothing is uploaded and nothing is stored.檢視完整 README ↗Understand and contest a health insurance denial — in plain English, with the deadlines and protections that apply, and a letter you can send.
Tracks: Access to Justice & Civic Tech (primary), Legal Automation & Workflow Innovation
Live demo: https://getoverturn.xyz · Video (2:21): https://youtu.be/7gX-vRLdb3s
Try it in under five minutes with a sample document; nothing is uploaded and nothing is stored.
In 2024, insurers on HealthCare.gov denied 19 % of in-network claims — about 85 million denials. Consumers appealed fewer than 1 % of them. When they did appeal, insurers reversed 34 % of their own decisions.1
People do not skip the appeal because they agree with the denial. They skip it because the letter is unreadable, the rights are unknown, and the deadline is invisible. The system works for the people who can afford someone to read the letter for them.
A public home page, then four screens, one task each, on a phone.
| Step | What happens | Who does it |
|---|---|---|
| 1. Upload | A denial letter or Explanation of Benefits (PDF or photo), or one of seven synthetic samples. | You |
| 2. Understand | The facts, each with the exact words it came from; a plain-English summary at an 8th-grade reading level; your first deadline as a date and a countdown. | The model reads |
| 3. Rights | Five questions, then the protections and deadlines that apply to your situation — federal baseline plus state rules for California, New York, and Texas — each with a primary source. | The code decides |
| 4. Letter | An appeal letter drafted from your facts and those rights only, with visible blanks for everything Overturn does not know. Edit, download as PDF, or copy. | You send |
Every screen has a "Get free human help" button that lists the state Consumer Assistance Program and regulator. Two more pages carry the context without crowding the flow: /learn ("How appeals work": the four stages, what each state adds, FAQ, all rendered from the same rules dataset) and /about (the problem, the information-vs-advice line, privacy, scope).
The model reads, the code decides, the human sends.
data/rules/), each with a legal reference, a
primary-source URL, and a last-verified date, and a deterministic engine applies them. A
test fails the build if any rule lacks a source or is more than 45 days stale.[ADD: …] blanks, never guesses.Overturn explains what a document says and what rules generally apply. It never tells a specific person what to do, never predicts the outcome, and never claims the denial was wrong. This is enforced at three layers (prompt, product, copy), not stated in a footer. The full argument, with the line we drew and how each layer holds it, is in LEGAL_DESIGN.md.
| Not built | Why |
|---|---|
| Medicare, Medicaid, CHIP, TRICARE, VA | Different multi-level appeal systems with different deadlines. Overturn detects these documents and stops with the official link rather than applying the wrong rules. |
| The other 47 states | Each state's external-review law differs. Three states, three regulator models (CA dual DMHC/CDI with IMR, NY DFS external appeal, TX TDI IRO) prove the architecture; everyone else gets the federal baseline plus a link to their regulator, never a guess. Adding a state is about half a day. |
| Itemized bill audit (CPT codes, upcoding, duplicates) | Needs billing-code and price databases; a different product. The balance-billing check inferable from an EOB is included. |
| Sending the letter, accounts, case history | Would require storing protected health information. |
| Spanish | High impact, deferred; because rules are data and prose comes from the model, it is a cheap next step. |
Documents are processed in memory during a single request and discarded. No database, no upload storage, no analytics on content; only request timing and token counts are logged. Session state lives in the browser tab. The API key is server-side only. The demo uses seven synthetic documents (fictional insurers, people, and addresses, watermarked "SAMPLE").
Demo-grade limits are documented as such: a per-IP rate limit (3 uploads / 15 min) and an
OVERTURN_LIVE_UPLOADS=false switch that keeps the sample flow working if API credits run out.
Browser (Next.js, React) Server (Next.js route handlers, Node)
┌──────────────────────────────┐ ┌──────────────────────────────────────┐
│ Upload / sample │──multipart───▶│ POST /api/extract │
│ │ │ Claude (PDF/image in, JSON out) │
│ Understand │◀──facts+──────│ structured outputs → Zod (strict) │
│ facts w/ quotes, deadline │ summary │ readability gate, advice-word scan │
│ │ │ │
│ Rights │ rules engine │ (same engine, re-run server-side) │
│ 5 answers → computeRights() │ in browser │ │
│ │ │ POST /api/draft │
│ Letter │──situation───▶│ Claude (facts + computed rights) │
│ edit, PDF (react-pdf), copy │◀──draft───────│ guard: citations ⊆ rules, no advice │
└──────────────────────────────┘ └──────────────────────────────────────┘
data/rules/*.json ── every rule: legal_ref, source_url, last_verified
| Framework | Next.js 16 (App Router), React 19, TypeScript 5 — MIT/Apache-2.0 |
| UI | Tailwind CSS 4, shadcn/ui on Base UI, lucide icons — MIT/ISC |
| Fonts | Public Sans (US Web Design System) and Fraunces (display serif) — OFL |
| Model | Claude Opus 5 via @anthropic-ai/sdk, structured outputs, PDF and image input — server-side only |
| Validation | Zod 4 — MIT |
| @react-pdf/renderer — MIT (letter export and the synthetic sample documents) | |
| Dates | date-fns 4 — MIT |
| Tests | Vitest 5, Playwright 1.6 with axe-core — MIT/Apache-2.0/MPL-2.0 |
| Hosting | Vercel |
| Legal sources | eCFR via Cornell LII (29 CFR 2560.503-1; 45 CFR 147.136; 45 CFR Part 149), NY Senate (Ins. Law § 4904), NY DFS, California Legislative Information (HSC §§ 1368, 1374.30), Texas Public Law (Ins. Code § 4201.359), TDI, CMS, DOL EBSA — all listed per rule in |
No pre-trained models were fine-tuned. No external datasets beyond the cited legal sources. The seven sample documents were written for this project.
pnpm install
cp .env.example .env.local # add ANTHROPIC_API_KEY
pnpm dev # http://localhost:3000
pnpm test # rules engine golden table, dataset schema, guard, cached sample outputs
pnpm test:e2e # Playwright: sample flow at 375 px, axe WCAG 2.2 AA, keyboard, PDF download
pnpm gen:samples # regenerate the synthetic sample PDFs
pnpm precompute [id …] [--letters] # refresh cached model outputs (costs API credits)
Environment: ANTHROPIC_API_KEY (required for live uploads); optional OVERTURN_MODEL,
OVERTURN_EXTRACT_EFFORT, OVERTURN_WRITE_EFFORT, OVERTURN_RATE_LIMIT, OVERTURN_LIVE_UPLOADS.
MIT. The legal content in data/rules/ summarizes public law and regulator guidance; it is
information, not advice, and it carries the date each source was read.
KFF, Claims Denials and Appeals in ACA Marketplace Plans in 2024, https://www.kff.org/patient-consumer-protections/claims-denials-and-appeals-in-aca-marketplace-plans-in-2024/ ↩
data/rules/| AI tools used to build | Claude Code (Claude Opus 5) for specification, code, tests, and documentation, with Spec Kit for the spec → plan → tasks workflow. All legal content was read from primary sources and recorded with the date read. |