The portal is the bug
My first automation client ran a local business directory. The obvious move was to build them a custom portal, a database, a login, an admin dashboard. I didn't. And the reason I didn't is the same reason subcontractor compliance breaks down on million dollar construction jobs.
Let me explain the small version first, because the expensive version is identical.
The system that refuses to rot
The person operating that directory wasn't technical. If I handed them a control panel with user roles and a settings page, the system would work for exactly as long as I was standing next to it. The day after handoff, the first time a record needed editing and they couldn't remember how, it would start to rot. Listings go stale. The data drifts out of date. Trust erodes. Within a few months the thing I built is dead. Not because it was badly engineered, but because it was engineered for me instead of for them.
So I built it to run from email.
A business submits the web form. A script validates the fields, generates a tracking ID, and files the record as pending. The owner gets it in their inbox, formatted and complete. They reply with one word, "Activate", and the public site updates within seconds.
No login. No password resets. No dashboard. The entire system is operated from the notification shade of a phone. The stack underneath is deliberately boring: a spreadsheet for the data layer, a script for the automation, transactional email that actually reaches the inbox, and a static site that loads instantly and costs almost nothing to host. Nothing to maintain, nothing to log into, nothing to forget how to use.
That's the whole design philosophy: remove the operator's friction or the system dies. We spend enormous energy measuring front end friction, landing page drop-off, form abandonment, checkout funnels, and almost none measuring the friction on the back end, where a verification step quietly stalls because someone has to log into a tool to clear it.
Now make the stalled record worth six figures
Subcontractor compliance in construction runs on the exact same broken pattern, with much higher stakes. Before a general contractor can release a payment or clear retainage, they typically need three things from each subcontractor: a signed lien waiver, a current certificate of insurance, and a verified payment or bond status. The standard tools collect these by making the subcontractor log into a portal.
Think about who that subcontractor is. A roofer, an electrician, an HVAC crew lead. On a job site, not at a desk. They are not going to remember a password for your compliance portal, and they are not going to log in on a Tuesday to upload a PDF. So the documents come late. The verification loop stalls. And while it stalls, payment sits, in an industry that already carries the longest payment cycle of any sector, with median days sales outstanding around 80 days.
A stalled record in a directory means a stale listing. A stalled record in construction means the lien clock keeps running while the waiver sits uncollected, cash stays locked in retainage, and a CFO eventually has to explain to a surety why a subcontractor's documentation lapsed.
The friction is the same. The cost is not.
The same fix, scaled up
The solution is the one the directory build already proved: remove the login wall.
The subcontractor gets a text instead of a portal invite. No account, no password, no training, they respond on the channel they already use all day. The document gets validated against the compliance requirement, and the GC gets a clean audit trail and the waiver before it becomes a lien problem. The verification loop that used to take days closes in a fraction of the time.
I spent ten years inside enterprise risk and compliance, at TD Bank, at Wells Fargo, at Progressive Insurance, watching what stalled verification does when it runs at scale across thousands of files. The lesson that took me a decade to internalize there is the same one a one person directory build made obvious: the back end of an operation has friction too, and that friction is as destructive as anything on the front end.
It's just quieter, so almost nobody measures it.
If you build software for non technical operators, build for the day after the handoff, not the day of the demo. And if you're a general contractor watching lien waivers and COIs stall your payment cycle, the fix isn't a better portal. It's no portal at all.
If lien waivers, COIs, or subcontractor compliance are stalling your payment cycle, I'm happy to talk it through. Grab a time here.
Or just reply to this post, it comes straight to me.