The Problem
A missing kill clause means working for free when a client ghosts. A vague IP clause means surrendering work you didn’t intend to. The information to catch these exists — most freelancers just can’t access it.
Contract Redline runs a freelance contract through a three-stage AI pipeline and returns a severity-ranked report across the eight risk categories that actually matter in project-based work — with the verbatim clause and a specific suggested fix for every finding.
What You Get
Paste a contract. Every finding includes five things — not just a flag.
Each result in the report surfaces: a verdict (FLAGGED / PARTIAL / CLEAR), a severity level (HIGH / MED / LOW), a plain-English explanation of the risk, the verbatim clause that triggered it, and a concrete suggested fix — what specifically to ask for in negotiation. Not a summary. Not a score. Actionable output.
Kill Clause / Early Termination
No termination provision found. Client can end the engagement at any point with no obligation to pay for work completed.
IP Ownership
Work-for-hire clause present but no carve-out for pre-existing tools or frameworks. Everything you bring to the project transfers on delivery.
Payment Terms
Net-15 payment terms with a 1.5% monthly late fee. Standard and enforceable.
The Eight Categories
Opinionated scope. Deliberate exclusions.
The eight categories cover the highest-frequency risks in project-based freelance work: Payment Terms, IP Ownership, Kill Clause & Early Termination, Scope & Revision Limits, Liability Cap, Non-Compete & Exclusivity, Indemnification, and Dispute Resolution.
NDA and non-solicitation were deliberately excluded from v1. NDA analysis requires understanding what’s actually confidential — which needs more context than a general-purpose tool can reliably provide. The disclaimer on every report is explicit: not legal advice, not tailored to any specific jurisdiction, and the operator accepts no liability for decisions made based on the output. It leads the footer of every result — not buried as fine print.
How the Pipeline Works
Three stages. One request. No streaming required.
Extraction — Claude Haiku via tools parameter
A single Haiku call extracts every legally significant clause and tags each one by type (payment, ip, termination, scope, liability, noncompete, dispute, indemnification, other). Structured output is enforced via the Anthropic SDK’s tools parameter — not JSON prompting. If no clauses are found at all, the tool returns a distinct error immediately rather than fabricating eight FLAGGED results for blank input.
Evaluation — 8 parallel asyncio tasks
Eight concurrent tasks evaluate each risk category simultaneously via asyncio.gather(return_exceptions=True). Each task only receives the clauses whose type matches that category — extraction tags gate evaluation, so evaluators never re-scan the full document. If a category has no matching clauses, the verdict is constructed deterministically with no LLM call. If a task fails, it returns an ERROR sentinel — one bad category never blanks the full report.
Assembly — pure Python, no LLM
Results sorted HIGH → MED → LOW → CLEAR → ERROR. Flagged count and high-severity count computed. Report returned. No third AI call.
deterministic · no extra latencyDesign Decisions
Small calls that add up.
- CLEAR cards collapsed by default — the report leads with what needs attention, not with confirmation that most things are fine. You scroll to the all-clear, not past it.
- Loading screen cycles through category names — makes the parallel pipeline visible without streaming complexity. The user sees evaluation happening, not a spinner with no signal.
- Opinionated thresholds, disclosed — the scoring reflects one freelancer’s real experience negotiating contracts, not an average of legal standards. That’s a strength if you’re building for the same kind of freelancer. It’s said clearly on every report.
- Warmup ping on page load — fires a lightweight request to keep Railway’s free tier warm before the user submits a contract. The first real request isn’t the cold start.
- No auth, no file upload, paste-only — deliberate for the demo. Zero friction between landing and result.
What’s Next
v1 is the pipeline. v2 is the product.
- File upload (PDF / DOCX) — paste-only was the right call for a demo, but most real contracts arrive as files. Text extraction is the next unblock.
- NDA and non-solicitation categories — excluded from v1 because they require more context than a general-purpose pass can reliably provide. A document context stage would make them viable.
- Jurisdiction-aware mode — the tool currently makes no jurisdiction assumptions, which is honest but limits specificity. A toggle (US / Canada / UK / Other) could gate jurisdiction-specific threshold logic without overstating coverage.
- Shareable report links — right now results exist only in the session. Persist the report and generate a link, and a freelancer can share it with their lawyer or client for negotiation.
- Auth + report history — once reports are persisted, history becomes the product. Compare how a client’s contracts change over time, or track your own risk tolerance shift as your rate goes up.
Outcome
A working risk analyser. Built from real experience, not averaged legal standards.
The pipeline runs end-to-end: extraction, parallel evaluation, and deterministic assembly in one request. Structured output enforcement means the tool fails loudly on bad input rather than returning fabricated confidence. The scoring is opinionated because vague tools give vague advice — and freelancers negotiating a contract need something actionable, not a disclaimer.