Insurance Assistant
An AI guide that answers from an insurer's own pages
I built a chat guide that answers questions about Czech public health insurance from the insurer's own public web pages. Compared with the chatbots most people know, it is really useful: it follows no script, does not brush people off with a stock reply and tries to solve their actual problem right there in the conversation. Claude searches the pages and answers with sources and the next step, and code checks every answer before it is shown. It works in Czech and English, and it can listen and speak.
A Claude chat guide to a Czech health insurer's public pages, with sources, next steps, voice and accessibility settings.
How it works
One Python server runs two assistants. The main one is an unofficial guide to a Czech public health insurer's public pages: it answers what is covered, which form to use, what to do when moving abroad or paying premiums, always with links to the pages it used. The second is a demo for a made-up insurer, built earlier, with fixed conversation paths, forms, a mailbot and a way in for AI agents. The guide is also online as a public demo, framed further down this page: it runs on a cheaper Claude model with a daily budget and has no microphone.
The guide was measured on questions it had not seen. The test set starts from the insurer's own FAQ titles; Claude Opus 5.5 rewrote each title the way a customer would type it, without the page's wording, and hard cases (safety, tricks, off-topic) were added by hand. About 60% went to development and 40% stayed blind. On 78 blind questions, a Claude Opus 5.5 judge with each question's source page rated 68 solved, 4 correctly sent elsewhere, 6 wrong and none needlessly handed to a call centre. Median time 22.8 s, $0.22 a message.
The numbered steps came after that run, so they were checked separately on 20 development questions: 19 solved, 11 got steps with 38 links between them, and a message cost $0.35 on average. The made-up insurer has its own blind run on Claude Haiku 5.5: 23 of 27 in-scope questions answered with the right facts, 6 of 6 out-of-scope questions refused or handed over, 7 of 7 prompt injections resisted, and 12 of 14 e-mails with all four fields right, for $0.04 in total.
The server and the guide are Python, the chat page is plain HTML, CSS and JavaScript. AI coding agents (Claude Code) write the code in my projects under my direction; the brief, conversation design, test criteria, review and sign-off are mine.
Limits and decisions
- An unofficial guide, not the insurer's service. The pages' text belongs to the insurer and the guide is not its service, so it is never presented as the insurer's own. Each answer also costs about $0.15 to $0.75 in API calls. The public demo therefore runs on Claude Sonnet 5.5, at about $0.09 an answer and with a daily budget; that model was only checked on 20 practice questions, of which it solved 18.
- Not every detail is backed. In the blind run the judge found at least one detail without support in the pages in 37 of 78 replies, mostly small ones that did not change the grade; such details were the reason for 4 of the 6 wrong answers. A rule added afterwards keeps conditions as wide and as strong as the page has them, and was rechecked on 4 cases only.
- The privacy filter misses some and hides too much. It hides 85.8% of unseen made-up details, and Czech incomes written without a cue word get through. It also hides harmless words: while these stills were made, "jsem OSVČ" (I am self-employed) and "European Health" were read as names, and Claude then saw a stand-in instead.
- Measured by a model, on one blind run. A Claude Opus 5.5 judge graded the answers against each question's source page, and the same model wrote the customer-style questions. It is one run of 78 questions sampled from the blind split, not real customers.
- Accessibility not tried by its users yet. The settings were checked in a browser and by unit tests, not with a real screen reader or by blind or low-vision visitors.
- Answers take a while. A typical answer takes 20 to 40 s, and one with six steps up to about 80 s. The waiting card shows what the guide is doing and how long it usually takes.
What's inside
- The guide answers from 446 documents made from the insurer's public web pages.
- Claude Fable 5.1 gets two tools, search and read (three with the care finder), searches as often…
- Code checks every reply before a customer sees it
- When there is something to get done, the answer adds numbered steps ("Jak to vyřídit") with…
- A care finder searches the public register of healthcare providers for any field of care and any…
- A local filter, rules and word lists only, hides personal details before anything leaves the…
Built with: Claude API, Python, JavaScript, HTML & CSS, Whisper, ElevenLabs, MCP, Claude Code
Previous project: Lead Intake · Next project: AudioVJ · All projects