I got a 4-star Google review last week that bothered me more than it should have.
A long-time patient wrote that he’d never paid a “copay” at our urgent care clinics before — and this time we charged him $37.50 out of nowhere. He was confused. He felt blindsided.
Here’s the takeaway before I go deep: the review wasn’t really about $37.50. It was about the fact that patients can’t tell a copay (a flat fee per visit, like $25) from coinsurance (a percentage of the bill you owe after insurance pays its share) — and honestly, neither could I until I had to learn it running these clinics. When the person paying the bill and the person running the clinic are both confused, the fix isn’t a better explanation. It’s a picture. So I built one: eob.arcs.health, a free visual tool the front desk walks patients through at check-in.
Let me back up to the actual moment.
I called our office manager. She pulled up his account and walked me through it: his insurance carries 25% coinsurance, not a copay. The visit cost $150. Insurance paid $112.50. He owed $37.50. His earlier visits had landed at zero patient responsibility for reasons that had nothing to do with this one — claims denied then reprocessed, or his deductible (the amount you pay out of pocket each year before insurance starts paying) had already been met.
He wasn’t wrong to be confused. The math was right. The surprise was real.
The Real Problem
My office manager said something that stuck: “Patients don’t understand the difference between copay and coinsurance. I try my best to explain it, but most don’t get it.”
This is where I almost made the wrong call. My first instinct was to write a tighter script for the front desk — a cleaner way to say the same words. But that’s still just telling. And telling wasn’t working, not for patients and not for me when I started.
This isn’t one review. It’s an operational leak:
- Staff time spent re-explaining benefits, visit after visit
- Patients blindsided by bills they didn’t see coming
- Reviews that chip at the reputation we’ve built
- Collection friction when patients don’t understand why they owe what they owe
I needed to show patients their benefits, not tell them.
The Solution
I built a simple visual tool: eob.arcs.health
It’s designed for front desk staff to use at check-in. They walk the patient through four quick steps while the patient watches a visual breakdown update in real time:
- Visit cost — “Your urgent care visit costs $150”
- Deductible check — “Do you have a deductible? How much is remaining?”
- Insurance coverage — “Your insurance pays 75%, you pay 25%”
- Final breakdown — a big, clear visual showing exactly what they’ll pay today
The key is the animated visual bar that shows the money flowing — insurance’s share filling in one color, the patient’s share in another, growing and shrinking as the numbers change:
the mechanism — how the visual bar actually works give me the detail
The app is a single-page React component with no backend. All state lives in three controlled inputs — visit cost, deductible remaining, and coinsurance percentage — and the bar re-renders on every keystroke. No form submit, no loading spinner, no API call.
The animated fill is a plain CSS transition on width:
.insurance-fill {
width: var(--insurance-pct); /* e.g. "75%" */
transition: width 300ms ease;
background: #4f46e5;
}
.patient-fill {
width: var(--patient-pct);
transition: width 300ms ease;
background: #e11d48;
}The percentages are derived values, not stored state — React recalculates them from the three inputs and passes them as CSS custom properties. The “aha moment” for patients is that the bar moves as the front-desk staff types, so it feels like a live demonstration rather than a form.
Built with Lovable (AI-assisted React + Tailwind scaffolding), deployed to a custom subdomain via Cloudflare Pages in a few clicks, zero server costs. The whole thing is a static HTML export — share it as a URL, bookmark it on an iPad, done.
Try it: open the app, set coinsurance to 25%, then slowly drag the deductible slider from $0 to the full visit cost and watch how the patient’s share grows. That animation is the patient education moment.
Patients can literally see their $150 visit split between what insurance covers and what they owe. No insurance jargon — just dollars and percentages they can follow.
This is the tool I wish someone had shown me when I was trying to make sense of my own insurance.
Why This Matters
Sometimes you have to build the tool that doesn’t exist yet.
The commercial options for patient cost estimation are either:
- Too expensive for a small operator
- Too complex — they require full EHR integration (EHR is the electronic health record software that runs a clinic; “integration” means wiring your tool into it, months of work)
- Built for pre-visit estimates, not point-of-service education at the counter
I needed something a front desk staffer could pull up on an iPad in 30 seconds and walk a patient through before they leave. So I built it with Lovable in about two hours.
What’s Next
I sent the tool to my front desk team this morning and asked for honest feedback:
- Does it actually help, or just add time?
- What’s confusing?
- What’s missing?
If it works, great — we’ve solved a real problem. If it doesn’t, I’ll fix it or scrap it. The goal isn’t perfect software; it’s solving the operational problem of patients not understanding their bills.
I also replied to that Google review with a link to the tool and an acknowledgment that we should have done better. Hopefully he — and other patients — find it useful.
For other urgent care operators: if you’re dealing with the same patient confusion about benefits, feel free to use this. It’s free and open. If you have ideas to make it better, let me know — I’m still iterating.
Link: eob.arcs.health