Notes from production.
Lessons from systems we run for real clients: what broke, what held, and what we would do again. Written by the engineers who were on call, not a content team.

When the booking app won't share, own the client list
Check what your booking app shares before you add AI.
Read →

Pharmacy automation stops at the dispensing system
Every useful automation reads from the pharmacy system first.
Read →

In AI integration, the model is the easy part
Most of the work is the plumbing around the model.
Read →

A waste route is a recurring contract, not a list of stops
A waste route is a stack of contracts with a truck attached.
Read →

HIPAA-Aligned From Day One Beats Retrofitting It
Audit trails, multi-factor login and PHI masking shape the data model. Add them later and you redesign it.
Read →

A phone order is not done until it is in the POS
The AI took the order. The real question is whether it reached the kitchen.
Read →

AI consulting should end in something that runs
If your AI consultant's deliverable can't run, ask what you bought.
Read →

When the EHR has no API, the workflow is the integration
Before you pick a therapy EHR, ask what it lets other software do.
Read →

What an AI automation agency should hand you at the end
Ask your automation agency for the tests, not the demo.
Read →

What a custom member app needs from Mindbody
Your studio app should never keep its own copy of a member's credits.
Read →

Freight brokerage automation starts at the load board
A broker's day is spent sorting replies, not booking loads.
Read →

A QR code printed on a sign is a promise for its life
Metal doesn't update. Your URL has to outlive the sign.
Read →

A credit union's core is the system you design around
Design around the core, not against it.
Read →

A hotel PMS integration is mostly about rate codes
In a hotel integration, rooms are easy. Rates are the project.
Read →

A legal draft should come from checked facts, not a chat
Facts first, then the draft, then the attorney.
Read →

An Agency's AI Service Is Only as Good as Its Audit Log
Your client will ask what the AI did and who approved it. The log is the answer.
Read →

Advisor meeting notes belong in the CRM, not a transcript
The follow-up you promised a client is sitting in a transcript. Put it where the advisor works.
Read →

The property, not the customer, should own the history
Customers move. Lawns don't. Keep the service record where the work happens.
Read →

Certificate requests are an agency's quiet time sink
Most certificate requests are routine. A few aren't, and those deserve a person's full attention.
Read →

Recurring payments fail on the schedule, not the charge
Charging a card is solved. Charging it once, on the right day, is not.
Read →

Why 'what does custom software cost' has no honest range
A range quoted before anyone reads your systems is a guess with padding.
Read →

A 3PL client portal is a permissions project
The screens are the easy part. Keeping clients apart is the job.
Read →

Pest routing is a constraints problem, not a calendar
A full pest route can still lose money.
Read →

Reading from an EHR is easy. Writing back is the project
"It connects to Epic" is two promises. Only one of them is easy.
Read →

Shop-floor data is only as good as the capture step
If logging a step is slower than the clipboard, the clipboard wins.
Read →

Reading a K-1 is easy. Checking it is the job
Any tool can read a K-1. The job is checking it against what the client told you.
Read →

Dental software: the API is the real buying decision
Ask about the API before you ask about the features.
Read →

MSP ticket triage should use the PSA's own boards
Your boards changed last week. Did your AI triage notice?
Read →

Identity checks are a lifecycle, not a one-time gate
The check passed on day one, and the document expired on day 200.
Read →

An AI dispatcher books the slot. A person picks the tech
Answer, triage, book. Then hand the board to a dispatcher.
Read →

Roofing supplements are won with day-one photos
Capture once, on the property.
Read →

Telematics data is noise until someone owns the exceptions
Every alert needs an owner and a close-out.
Read →

Trial matching loses hours in the search, not the decision
Let the machine rank. Let the nurse decide.
Read →

Home-care scheduling breaks at the visit check-in
In home care, the schedule is a promise. The check-in is the proof.
Read →

A staffing agency's margin lives in the timesheet
The ATS holds the candidate. The timesheet holds the margin.
Read →

Personal injury intake is the first page of the case file
The demand letter starts on the first phone call.
Read →

Claims automation fails at the attachment, not the form
The claim form was never the slow part; the attachments were.
Read →

A vet clinic needs to know which care was missed
Paper can prove a dog was fed. It can't prove one wasn't.
Read →

A travel agency scales in the handoffs, not the itinerary
A boutique travel agency doesn't run out of ideas. It runs out of handoffs.
Read →

White-label AI for agencies breaks on client isolation
Your AI offer is one leaked record away from losing every client.
Read →

Med spa leads go cold between the ad and the booking
You pay for the lead, then it waits in five inboxes.
Read →

Cleaning companies get paid when the job closes itself
Done is not billed. In a cleaning business, that gap repeats every week.
Read →

