ContractScan

Renting an apartment, signing a job offer, lending money, buying a gym membership — ordinary people sign contracts every day, but nobody can actually read the dense legal clauses. Traps like "deposit non-refundable", "salary may be suspended", or "final interpretation rights reserved by the merchant" only surface after you've signed.
ContractScan turns "hire a lawyer to review this" into upload a file → get a report in 3 minutes: every risk is explained in plain language with a suggested revision and ready-to-use negotiation wording, and a four-level red / yellow / blue / green rating shows at a glance what must be changed and what can be ignored.
Contract files are parsed entirely in your browser and never uploaded to any server — AI analysis only receives the extracted text; original files stay in local browser storage.
Key Features
Any input format
Text-based PDFs are parsed directly in the browser; scanned PDFs are auto-detected, rendered page-by-page, and OCR'd; photos, screenshots, and pasted text all work.
Two-tier analysis
A free local rule engine instantly scans 17 common risk categories (non-refundable deposits, excessive penalties, non-competes…); on-demand AI deep analysis verifies the flagged suspects — about 3-5k tokens per call, roughly ¥0.02-0.05.
A report you can read
Overall risk rating plus clause statistics, with safe clauses auto-collapsed; click "locate in original" and the contract auto-scrolls to the clause, highlighted by severity; edit inline and re-analyze; export as Markdown.
Operator console
One-click AI provider switching (Kimi / DeepSeek), in-page API key configuration, per-call token usage and cost tracking, clause-level risk distribution, and a TOP 8 high-frequency risk board.
How It Works
A side-by-side report page: the original contract on the left (sticky, click-to-locate), the risk report on the right.
1.1 Monthly rent of ¥3,000, payable before the 5th of each month.
1.2 Deposit of ¥6,000. If the lease ends early, the deposit is non-refundable.
- Clause 3 · Non-refundable deposit
- Clause 8 · Unilateral rent increase
The deposit is agreed to be non-refundable — you may lose it on early exit.
Real product screenshots to be added: drag-and-drop upload on the home page, the side-by-side report view, and the operator console.
Tech Stack
A privacy-first full-stack design: contract parsing, text normalization, Markdown structuring, and the base rule analysis all run in the browser; the server only proxies AI calls and stores operator configuration.
Stack: Next.js 16 (App Router) · React 19 · TypeScript · Tailwind CSS v4 · Zustand · pdfjs-dist · Tesseract.js · Kimi / DeepSeek (OpenAI-compatible APIs) · Framer Motion · bun
Links
Roadmap & Status
Base analysis is free forever; AI credits are pay-per-use (5 for ¥6 / 20 for ¥19 / 60 for ¥49, credits never expire) or subscription (free tier 3/month · basic ¥29 for 50 · pro ¥99 unlimited). Purchases take effect on click — real payment is not yet integrated.
Planned next:
- OCR accuracy improvements (image preprocessing, PaddleOCR-WASM)
- Multimodal AI fallback that reads PDF page images directly, solving garbled-font PDFs
- Contract comparison: diff two versions with highlighted changes
- Real WeChat Pay / Alipay integration, PWA offline support, shareable report cards
- User-defined risk rules (pro tier), test coverage, and security hardening
This tool is for reference only and does not constitute legal advice. Please consult a qualified lawyer for significant contracts.