Case study · Veterinary practice website
Eastpointe Animal Hospital
A vet website that answers the phone questions.
A fast, friendly website for an independent vet on 9 Mile Road: tap-to-call emergency numbers, appointment requests that land in the CMS, and a site the practice can update without a developer.
01 What needed solving
Eastpointe Animal Hospital has looked after the dogs and cats of Eastpointe, Roseville and St. Clair Shores since 2007. Most people who visit a vet's website are on a phone with one question: are you open, can I book, what do I do if it's an emergency, where do I park.
The practice needed a site that answers those questions in seconds, turns a visit into an appointment request without phone tag, and lets the front desk change hours or services without calling a developer.
02 What we did
A brand pulled from their own logo
We resampled the colour palette straight from the practice's logo file and used the mark for the favicon, so the site looks like the hospital people already know, not a template.
Emergency info first
A bar across the top of every page with numbers you can tap to dial, plus where to go after hours (Advanced Animal Emergency in Clinton Township).
Appointment requests that go somewhere
One booking page with a form that posts straight into the CMS, so requests are saved and visible to the team, not lost in an inbox.
Built around the questions people call about
Opening hours, the six services, what a first visit looks like, ways to pay, parking and a map beside the address, with call buttons right under the directions.
Honest content
Placeholder copy is held back until the practice sends the real thing, and stock photos only appear where it is honest to use them.
Measurement and search basics
Google Analytics counts appointment requests as leads and reports from the live domain only. Preview builds are kept out of search results, and structured data tells Google what the practice is and where.
03 How it works
The site is built in Next.js and fully generated ahead of time, then served from Cloudflare’s global network. Pages load as finished files, which is why it feels instant on a phone.
Content lives in our Payload CMS. When the practice publishes a change, the site rebuilds itself automatically. The site never waits on the CMS while a visitor is on the page, so if the CMS has a bad day, the website stays up.
04 What they got
- Emergency numbers one tap away on every page
- Appointment requests saved in the CMS and tracked as leads
- Content the practice edits themselves
- A site that stays online even if the CMS is down