The premium audit backlog is a data problem
The backlog is not a headcount problem. It is three copies of one file.
Read →
What Upwork's and Fiverr's 2026 numbers say about hiring developers
Small gigs are vanishing. Big projects moved elsewhere.
Read →

Email verification APIs for outbound teams (2026): accuracy, catch-all handling, price per 1,000
A 99% accuracy claim skips the addresses that bounce.
Read →

What a Storm Week Does to a Roofing Phone Line
The storm brings the calls. The crews take the answers away.
Read →

The ATS Is Not the Bottleneck
Your ATS holds the candidates. Your workflows lose them.
Read →

Law firm intake AI: route the case, never advise
Matching a case to a lawyer is logistics. Pricing the case is practicing law.
Read →

A mock recall is a data drill, not a binder
Recalls are data drills. Paper fails them.
Read →

What a ship repair yard loses to paper
Ship repair runs on systems that never met.
Read →

Voice AI ROI Shows Up in the Calendar, Not the Call Log
Calls answered is a vanity metric. Appointments booked is the business.
Read →

The landscaping quote that took three days
Landscaping bids go stale in about two days.
Read →

Why dental front desks miss calls, and what books them
The phone loses patients the practice never counts.
Read →

Hotel guest messaging at the 4pm check-in wave
One agent, a check-in line, a ringing phone and a guest texting for towels. Two of those should not be on the desk.
Read →

Staffing compliance belongs in the schedule
Checking eligibility after the shift is filled finds nothing but a record of who broke the rule.
Read →
Attendance and leave tracking for small teams: what we use, and why one record beats six tools
A leave spreadsheet has no quota and no audit trail. One employee record has both.
Read →

Where Law Firm Leads Actually Leak
The leak is between the call and the engagement letter.
Read →

The ticket rode in the truck for three days
Your invoice didn't wait on the operator. It waited on the truck.
Read →

The Matter File Lives in Six Places
Email, the DMS, the practice management system, a local folder, a shared folder, and someone's head.
Read →

The EHR Does 80 Percent, and People Copy the Rest
A logo wall of '60+ integrations' doesn't close the gap your staff re-types every day.
Read →

Healthcare Staffing Runs on Documents Nobody Can Find
A staffing firm's real product is a verified document, on time.
Read →

De-identification is where clinical AI projects get real
The model should never see the parts you can strip out first.
Read →

Clinical AI ships when a nurse signs off
Compliance is an accountability design, not a checkbox.
Read →

An unanswered alarm is worse than no alarm
A system that alarms every week and nobody reads is worse than a system that never alarms at all.
Read →

An AI phone agent for a clinic has a higher bar
A missed pizza order isn't a missed symptom.
Read →
AI phone receptionists for service businesses: how they work and what to check before you buy
Six systems in a row. A ten-minute demo call shows you where each one breaks.
Read →
AI-native CRM: what it actually means, and 6 tools that qualify
A CRM with AI bolted on still waits for you to click.
Read →

Thirteen Hours a Week on Prior Auth
Prior authorization is a fax problem wearing a clinical costume.
Read →

The T&M Ticket Graveyard
Unsigned T&M tickets become write-offs on schedule.
Read →

Everyone quotes MIT's 95%. The other finding matters more.
MIT's real finding wasn't the failure rate. It was who avoids it.
Read →

The Proposal That Died in Your Drafts Folder
Agencies decline revenue because delivery is full.
Read →

Busy Season Is a Capacity Problem
You cannot hire your way out of busy season.
Read →

The Lifts You Never Billed
Every unverified pickup is a free service or a dispute.
Read →

The Shipment You Typed Five Times
Logistics margins leak at the keyboard, not the dock.
Read →

You Find Out a Job Lost Money a Month Later
Job costing that arrives with the bank statement is history, not control.
Read →

Paper Logs Fail Audits Slowly, Then Suddenly
A binder looks fine until someone asks for twelve months of it.
Read →

Sensors do not manage sites. Systems do.
The sensor tells you the tank level. It does not tell you who fixes it.
Read →

Multi-Location Businesses Need One Phone Brain, Not Five
Five branches, five phones, five versions of the truth.
Read →

What a Detail Shop Loses While the Buffer Runs
The polisher and the phone cannot be held at once.
Read →

What a 300-Door Manager Loses to Manual Admin
Per-door profit dies in copy-paste, not in vacancies.
Read →

No-shows are a software problem
A missed booking is rarely a flaky customer. It is a confirmation loop with a hole in it.
Read →

What a Med Spa Loses to Its Front Desk
Your best leads research injectables at 9pm.
Read →

The 62 Percent Problem
Most contractor calls ring out. Few callers try twice.
Read →

Audit Trails Are the Feature Nobody Asks for and Everybody Needs
No RFP asks for an audit trail. Every regulated system eventually needs one.
Read →

