Home Insights Pricing Case study FAQ Contact us
SWPPP

What it actually takes to produce a SWPPP, and what changed when I handed the assembly to an agent

Written by Reco Prianto, P.E., founder of Firma AI and Calichi Design Group.

A SWPPP is a soil-loss number, a set of best management practices picked off a catalog, an inspection schedule, and a thick stack of cross-references back to the grading plan. Every piece is straightforward. The work is that it’s long, it’s document-heavy, and every jurisdiction bolts its own permit framework on top of the same underlying analysis.

That combination, low judgment and high page count, is exactly the kind of work I didn’t want the professional engineer in charge spending a day on. So I handed the assembly to an agent. The interesting part is which ten percent I kept with the engineer.

What a SWPPP actually involves

Start with the trigger. A construction project that disturbs an acre or more needs coverage under the NPDES Construction General Permit. You file a Notice of Intent at the start and a Notice of Termination when the site is stabilized.

Then the soil-loss number. RUSLE: A equals R times K times LS. R is the rainfall erosivity for the site (off the EPA erosivity calculator and NOAA Atlas 14), K is the soil erodibility (from the USDA Web Soil Survey), and LS is the length and steepness of your slopes. Multiply them and you get tons of soil lost per acre per year. In California that number drives a Risk Level (1, 2, or 3) that sets how much inspection, monitoring, and sampling the permit demands, and the highest risk level across all your construction phases governs the whole job.

Then the part that’s quietly the expensive one: the jurisdiction. The RUSLE math is universal, but the permit wrapped around it is not. California runs Order 2022–0057-DWQ through the SMARTS portal, with a WDID number and the LRP, QSD, and QSP roles. Texas runs TXR150000 through STEERS and adds a Large Site Operator over five acres. Washington wants a certified CESCL. Oregon runs the 1200-C. The EPA-direct states file through NeT-CGP. Same core document, different citations, different portal, different role names, different filing checklist. Write a clean SWPPP against the wrong state’s framework and you’ve done careful work that doesn’t count.

Then the BMP plan. You read the grading and erosion control plans and pick the controls: erosion controls (hydroseed, blankets, soil binders), sediment controls (silt fence, fiber rolls, gravel bags, sediment basins, check dams, inlet protection, the stabilized construction entrance), tracking controls, and non-stormwater management (concrete washout, fueling areas, material storage, dewatering). Then you write each one into the SWPPP and point it at the sheet where it’s drawn.

Then the cross-referencing, which is the tedious heart of the whole thing. The disturbed acreage in the body has to match the cover sheet. Every sheet reference in every table has to match the real sheet numbers. The phasing in the narrative has to match the phasing on the plans. The discharge points in the site description have to match the grading plan. A SWPPP that contradicts its own plan set is the fastest way to a round of agency comments.

Then the standard sections: inspection and monitoring, a Rain Event Action Plan for the higher risk levels, good housekeeping, non-stormwater management, post-construction BMPs, the amendment log, and personnel training. Twelve sections in all. Then you assemble the package with its appendices, QC it, and a qualified person reviews it, signs it, and owns it.

If you’ve written one, none of that is news. If you manage the people who write them, you already know it’s a document-assembly day, every time.

What it used to take us

A full SWPPP package at Calichi ran most of a day to a day and then some, and almost none of that was the engineering.

I’m not going to put a measured stopwatch number on this one. Fire flow is the workflow we measured to the hour and I’ll only claim that where it’s true. What I can tell you honestly is the shape of it: the soil-loss calc takes minutes, the judgment about whether the BMP package is adequate is real but small, and everything else is research (which permit, which portal, which role names), boilerplate, and cross-referencing, done by someone who could have been designing. The honest way to find your firm’s number is to measure it on your real projects, which is exactly what the Discovery does.

How the agent does it now

The engineer emails the agent the way they’d brief a junior: SWPPP for this project, here’s the address, the grading and erosion control plans, the total and phased disturbed acreage, and the schedule. From there:

  • It resolves the state from the address and loads that state’s permit framework, the right citations, portal, role names, and filing checklist.
  • It pulls the RUSLE factors and computes the soil loss. In California it queries the Caltrans Water Quality Planning Tool in one shot for R, K, LS, the soil data, the receiving water’s 303(d) impairment status, and the region, then determines the risk level. Elsewhere it takes the same factors from the published rainfall, soil survey, and slope data.
  • It reads the plans, identifies the BMPs, and writes each one into the SWPPP pointed at the sheet it’s shown on.
  • It cross-checks the disturbed acreage, the sheet references, the phasing, and the discharge points against the plans, which is precisely the work a tired person skips at hour seven.
  • It builds the document from the firm’s permit template (never from scratch), fills the twelve sections, binds the appendices into a single submission-ready PDF, and produces a client info request so the owner can hand back the WDID, the responsible-party names, and the contractor details.
  • It routes the whole package through a separate QC agent before a person sees it.

Then the finished package lands in the project folder, and the engineer picks it up the same day instead of clearing one for it.

The QC gate

I wrote a whole piece on why the independent check exists, so here I’ll just say what it catches on this workflow. The QC pass flags a soil-loss number that doesn’t reconcile, a risk level that drifts from one section to the next, a sheet reference that points at the wrong sheet, and a BMP described in the text that isn’t actually on the plan. And it catches the failure mode that’s specific to template-built compliance documents: cross-project contamination, a stray reference to another project’s name or address left behind from the template. It also independently recomputes the RUSLE factors, and it won’t ship if the confidence on the risk determination stays low.

The point isn’t that the first agent is perfect. It’s that a check which runs the same way every time catches the boring mistakes, so the qualified person spends attention on the ones that need judgment.

What stays human

The qualified person, and the signature. In California that’s the QSD who develops the SWPPP and the QSP who implements it, with the legally responsible person signing. The agent assembles the package and does the cross-referencing. The qualified professional makes the call on whether the BMP package actually fits the site, signs, and carries the responsibility. That never moves.

Where it applies

SWPPP shows up on any project that disturbs an acre or more: subdivisions, schools, commercial, public infrastructure. It’s the workflow where the jurisdiction matters most, because the permit framework changes at every state line, and that’s exactly where the manual version gets slow. An agent that resolves the framework from the project location and applies the right permit, portal, and roles turns the slowest part into the fastest.

We run it everywhere we practice, and the framework resolves anywhere in the country.

What this means for your firm

SWPPP is a good early candidate, and that’s not an accident. It’s high-frequency, it’s document-heavy, and the judgment is contained, which makes it exactly the kind of workflow you can watch run on your own projects before you trust the system with more.

That’s what the first two gates of how I deploy are for. An AI Readiness Audit to find where the highest-value automation sits across your divisions, then a Strategic AI Discovery that puts my engineers and yours on your actual workflows and produces the hours-saved picture by workflow, so you see exactly where the time goes back. Every gate is a stop or go. You only go further once you’ve watched the last step work on your own projects.

If your engineers are spending a day each on SWPPP assembly and cross-referencing, the first step is the AI Readiness Audit.

The first step

Start with an AI Readiness Audit, scoped to firm size ($5K–$12K).

1–2 weeks, scoped to firm size. We map your workflows, identify 5–7 highest-value opportunities, and hand you a written report with hours saved and P&L impact. The audit fee is credited toward deployment if you proceed.

Request an audit →