Live demo - AI assistant for a website
An assistant that answers your visitors' questions from your own content
This is a working chat assistant for a fictional physiotherapy clinic, Northwind Physio in Lisbon. It answers only from the clinic's knowledge base (services, prices, opening hours, insurance, cancellation policy), replies in the visitor's language, refuses off-topic and medical questions politely, and points people to the booking form or phone for appointments. The API key lives on the server, never in the browser.
Try it
Click a question, or open the chat button at the bottom right and type your own.
What is included
- Embeddable widget: one
<script>tag, no dependencies, 16 KB, streaming replies, clickable links and phone numbers, Stop button, full-screen on phones, keyboard and screen-reader accessible. - Server function (Cloudflare Pages) that works with Claude, OpenAI or Gemini by changing one secret.
- Knowledge base in a plain Markdown file you can edit yourself.
- Guardrails: on-topic only, no diagnoses, no automatic bookings, short answers, visitor's language.
- Protection: message and history limits, same-origin CORS, per-visitor and global daily rate limits.
Embed it on any site
<script src="https://your-site.com/widget.js"
data-endpoint="/api/chat"
data-title="Ask Northwind Physio"
data-color="#0f6e56"></script>
This demo runs on Gemini Flash Lite to keep hosting costs near zero; it works identically with Claude or OpenAI - only the API key and the model name change.