Missed Calls Are Silent Churn
A missed call does not leave a voicemail. It dials the next shop.
Read →

Where Is Job 4471? The Question a Plant Answers by Walking
The floor already knows where the job is. Your system just isn't asking it.
Read →

What a Cold Snap Does to a Plumbing Dispatch Desk
One freeze turns a plumbing shop's Tuesday board into a queue no desk can rank by hand without automation.
Read →

The 4:50 Call: The New Patient Nobody Called Back
The phone rings while the desk is checking someone out. That patient becomes someone else's.
Read →

Invoices, Permits and Inspections: The Contractor Paperwork Worth Automating First
The job gets done. Your paperwork behind it is where the money leaks, and where automation earns first.
Read →

No-Heat vs No-Cool: How an HVAC Triage Rule Should Work
A triage rule is a ranking, not a script.
Read →

Your Supers Know Things Your Accounting Learns Three Weeks Later
The gap between the site and the office isn't a technology problem. It's three weeks wide, and it costs you every month.
Read →

Your Clinic Loses a Receptionist Every Two Years
Veterinary front desks burn out faster than they can be replaced.
Read →

What an HVAC Company Loses After Hours
The 11pm no-heat call is the profitable one.
Read →

What a Summer Surge Does to an HVAC CSR Desk
One heat wave turns a calm phone line into a queue nobody controls.
Read →

The service drive is full and the phone is on hold
61% of customers still book service by phone. The average hold runs 9.3 minutes, and the BDC is covering sales first.
Read →

The Saturday 3pm Portal Lead Nobody Claims
A buyer taps a Zillow listing on a Saturday afternoon. By Monday, your CRM still says unclaimed.
Read →

The Load Moved. Proof of It Did Not.
The truck delivered on time. The paperwork to prove it is still somewhere in someone's inbox.
Read →

The 8am counter, three deep, and the phone won't stop
Up to 21% of automotive service calls go unanswered or mishandled. The misses cluster at drop-off and pick-up.
Read →

The 5:15 Inquiry: The Law Firm Call Nobody Answers
Your receptionist leaves at five. The best leads don't call before then.
Read →

The 2am maintenance call
56% of owners say maintenance support is why they hire a PM at all. The line still rings the wrong phone.
Read →

The 2am Burst-Pipe Call: How a Plumbing Triage Rule Should Work
A plumbing triage rule is a ranking an AI line and a dispatcher both run, not a script.
Read →

Multi-Tenant AI Needs Isolation You Can Prove
A prompt telling the model to stay in its lane is not an access control.
Read →

No Power vs One Dead Circuit: How an Electrical Triage Rule Should Work
An electrical triage rule is a table an AI line and a dispatcher both run, not a guess.
Read →

Maintenance Agreements: The HVAC Revenue Nobody Bills on Time
Membership revenue leaks in the gaps nobody is watching.
Read →

Insurance AI wins where the rules are written down
The best AI target in insurance already has a rulebook. Use it as the spec.
Read →

HVAC Job Costing: Where the Margin Actually Goes
Revenue lives in the FSM. Real cost lives in four other places. That gap is where margin disappears.
Read →

Busy season you can't hire your way out of
There aren't enough accountants to hire your way through another busy season.
Read →

Batch Files Still Run the Insurance Industry
The carrier does not have an API. It has a folder on an SFTP server.
Read →

A quote takes 25 minutes and the prospect gives you 15
The gap between a quote and a prospect's patience is where agencies quietly lose new business.
Read →

Webhooks break quietly. Design for the day they do.
A webhook is a promise, unverified.
Read →

The engineer you interview should be the engineer who joins
Senior in the interview, junior on the invoice.
Read →

The App Store Is the First Auditor Your Startup Meets
Apple reads your app before any investor.
Read →

The Agent Loop Is Mostly Error Handling
The loop is 50 lines. Production is everything.
Read →

Task limits are how no-code tools tell you to leave
Metered pricing charges you more for working automation.
Read →

Subagents are how big agent jobs stay reliable
One big context degrades. Splitting fixes it.
Read →

RPA Clicks Buttons. Agents Make Decisions.
RPA replays. Agents hold a goal and decide.
Read →

Pick a boring stack. Spend the novelty on the product.
Spend your novelty budget on the product.
Read →

Phone Trees Trained Customers to Hate Automation
A menu sorts you. A conversation listens.
Read →

OpenAI or Anthropic is a portability question
The real cost is switching later.
Read →

If You Cannot Run an Eval, You Do Not Have an Agent
A demo with opinions is not an agent.
Read →

Multi-agent is an architecture tax. Pay it late.
More agents multiply failure modes, not output.
Read →

MCP puts your data one tool call from the model. Act like it.
Every MCP server is a capability granted.
Read →

MCP turns every integration into the same integration
N times M adapters become N plus M.
Read →

