Articles
Longer versions of what I post on LinkedIn, kept here so they don't disappear into the feed.
When something is broken, build around it.
2026-07-24
Gmail's MCP server wraps every link in a tracking redirect before sending. Here's the n8n webhook workaround, and why MCP doesn't have to be the only path.
“That’s not a governance model, that’s hope.”
2026-07-22
Hiring a vendor for a technology project isn't the same as having an advisor on your side of the table, and it shows up in the budget and the timeline.
The AI writing tool I built so I would stop sounding like a press release
2026-07-20
"Write in my voice" is not an instruction, it's a specification. What I learned building a tool that drafts posts against an actual voice profile.
“Don’t confuse the demo with the finish line.”
2026-07-17
Most AI pilots don't fail because the model was wrong. They fail because nobody defined what happens after the demo.
The boring problem I fixed by turning a guess into a number
2026-07-15
How a self-serve ROI calculator turns “we should probably do something with AI” into a real number, before the pricing conversation even starts.
Why I don't let my AI job search tool submit anything
2026-07-13
It searches, scores, and shortlists job listings on its own. The final call to apply stays mine, every time.
“We should probably do something with AI.”
2026-07-10
The sentence I hear most from small business owners, and why it's the wrong place to start.
The boring problem I fixed by replacing a SaaS subscription
2026-07-08
How DevTracker replaced a paid project management tool with something owned outright.
What I learned building dAvId Career Manager
2026-07-06
An AI resume tool that tailors applications in about a minute, built for my own job search first.