
I’ve spent two careers doing the exact same thing—turning messy inputs into clean, reliable structures—in two very different mediums. First, it was nearly 20 years in residential construction in Canada. Now, it’s building AI workflows and multi-agent loops.
And in both industries, I’ve had to jump the exact same hurdle.
No matter what you’re building, the foundation is straightforward. Whether it’s setting up formwork for a foundation or wiring an API to read a database, the structural work is always the most important aspect of the build. But in software (non-physical) systems, the code does the heavy lifting. It’s fast, it’s cheap, and it can handle deterministic rules with minimal effort.
Then you hit the last 10%. The nuance layer, the judgment calls, and the edge cases where binary logic completely falls apart.
Right now, I’m building two separate systems that hit this exact data ceiling in precisely the same step of the build. The first is an automated link-injection engine for an automatic blog production workflow, where the system sources, validates, and embeds relevant third-party links into blog posts for a probate real estate client. The second is a podcast research and outreach agent that scrapes show directories, identifies active shows, pulls host details, and drafts pitches for me (I like being a guest on podcasts to develop brand awareness and authority).
Both systems rely on traditional platform APIs to pull raw data and run on pretty elaborate, hard-coded rules. But both systems break down the moment they encounter the need for nuanced human context.
The Binary Trap: Where Deterministic Code Breaks
Code performs a very harsh, binary triage: It’s either a “Yes” or a “No.”
In a traditional setup, you code parameters to handle basic validation. For the link injection tool, that means checking if a URL returns a 404, making sure it isn’t a spam site, or confirming the page isn’t ten years out of date. For the podcast scraper, it means verifying that the show is active, logging recent episode dates, and pulling the host’s email for outreach.
The computer code handles all of that all day long. But code cannot reason, and this is where AI has (and will continue to) boost the accuracy and functionality of software systems.
I’ll explain what I mean.


