SoilRep AI
AI-driven compliance analysis for US construction soil-lab reports.

A web-based compliance platform for a US construction company that automates the analysis of unstructured soil lab reports against government-defined state environmental standards. Historically this was expert work — an engineer reading each lab report by hand, looking up the right limit for every contaminant in the relevant state regulation, and marking what exceeded it. Soil Report replaces that with an automated, auditable workflow that runs from a raw, inconsistently-formatted PDF all the way to a colour-coded, exportable compliance verdict, so a review that took hours of specialist attention becomes a few guided clicks.
The problem sits at the intersection of two kinds of mess. On the input side, soil lab reports arrive in wildly different layouts from different labs — different tables, headings, units, and analyte names — so there is no single template to parse against. On the rules side, every US state publishes its own permissible limits, defined per analyte and per regulatory category, in dense spreadsheets that change over time. Checking a report by hand is slow, easy to get wrong, and hard to defend in an audit. The platform had to reliably normalise the messy inputs, hold the regulatory limits as structured, queryable data, and apply exactly the right rule to exactly the right value — every time, provably.
- 01
Upload a lab report
An engineer uploads a soil lab report as a PDF, exactly as the lab issued it — no reformatting, no manual data entry, and no need to match a fixed template first. The platform stores the file against a project so every analysis stays traceable back to its source document.
- 02
AI extracts every analyte
An LLM-driven extraction pipeline reads the document regardless of how that particular lab lays it out, locating and listing every analyte present along with its reported value. Because the model interprets the report rather than pattern-matching a known format, reports from labs the platform has never seen before still parse correctly.
- 03
Load the state standards
Administrators upload the government-defined regulatory standards as Excel files; the platform extracts each analyte and its permissible limit per state and per category and stores them in a structured, queryable database. Keeping the limits as data rather than hard-coded rules means new states or revised thresholds are a spreadsheet upload, not a code change.
- 04
Choose a state and category to compare
The user selects which US state standard and which regulatory category the report should be judged against. The platform then aligns each extracted analyte to its corresponding permissible limit, matching values to rules across the differing names and units the two sources may use.
- 05
Compare, flag, and export
A row-by-row comparison runs across every analyte and renders in an interactive, Excel-like preview table, with any value over the selected state’s limit highlighted automatically in a colour the user chooses. The finished comparison downloads as a formatted Excel file for submission or record-keeping, and a project dashboard tracks each uploaded report and its compliance status at a glance.
AI-powered PDF extraction
An LLM-driven pipeline parses uploaded lab reports regardless of how each lab formats them, intelligently identifying and listing every analyte present in the document — with no manual data entry.
Standards management
Administrators upload state-specific regulatory standards as Excel files; the platform extracts each analyte and its permissible limit per state and category and stores them in a structured, queryable database.
Interactive comparison
Users pick a US state standard and a regulatory category to compare against an uploaded report; the platform runs an analyte-by-analyte comparison and renders it in an interactive, Excel-like preview table.
Automatic non-compliance flagging
Analytes that exceed the selected state's permissible limits are automatically highlighted in a user-chosen colour, so non-compliant values jump out immediately instead of hiding in a spreadsheet.
Export & project dashboard
Finished comparisons download as formatted Excel files for submission or record-keeping, and a project dashboard tracks every uploaded report and its compliance status at a glance.
React JS frontend
A React JS single-page app drives the whole workflow — upload, standards management, state and category selection, the interactive comparison table, and the project dashboard — presenting the analysis as a familiar, spreadsheet-like interface rather than a raw data dump.
Python extraction backend
A Python backend orchestrates the pipeline end to end: it accepts uploaded PDFs, runs the LLM-driven analyte extraction, matches results against the stored standards, and assembles the comparison that the frontend renders.
LLM-driven report parsing
The core of the system is an AI extraction step that interprets each lab report’s contents instead of relying on a fixed layout, which is what lets the platform absorb the format variance between labs without bespoke parsers for each one.
Excel ingest & structured standards store
An Excel-processing layer reads the regulatory standards workbooks into a structured, queryable store of analyte limits keyed by state and category, and generates the formatted Excel exports on the way out — so both the rules coming in and the results going out live in the spreadsheet format this domain already works in.
Have a project like this?
Tell us what you're building — thirty minutes with an engineer, not a salesperson.