CheckMate
FastAPI + LangGraph service that extracts submittal requirements from specs and verifies submittal packages using an LLM + OCR pipeline, with optional Procore automation.
Overview
Construction GCs and project engineers spend a disproportionate amount of time on submittals. This project targets that specific pain: "Did this submittal package actually satisfy the spec requirements?" not just "Did someone attach a PDF?" It's a backend service that classifies submittal packages, extracts requirements from specs, and verifies them using an LLM + OCR pipeline.
Problem: Submittals Are Painful to Review
Specs live in 100–1000+ page PDFs, and submittal packages are a mix of cutsheets and scanned images. Manually checking evidence line-by-line leads to slow reviews and inconsistent coverage. This tool automates the verification process to ensure compliance.
How it works
LangGraph Workflow
The LangGraph workflow orchestrates extraction, classification, requirement filtering, and parallel verification, then collapses everything into a structured report.
Architecture & Features
Architecture
Built with a robust Python stack designed for reliability and scalability.
- Backend framework: FastAPI (
main.pyas entrypoint) - Orchestration: LangGraph (
graph/workflow.pydefines the workflow graph) - Language model: OpenAI LLMs (via
OPENAI_API_KEY) - Text extraction: PyMuPDF for standard PDFs; OpenAI OCR for blank/image-only pages
- Procore Integration: Scaffolding to run directly from Procore submittal workflows via webhooks
Tech Stack
Automated Verification
Extracts requirements and verifies submittal packages against them using LLM reasoning.
Structured Reporting
Produces a detailed report with status (✅, 🟡, ❌, ❓), evidence snippets, and reasoning.
LangGraph Orchestration
Models the entire verification sequence as a directed graph for explicit and debuggable workflows.
Procore Integration
Designed to integrate directly with Procore workflows, automating the review process for GCs.
Future Vision
“Long term, I want an AI layer that understands the contract docs, specs, submittals, and RFIs end-to-end, and continuously surfaces risk to project teams—instead of leaving everything buried in PDFs and email threads.”