Holli is The Holland Clinic's digital assistant. She runs as a series of companion pages — each one a single self-contained HTML file — all served from one Netlify site. The same GitHub repository holds every file. Netlify watches the repository: when a file changes and is saved (committed) to GitHub, the live site updates automatically within about 60 seconds. No command line required.
Guides new patients through eight health questionnaires before their first consultation. Saves to Google Sheets.
companions.thehollandclinic.com/holli-intake
Guides a referrer through a short conversation and generates a personalised introduction letter as a downloadable HTML file.
companions.thehollandclinic.com/holli-referral
The GitHub repository is named thehollandclinic-companions. Every file sits in the root — no subfolders except for the Netlify functions. This is the complete structure:
Rule: Every new Holli companion is one HTML file added to the root. Nothing else changes.
The filename becomes the URL path automatically. No configuration needed.
| File in GitHub | Live URL | Purpose |
|---|---|---|
holli-intake.html | /holli-intake | Patient health intake |
holli-referral.html | /holli-referral | Referral letter generator |
holli-[name].html | /holli-[name] | Future companions follow the same pattern |
Do this once. After this, everything is maintained through GitHub alone.
thehollandclinic-companions. Set to Private. Tick "Add a README". Click Create repository.
thehollandclinic-companions. Set publish directory to . (a single dot). No build command. Save.
ANTHROPIC_API_KEY exists. It was set previously — this is just a check.
companions.thehollandclinic.com/holli-intake and /holli-referral. Both should load and Holli should respond within a few seconds.
Once GitHub is connected to Netlify, you never need the command line again. All updates go through github.com in a browser.
holli-referral.html).
To add a new companion: Upload a new holli-[name].html file to the repo root. It goes live at companions.thehollandclinic.com/holli-[name] automatically.
To upload a replacement file (e.g. a new version Claude has generated): In the repo, click Add file → Upload files. Upload the new file with the same name. GitHub replaces it. Netlify deploys.
| File | Why to leave it alone |
|---|---|
netlify.toml | Controls routing, security headers, and the 26-second function timeout. Changing it can break all companions. |
chat.js | The Anthropic API proxy. All companions depend on it. Only change if the API version needs updating. |
holli-logo.svg | Shared by all companions. If updated, all companions update simultaneously — which is usually correct, but worth knowing. |
Every companion built for Holli follows these rules so they look and feel like the same person.
| Element | Specification |
|---|---|
| Header | Deep teal #1e3f3f · 80px tall · logo 60×60 left · "Holli" in Cormorant 22px cream centre · subtitle in small uppercase · sticky top |
| Holli's name | Always "Holli" — not Holly, not HOLLI |
| Holli's bubbles | White or #1e3f3f background depending on companion · teal text · rounded 2px/12px |
| User bubbles | Teal #1e3f3f background · cream text · rounded 12px/2px |
| Background | Warm cream #faf5e7 |
| Headlines | Cormorant serif |
| Body copy | Montserrat 300 weight |
| Primary button | Teal background · cream text · 2px border radius · uppercase 11px Montserrat 600 |
| API call | /.netlify/functions/chat · 24-second abort timeout · last 40 messages only |