Back to Blog
ai-agentweb-searchpermitscompliancetrades

I Built an AI Permit Research Agent for a Contractor

How I built an AI permit research agent that finds the jurisdiction, drafts the packet, and flags when a contractor isn't licensed for the job.

By Mike Hodgen

Short on time? Read the simplified version

The Real Problem: Permits Are a Tax on Time, Not Skill

I built an AI permit research agent for an owner-operator electrician, and the reason had nothing to do with his electrical work. The man is excellent at pulling wire. What was killing him was everything that happens before he touches a single circuit.

Here's the part of the trades nobody puts on the website. A solo operator gets a job two towns over and suddenly he's starting from zero. Different building department. Different online portal. Different submittal requirements. Different fee schedule. The work is the same, but the paperwork is a brand new research project every time.

So before he can quote the job with any confidence, he's on the phone for an hour getting bounced between departments. He's hunting through a county website that looks like it was last updated in 2009. He's downloading PDF forms that may or may not be current. Half a day gone, and not one productive minute of it was electrical work.

This is the unglamorous reason small contractors leave money on the table. The friction of the front end makes them either pad their quotes to cover the uncertainty, or skip jobs in unfamiliar jurisdictions entirely. Either way they lose.

The paperwork is annoying. But the genuinely dangerous part is the second question almost nobody stops to ask in the rush to land the work: am I even allowed to do this job?

A job that looks like a panel swap can quietly include a component that falls outside your license classification. Miss that, and the permit headache becomes the least of your problems. That's the real risk I wanted to put a guardrail on, and it's why this turned into more than a paperwork tool.

What 'Agentic AI' Actually Means Here (Not the Hype Version)

"Agent" has become one of those words that means everything and therefore nothing. Every vendor has agents now. Most of them are a chatbot with a new label. So let me define exactly what I mean before the skeptic in you checks out.

Comparison diagram showing a chatbot as a single question-answer transaction versus an agent that runs a multi-step decision loop to reach a goal Chatbot vs Agent comparison

A chatbot answers one question and stops. You ask, it responds, the transaction is over. Useful, but limited.

An agent takes a goal and a few inputs, then takes multiple steps on its own to reach that goal. In this build, the model (I used Claude) does the following without me holding its hand at each turn: it web-searches, it reads what it finds, it decides what to look up next based on what it just learned, and it produces a structured result at the end.

That decision loop is the whole point. The job address and the scope of work go in. The agent figures out the jurisdiction, finds the right permitting authority, identifies which permits the scope triggers, and assembles a draft packet. It isn't following a rigid script. When a search comes back ambiguous, it searches again, the way a competent person would.

Now the honest limit, because this is a mofu article and I'd rather you trust me than be impressed. The agent does not file anything. It researches and it drafts. It stops before the irreversible action every single time.

That's not a shortcut I took to ship faster. It's a design decision. Every AI system I ship stops for a human at the point where a mistake becomes expensive or permanent. The agent does the tedious research nobody wants to do, and then it hands a reviewed draft to the person who's accountable.

This is agentic AI for contractors doing real work, not a demo on a conference stage. It's a researcher that never gets tired, pointed at the exact problem that wastes the most time.

How the Agent Researches the Permit and Finds the Jurisdiction

Inputs: address and scope of work

The owner gives the agent two things. A job address. And a plain-English scope of work, something like "replace a 200-amp panel and add three circuits." No special syntax, no form to learn. He describes the job the way he'd describe it to another electrician.

That's the entire input. Everything else is the agent's job.

The research loop

Step one: resolve the address to a jurisdiction. This sounds trivial and it absolutely is not. A given address might be governed by a city, a county, or sometimes a special district, and the answer determines everything downstream. The agent works out who actually has authority over permitting at that location.

Vertical flowchart of the AI permit research loop from address and scope through jurisdiction, authority, permits, and fees, with a re-search loop and confidence-based outcomes The permit research loop (4-step process)

Step two: find the permitting authority and its portal. Once it knows the jurisdiction, the agent web-searches for the correct building or electrical department and locates its online submittal portal or process. Some jurisdictions are clean and well-organized. Many are not.

Step three: identify which permits the scope triggers. A panel replacement plus added circuits typically means an electrical permit and a specific inspection schedule. The agent maps the described work to the permit types that work requires.

Step four: pull the submittal requirements and fee structure. What forms, what attachments, what it's going to cost. The agent assembles this from the actual jurisdiction's published information.

Throughout this loop, when results conflict or look thin, the agent re-searches instead of running with the first thing it found. That re-search behavior is what separates an agent from a single lookup.

Now the failure modes, because they're real. Some jurisdictions have genuinely terrible websites. Some publish outdated fee schedules. Some bury the real requirements behind a login the agent can't reach. When that happens, the agent does not guess. It flags the finding as low-confidence and tells the owner this one needs a phone call.

That honesty is the feature. A confident wrong answer is worse than "I'm not sure, verify this." Grounding the agent in what it can actually find, and being upfront when it can't, is what makes the output trustworthy.

Drafting the Application Packet (The Part That Saves Hours)

Once the agent knows the jurisdiction and the permits, it drafts the packet. This is where the half-day disappears.

Before and after comparison showing a half-day of permit paperwork friction replaced by a reviewed draft packet produced in a few minutes Before vs After: half-day of paperwork vs reviewed draft in minutes

It fills the application fields from the address and scope. It writes a description of work in the language the department expects, not the casual phrasing the owner typed in. Departments have a vocabulary, and a description that uses it sails through review faster than one that doesn't. The agent translates.

