Risk Triage
Every contract gets a plain-language verdict: Accept, Needs Review, or High Risk. Backed by clause-level findings, not a black-box score.
An AI-powered contract review platform built for construction professionals. Surfaces risk clauses, flags missing exhibits, and delivers role-specific analysis to executives, project managers, and legal reviewers in seconds.
Built with Jenny Florey
Stack: Python, FastAPI, PostgreSQL, RAG
Status: Live in production
Context
A missed indemnification clause or a buried liquidated damages provision can cost a subcontractor far more than any single job is worth. Yet most people reviewing these contracts are doing it manually, under time pressure, without legal backup.
The problem is not that people are careless. It is that the documents are designed to be read by attorneys, and most of the people signing them are not attorneys. Contract Connection closes that gap.
Jenny brought the domain knowledge. She is active in real estate and has seen firsthand what contract misreads cost. I brought the technical architecture. We built it in a Hatchathon competition sprint and won, but the underlying need is real.
Functionality
Upload a contract or an entire package of documents: prime contract, exhibits, schedules, CAD drawings, subcontracts. The system processes all of them together, detects how they relate to each other, and runs analysis across the full set.
Every contract gets a plain-language verdict: Accept, Needs Review, or High Risk. Backed by clause-level findings, not a black-box score.
Consequential damages, indemnity, limitation of liability, liquidated damages, payment terms, change orders, termination, warranty, insurance, and dispute resolution are evaluated automatically.
Every finding links directly to the exact location in the source document. No hunting, no trust-me summaries.
When your main contract says one thing and an exhibit says another, the system flags it.
If a contract references Exhibit B and Exhibit B is not in the upload, the system tells you.
Ask questions in plain English and get relevant contract sections back with citations. Batch queries supported.
Analysis results export to print-ready PDF, editable Word document, or Excel workbook with Executive, PM, and Legal sections.
Full Spanish translation of the results interface, with automatic language detection for uploaded documents.
Layout & UX
A contract review tool that dumps everything into a single wall of text is not useful. The analysis output in Contract Connection is organized by role, because what a CEO needs is not the same thing a project manager needs, and neither of those is what outside counsel needs.
Related documents are grouped into Cases, one case per project or contract package. Analysis runs across the whole case. Status tracks through draft, analyzed, needs review, and complete.
Construction contracts are rarely a single clean PDF. The system detects section boundaries automatically, attributes findings to the correct section, and surfaces cross-section conflicts without requiring the user to split the document first.
A slide-out help panel surfaces page-specific guidance without navigating away. A legal glossary covers 20+ construction contract terms with plain-language definitions and risk indicators.
| Role | What they see |
|---|---|
| Executive | Risk verdict, contract risk score, dispute resolution summary, and high-level flags. One screen, one decision. |
| Project Manager | Compliance checklist, payment terms, change order provisions, deadline exposure, and actionable fix list. |
| Legal | Full flagged clause text with explanations, cross-reference conflicts, source citations, and governing law detail. |
Security & Privacy
This is the question every construction firm should be asking before uploading contract documents to any AI tool, and most are not asking it loudly enough. Contract Connection was built with a clear answer.
The system uses Retrieval-Augmented Generation (RAG), not fine-tuning. Documents are chunked, embedded, and stored in an isolated, encrypted vector database per user. When you run an analysis, only the relevant chunks are sent to the AI model. The model processes them and discards. Your documents are never retained by the AI provider. All supported AI providers are configured with API settings that explicitly opt out of training data use.
Each user data set is cryptographically isolated. Row-level security is enforced at the database layer. An audit log tracks every access and action.
TLS 1.3 in transit. AES-256 at rest. Standard practices, applied consistently.
The architecture supports cloud, BYOK, and on-premises deployment modes, including local models through Ollama-compatible systems.
Analysis limits are enforced server-side. Redis-cached LLM responses prevent duplicate API calls. GZip compression is used on API responses.
Technical Architecture
FastAPI backend, PostgreSQL for relational data, Redis for caching, Pinecone for production vector storage, and ChromaDB in local development. Deployed on Railway with auto-deploy from GitHub. The application supports five LLM providers with a unified interface.
OCR is handled via Tesseract with multi-language support. DWG/DXF CAD files are processed through ODA File Converter for text extraction, a practical concession to the reality that construction projects produce CAD output alongside documents.
OpenAI, Anthropic, Google Gemini, xAI Grok, and Ollama are all supported behind a unified interface. The system is built so the provider choice is yours, and changing your mind does not require touching the codebase.
Notes
Contract Connection is a case study in applied AI that is actually useful in a domain where the stakes are real. It is not a proof-of-concept or a demo. It is deployed, it runs, and the problem it solves is one that a lot of industries besides construction have too.
If you are building something in a similar space, domain-specific document analysis, role-aware AI output, multi-tenant RAG with real security requirements, I'd be glad to talk.
If you are building something that needs domain judgment, careful systems thinking, or practical AI support, send me a note.