尚未检测到更新。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. |