DEV Community

Rahul
Rahul

Posted on • Originally published at github.com

I built a tool that reads your contract and flags the risky clauses in plain English

The contract clause that almost cost my friend their side projects

A friend nearly signed a freelance contract that assigned the company all the
IP they created — including personal side projects done on their own time — plus
a 3-year industry-wide non-compete and net-90 payment terms. To them it just
looked like normal legal boilerplate. It wasn't.

Most of us sign leases, freelance agreements, NDAs and job offers we don't fully
understand, because a lawyer costs hundreds and the language is deliberately
dense. So I built a small tool to make contracts legible for non-lawyers.

What it does

Paste a contract (or the clauses you're unsure about) into
ClauseClear and it returns:

  • a plain-English summary and a risk score
  • the clauses that actually matter — each with what it means, why it matters, and what to ask for instead
  • protections that seem to be missing
  • questions to ask before you sign

It's honest that it's an AI first-read, not legal advice — but as a "should I
worry about this?" gut-check before you sign, it's genuinely useful.

How it's built

  • A tiny Python (WSGI, standard-library) backend forwards your text to a free, OpenAI-compatible LLM and asks for a structured review
  • The frontend is a single static page — risk gauge, severity-colored clause cards, copy-to-clipboard report
  • Nothing is stored. No signup. Free to use.
  • Open source (MIT): https://github.com/rahulatrkm/clauseclear

Getting the model to reliably return clean JSON (instead of chatty preamble or
truncated output) was the fiddly part — solved with a strict "output only JSON"
contract, reasoning-strip, truncated-JSON repair, and retries.

Try it

Paste something gnarly — an old lease, a gig contract, a ToS — and see what it
flags: https://clauseclear-app.azurewebsites.net

I'd love feedback on the review quality: what did it miss, and is the "suggested
pushback" actually useful or too generic?

Top comments (0)