Guardrails Are Code, Not System Prompts
System prompts are wishes. Guardrails are rules.
Read →

Context is an engineering budget
Bigger windows moved the decision, not removed it.
Read →

Build on the Agent SDK when the loop is the product
Pick the framework by where the agent sits.
Read →

Agentic Coding Pays Off Under Code Review
Your review process sets the agent's speed.
Read →

A technical co-founder is not the only way to get technical
The advice costs a year, half your company.
Read →

A Model Upgrade Is a Breaking Change
Your model moves on the vendor's schedule.
Read →

A Receptionist That Cannot Book Is an Answering Machine
Picking up the phone is easy. Writing a correct booking is the job.
Read →

An AI Receptionist Is a Systems Build, Not a Subscription
A voice model can talk. Turning it into a receptionist is the build.
Read →

An MCP server is an API with opinions
Wrapping an API in MCP is easy. Making a model use it well is the job.
Read →

Automations fail silently, and that is the expensive part
A stopped automation doesn't error. It just goes quiet.
Read →

Bubble is a real platform when you engineer on it
It fails as magic. It holds as a platform you engineer on.
Read →

Human-in-the-Loop Is a Feature, Not an Apology
The approval step is not a workaround for a weak model. It is the design.
Read →

Meeting notes are where decisions die
A transcript is storage. It is not the same thing as a task.
Read →

n8n is a codebase. Treat it like one.
A workflow that runs your operations needs a rollback plan.
Read →

Off-the-shelf tools quit before your business does
The tool that got you started was built for someone else's business.
Read →

Outbound AI calls work when the job is narrow
Voice AI fails at persuasion and succeeds at errands.
Read →

An AI agent is production-ready when failure is boring
Readiness is not what the agent gets right. It is what happens when it gets something wrong.
Read →

Structured output is the contract between model and product
Free text is a demo. A schema the rest of your stack can check is a product.
Read →

Vapi, Retell, Bland: The Platform Is Not the Product
The platform choice is the smallest decision in a voice AI build.
Read →

A Claude developer is a systems engineer, not a prompt writer
The prompt is the smallest file in the repository.
Read →

You did not outgrow automation. You outgrew Zapier.
The ceiling you're hitting belongs to the tool, not the idea.
Read →

Your vibe-coded app is not 80% done
The demo working is the first 20%, not the last.
Read →

A Voice Agent Without Call Review Is Unaccountable
If you cannot read what your agent said yesterday, you are running calls on faith.
Read →

Agentic RAG Is RAG That Knows When to Look Again
Classic RAG retrieves once and hopes. Agentic RAG checks its work first.
Read →

Agents Earn Trust One Tool Call at a Time
An agent is only as reliable as its riskiest tool call.
Read →

AI belongs inside the workflow, not instead of it
Replace the whole process with AI and you lose the parts that worked.
Read →

An AI Receptionist Needs an Escalation Plan Before a Voice
Write the list of calls it must never take before you pick a voice.
Read →

An automation that needs a babysitter is not done
If someone re-runs it every Monday, you built a job description.
Read →

Bad RAG Answers Start in the Ingest Pipeline
The wrong answer shipped weeks before anyone typed the prompt.
Read →

Hallucinations are a system design problem, not a model bug
Waiting for a model that never hallucinates is not a plan.
Read →

The board wants AI. Give them a system, not a demo.
A mandate produces a demo by default. Push it toward a system instead.
Read →

Voice Agents Fail on Names, Numbers and Noise
The demo call is quiet. The real call has an impact wrench running behind it.
Read →

Your Knowledge Base Is Not Ready for RAG
The model is fine. Your wiki is a landfill.
Read →

A voice AI pilot should start with one call type
Pick one call type, prove it, then widen. Not the other way round.
Read →

An examiner will ask how the model decided
"The model said so" is not an answer a regulator accepts.
Read →

Automated Calls Have Rules. Design Consent In.
A voice agent that can dial is not the same as a voice agent that is allowed to.
Read →

Cut scope, not engineering
Shrinking an MVP has two knobs. Only one keeps the product trustworthy.
Read →

ESG Scores Should Read the Evidence, Not the Brochure
A sustainability report is marketing copy until an outside source checks it.
Read →

In Voice AI, Latency Is the Whole Experience
A two-second pause is invisible in chat and a hang-up on the phone.
Read →

Investors read your codebase now
Diligence stopped being a formality. Funds bring engineers.
Read →

SOPs nobody reads are not standards
A binder of procedures is a wish. A workflow the software enforces is a standard.
Read →

The Receptionist's Job Was Never Just Answering
Answering is one task. Reception is intake, qualification and routing.
Read →

Your agent needs a memory policy, not more memory
Memory is not a feature you turn on. It is a policy you write first.
Read →