It lists the required attachments so nothing gets discovered missing after submission. And it produces a fee estimate so the owner can quote the job accurately instead of padding for uncertainty.

Here's the honest before-and-after. What used to be a half-day of phone tag, PDF hunting, and form-filling becomes a reviewed draft in a few minutes. Not because the agent is magic, but because it does the boring lookup-and-assemble work continuously without getting distracted or tired.

The crucial caveat, again: the owner reviews and files. The agent never submits anything to a government portal. It hands over a draft, the owner checks it against his judgment and his knowledge of the job, and he files it himself.

This is the human-in-the-loop line in practice. The packet is a starting point the owner actually trusts, because it's grounded in his specific jurisdiction's published requirements rather than generic boilerplate that sounds right and isn't. He's reviewing real research, not editing a guess.

The Part That Actually Matters: License Scope Checking AI

Mapping scope against the license classification

The permit research saves hours. The credential check is what protects the business, and it's the reason I'm proud of this build.

Diagram showing the AI model interpreting scope while a deterministic rules engine checks it against verified license classifications to produce a go or no-go decision License scope check (model + deterministic rules engine, go/no-go)

Before the agent finalizes anything, it runs a license scope check. It maps the requested scope of work against the contractor's actual license classification. Not what the model assumes the contractor can do. What the contractor is actually licensed for, on file, per his real classifications.

The example logic is straightforward to explain. An electrical classification covers the panel swap and the added circuits, so that's a green light. But say the scope also mentioned relocating an HVAC unit. That's a different mechanical classification, and depending on the refrigerant work, possibly a federal certification on top of it. Structural changes, plumbing, gas lines, each gets flagged against what the license actually authorizes.

When the answer is 'say no'

The most valuable output this agent produces is not a permit packet. It's a sentence like: "This job includes a gas component you aren't licensed for. Sub it out or decline."

That's the whole game. Working outside your license is how you lose the license, eat the liability when something goes wrong, and void your insurance coverage at the exact moment you need it. One job taken outside scope can end a business that took years to build.

The agent turns a quiet compliance risk into a clear go/no-go decision before the owner commits. That's worth more than any time savings.

A point on how this is built, because it matters for trust. The model interprets the scope, that's the fuzzy part it's good at. But the scope-to-license mapping is deterministic rules the owner can audit. I don't let the model improvise on something this consequential. I lock the AI to known facts instead of letting it invent answers. The license classifications are the owner's real ones, entered and verified. The model reads the job and proposes which classifications it touches; the rules engine checks those against what's actually on the license.

So the dangerous question, the one nobody stops to ask, now gets asked automatically on every job. That's the difference between a convenience tool and a tool that protects the company.

Why I Build It This Way: Research Is AI's Job, Submitting Is Not

Step back and the design principle is simple. AI is excellent at open-ended research and drafting. It is the wrong tool for the irreversible, accountable action.

Filing with a government body is irreversible and accountable. The owner is attesting that the scope is accurate and that he's authorized to do the work. A model should never be the one signing that attestation, no matter how good its research was. So the agent does all the heavy lifting and stops at the gate.

This is the same logic behind the kill-switches I build into every system. There are places AI is forbidden from acting on its own. It can recommend, draft, and flag. It cannot pull the trigger on the thing that's hard to undo.

Now the limitations, stated plainly so you can make a real decision. The agent is only as good as the public information it can find. Some jurisdictions genuinely require a phone call, and the agent will tell you so rather than fake it. The license logic has to be set up correctly per state and per trade up front, because classifications differ everywhere and the rules engine is only as accurate as what's loaded into it.

This isn't magic. It's a researcher that never gets tired pointed at a tedious, expensive task, paired with a guardrail that never forgets the owner's scope. That combination is mundane in description and genuinely valuable in practice. The skeptic in you should be reassured by exactly how unglamorous that is.

This Pattern Works for Any Regulated Trade

The electrician was one example. The pattern underneath is general.

Infographic of the universal regulated-trade pattern: research the rules, draft the paperwork, check against license, and stop before the irreversible action, applied across electrician, plumber, GC, and HVAC trades The universal pattern for regulated trades (research, draft, check, stop)

Research the rules. Draft the paperwork. Check the work against what you're actually authorized to do. Stop before the irreversible action. That sequence applies to any business operating under a license or inside a regulated environment.

A plumber faces the same jurisdiction-by-jurisdiction permit maze. A general contractor juggles multiple classifications on a single project. An HVAC company carries federal certifications that scope checks should enforce automatically. Step outside the trades and the shape is identical for anyone whose work involves filings, licenses, and compliance stakes where a wrong move is costly.

This is how I think about AI for traditional small businesses generally. Start with the boring, expensive, error-prone task that eats hours nobody bills for. Automate the research and the drafting. Then put a hard guardrail on the dangerous part so the tool protects the business instead of exposing it.

I run a DTC fashion brand and I've built fifteen-plus AI systems across my own operations and for clients. The ones that actually stick all share this shape. They do the tedious work tirelessly and they refuse to act where a human has to be accountable.

If you run a business where the paperwork is slow and the compliance stakes are real, this is the kind of system I build. Not a chatbot bolted onto your website. A working agent aimed at the specific task that's costing you time and risk.

Want to explore what AI could do for your business?

Book a free 30-minute strategy call. No pitch deck, no sales team, just a real conversation about your operations and where AI actually fits.

Book a Discovery Call

Get AI insights for business leaders

Practical AI strategy from someone who built the systems — not just studied them. No spam, no fluff.

Ready to automate your growth?

Book a free 30-minute strategy call with Hodgen.AI.

Book a Strategy Call