
Your software gets more expensive every time you hire
Per-technician pricing means your software bill rises every time the crew grows. Here is that arithmetic on your own invoice, and what I built instead.

Insights, strategies, and tips to help your business thrive in the digital age

Per-technician pricing means your software bill rises every time the crew grows. Here is that arithmetic on your own invoice, and what I built instead.

A PHP flaw became unauthenticated remote code execution with no workaround, so banks and governments went dark on purpose. What happened in Lansing, and why.

The expensive hiring failure is not a bad hire — it is a good one who took another offer while their CV sat unread. And the fix has real legal limits.

The arithmetic on document automation, done honestly — including the volumes where the answer is don't buy this yet, which is most of them.

Not a chatbot. The queue — renewals, claim documents, applications — where a person opens each file and types the same six fields into another screen.

Usually the answer is no. I built the platform, which is the only reason saying so carries any weight — here is how to tell which problem you have.

Across 456 wellness businesses I swept, 0.5% ran an actual platform. The cost of a spreadsheet is not inefficiency — it is the client nobody knew was due.

I audited 456 Michigan wellness sites. 217 threw JavaScript errors at phone width — and not one of those businesses had any way to know.

My own company's .com had an empty DNS zone. Not slow, not ranking badly — refusing the connection outright, and nothing anywhere reported it.

An autonomous client paid for its own API call in stablecoins. The payment was the easy half — the interesting half is the record of what it was refused.

If a paid promoter makes a false or undisclosed claim about your clinic, the FTC's exposure lands on you — not on them. What to require instead.

The most expensive failure in applied AI is the one that looks like a success. Here is the test that catches it, and why it has to be able to fail.

A real offer promises 10 million views in 90 days or you do not pay. Here is the division that tells you what you are actually buying.

Automated posting is banned on every platform. The ban is the small problem — the real one is selling an asset you cannot keep alive.

The question founders ask third and should ask first — platform terms, the human-authorship problem, and what to get in writing from any developer.

The honest framework, including the cases where starting over is right and the cases where you should ship what you have and change nothing.

A customer hitting a broken signup does not file a ticket. They leave. If nothing is watching, broken and healthy look identical from where you sit.

Not a lecture about coverage. Tests are what let you change software later — and without them an app is finished in the worst sense.

Every agency says it. Almost none say what failing the test would look like. Here is the checklist, with the failure beside each line.

The most common fault in an AI-built app, explained without jargon, with a two-minute check you can run on your own app today.

Your AI answered everything you asked, accurately. The faults that bite live in the questions a non-developer has no reason to ask.

The gap between "it runs" and "a stranger can use it" is not more features. It is a short list of unglamorous things nobody told you about.

The last of ten. Number ten on a list of future-dominant careers was a handyman business. I own one, I built the software it runs on, and it is the entry I would defend hardest.

Post nine of ten, and a job I hold. Ninety-six Lambdas across three sets of infrastructure code. The skill is not building them. It is knowing which thing is allowed to change which.

Post eight of ten. I am in the middle of this one rather than out the other side, so treat it as a progress report rather than advice.

Post seven of ten. Anything can make a chart now. The scarce skill moved to the part before the chart, and almost nobody is hiring for it.

Post six of ten. I have never worked in climate tech, know nobody who has, and have no data. Here is what I am not going to do about that.

Post five of ten, and a job I sell. The word is doing more work than people realise, and the businesses it fails for are predictable.

Post four of ten. Making content got free. Being accountable for what it claims did not, and that gap is where the actual work moved.

Post three of ten, and the first one I hold. I have 51 scheduled automations running a real business. Building them was the easy part and not the job.

Post two of ten. The one on the list I most disagree with — not because no-code is bad, but because the ceiling is in a specific and predictable place, and it arrives exactly when the business starts working.

The first of ten posts on a viral careers list. I hold four of these jobs. This is not one of them by title, but it is by function, and the function is not what the title suggests.

2.86 million one-person companies registered in half a year, with state-funded compute and free offices behind them. Roughly 80% fail inside twelve months. The reason is the thing AI did not change.

A model that returns typed values with calibrated confidence instead of prose. I have spent a year taking models out of systems, so here is where I would put this one back in, and the one place I would not.

My first live x402 settlement cost half a cent. The payment worked first time. Getting to it took three fixes, and every one was drift between what the scaffold was written against and what actually exists.

A readiness probe blocked by the task's own IAM role, and readonlyRootFilesystem silently killing ECS Exec. Both look like broken infrastructure.

An honest comparison from someone who sells the third option — including the cases where the off-the-shelf product is the better buy and I am not.

Most teams ship an AI feature and have no answer past spot-checking. What an evaluation harness actually contains, and the failure it usually misses.

Three systems where I deliberately chose regex and a lookup table over an LLM, and the two questions that decide which one a problem needs.

What a coding agent's context file has to contain when the repos it touches are live, and the day I found the file preventing disasters had no backup.

Four invented statistics shipped to my own live website. The fix was not a better prompt — it was an allowlist of every number the copy may contain.

Four of the six were the same shape and none was visible by reading the code. Then the suite went green and the bots still had nothing.

The error names the symptom and not one component that caused it. Object.assign let a parsed connection string overwrite the function minting the IAM token.

The whiteboard is not the problem. Depending on one person's memory is — and here is exactly where the work leaks out of a trades business.

I own a handyman company in Michigan. Every quote, job and invoice runs through software I wrote myself — $216,291 invoiced through it. What I built, how it works, and what it proves.

I own a handyman company and wrote every line of software that runs it. $216K invoiced, 55,000 lines, one engineer — and everything that broke along the way, including the week of payroll a cleanup job quietly deleted.

Eight things separate a forward-deployed engineer who lands from one who gets sent home. Four of them leave a trace in your git history. Four leave none at all — and pretending otherwise is how measurement goes wrong.

The whole playbook: what I build for local service businesses, what it costs, and the advice I'd give you before you hire anyone — including me.

154 of 456 Michigan clinic and med spa sites show their phone number as plain text, not a link. 55 of them had nothing else wrong. Here's the one-line fix.

Nearly half had a JavaScript error on the homepage and a third had a phone number you cannot tap. The full count from 456 Michigan clinic and med spa sites.
Get the latest tips and insights delivered to your inbox.