Back to Projects
FeaturedProject
FastAPI
LangGraph
OpenAI

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.py as entrypoint)
  • Orchestration: LangGraph (graph/workflow.py defines 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

FastAPI
LangGraph
OpenAI
Python 3.13
PyMuPDF

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.