Inspiration: None of us are lawyers and everyone has signed a contract without reading it. We might sign a lease, a freelance agreement or an app’s terms of service. Getting a lawyer to review the document seemed like much effort for a normal contract. These contracts can quietly harm people. Auto renewal clauses can lock you in for another year without your notice. Arbitration clauses can take away your right to sue. Indemnification terms can shift blame onto the party in the deal. When we saw the LexHack themes about access to justice this issue felt close to home. It was not a legal problem. Almost everyone in the room had been hurt by a contract. Knew someone who had.

What it does: ClauseCheck looks at any contract, such as a lease a freelance agreement, a vendor. Terms of service. It gives you a plain English summary before you sign. You can upload a PDF. Paste the text. ClauseCheck searches for clauses in risk categories: auto renewal, arbitration, indemnification, non compete, liability, termination. It explains each clause in a sentence or two that anyone can understand. It rates how risky each clause is and gives you a score. It is like a friend who knows contract law reads it for you. Without the $300 fee.

How we built it: We divided the project into three parts that worked at the time. First a document ingestion layer takes a PDF or pasted text. Splits the contract into clauses. Second an AI layer uses the Claude API to classify each clause into risk categories and write explanations. Third a frontend shows the results with colors breaking down the risk instead of showing a wall of text. We spent a lot of time designing prompts. At first the model was too cautious. Marked everything as risky. Later it was too lenient. Missed real red flags. We fixed this by giving the model definitions and example clauses for each risk category. After iterations the output matched what a real person would notice.

Challenges we ran into: The part was not the AI itself. It was getting output from the AI. Contracts are messy. Clauses can stretch across paragraphs. Definitions can be hidden in sections. The same type of clause can be written in different ways. We built structure into the system so the model would not invent risk where there was none and would not miss clauses that were written oddly.

Parsing PDFs was a challenge. Formatting, tables and multi column layouts did not turn into text nicely. We spent time on this than we expected. We also had to keep reminding ourselves not to overreach. This tool should. Explain, not give legal advice. Drawing that boundary in the product and the UI required thought.

Accomplishments that we're proud of: We built a working end‑to‑end pipeline during a hackathon weekend. We could upload a contract and get real useful flags back. It was not a demo using a hardcoded example. We tested ClauseCheck on leases and freelance contracts from our lives. It caught clauses that we missed the time we signed. That moment made ClauseCheck feel like a hackathon project and more like something people would use.

What we learned: We learned that explaining something simply has a lot of nuance. Plain language is harder to generate than legal language because you cannot hide behind vague terms. We also learned about the limits of what AI can say and when it should be cautious especially for documents with real consequences. Practically we learned that parsing documents is often the bottleneck, not the AI.

What's next, for ClauseCheck: Next we want to expand risk categories beyond the set and make ClauseCheck adjust its flags to match each jurisdiction because tenant and labor law differ a lot from state to state. We also want to add a feature that compares a clause to a fair market version. Of merely marking a clause as risky ClauseCheck would display what a more balanced version usually looks like. In the run we want to partner with tenant unions, freelancer advocacy groups and legal aid clinics to bring ClauseCheck to the people who need it most. We want to keep ClauseCheck as a tool that empowers people, not a replacement, for legal help when they need it.

Built With

Share this project:

Updates

Submission history