Case study / OccMed Physicians
From first meeting to launch in thirty days.
Occupational Medicine Physicians is an independent, physician-owned occupational medicine clinic in Jeffersonville, Indiana, serving employers across Louisville and Southern Indiana. Its website had fallen behind the clinic. I rebuilt it around the people the clinic serves and launched it 17 days ahead of the contract date.
01 / The starting point
A site that had fallen behind the clinic.
The clinic had retired the AirBioHealth name, but the name still appeared in the service agreement and across the old site, and airbiohealth.com served duplicate pages. The hours were published three different ways. The testimonials came from patients during COVID testing, not from the employers who choose a clinic.
Services were one list of 18 with no order, so weight loss sat under biometric screenings. The form employers use to send a worker in took a typed company name and sent no confirmation to anyone. On a phone, visitors couldn't zoom in. And the site ran in a vendor's hosting account, so the clinic held none of its own keys.
02 / The approach
Built around who is looking.
An HR manager, an injured worker, and someone looking for a weight loss program want different things from the same clinic. The new site gives each of them a front door: employers, employees, and community services. Injury care and return to work lead on the home page and on every employer page.
Employers pick their industry once and land on a page about their own kind of work. The site launched with eight industry pages, against the two in the original scope. Services are sorted into five groups by what an employer needs instead of one long list.
03 / What shipped
The site, the forms, and the plumbing.
- The service agreement rebuilt as an online form with a drawn e-signature, its terms and appendices carried over and the retired brand removed, on a HIPAA-compliant form service the clinic holds in its own name.
- A send-an-employee form with a link prefilled for each employer, plus forms for appointments, contact, consent, and the OSHA respirator questionnaire.
- Thirteen bio pages, 61 answers to the questions the front desk hears most, six pages on what to expect at each type of visit, and the blog carried over with every post.
- Every old address on both domains redirected, 38 rules in all, crawled clean against the live site before and after cutover.
04 / Search and AI
Built to be found across the region.
Employers looking for a clinic search by service and by place: a DOT physical in Louisville, drug testing in New Albany, a fit test in Southern Indiana. More of them now get the answer from an AI tool instead of a list of links. Every page was designed for both.
- Every title and description names the place: Louisville, Southern Indiana, or Jeffersonville, near Louisville. Descriptions are held to the length Google shows in its results.
- Each industry page carries its own search terms and at least three questions of its own. An automated test fails the build if a term or the region ever drops off the page.
- Structured data on every page describes the clinic with its map location and the five cities and three counties it serves, each provider, each service, and each industry. Each of the 61 questions is marked up on the one page that owns it.
- The clinic's name, address, and phone are tested to match character for character across every page, the structured data, and the files written for AI tools.
- AI assistants get the whole site in plain text through llms.txt and a full-text companion, and the AI search crawlers are allowed in by name.
- A sitemap dated by each page's last change, and IndexNow, so search engines learn about an update the day it ships.
- Google PageSpeed scores of 100 for accessibility, best practices, and SEO, and 99 for performance, measured on the live site on a phone, with the main content on screen in under two seconds on a throttled connection.
- A search baseline, taken before launch across 12 employer searches in Google's results, map listings, and AI Overviews, so every change can be measured against where the clinic started.
05 / How it ran
Thirty days, start to finish.
- Sept 14First meeting with the owners. The proposal went out the same day.
- Sept 15Agreement signed and first site visit.
- Sept 16Both owners approved the homepage concept.
- Sept 18First build day. By evening the whole site was on a preview address, with every unconfirmed claim flagged on the page.
- Sept 25Onsite working session with the front desk and clinical staff.
- Oct 4Walkthrough with the CEO.
- Oct 14Launch, the day before the clinic's open house and 17 days ahead of the contract date.
Every email and text got an answer within a day, usually the same day. Changes the owners asked for were on the preview in hours, not weeks, and I flagged each problem with a proposed fix before they had to ask. Every document I sent them fit on one page, and each open decision came with a default and a date, so no open question could hold up the launch.
06 / Behind the site
The part a visitor never sees.
The site was built the way software is built, so it can change without a rebuild and run without me.
- Written before it was built. The scope and constraints, the platform choices, the visual system, and all 25 page types were set down in documents before the first line of code.
- 304 dated decisions on record, each with its reasoning, and with a name and a date whenever the decision was the clinic's. When someone asks why the site says what it says, the answer is a row in a file, not a memory.
- 684 automated checks before every change ships. They fail on the things that quietly go wrong on a clinic website: a phone number that differs between the page and the data Google reads, a dollar amount on an employer-facing page, a claim nobody confirmed, a form that drifts from its specification.
- A launch gate. The site could not go live with a claim nobody had confirmed. Every flag was cleared by a named person or ruled to launch as it was, and two unconfirmed answers were pulled rather than published.
- Every page and form on the old site accounted for. All 44 were captured and compared against the new site, and each item was carried, dropped by a named decision, or listed as a question for the clinic.
- The DNS move in two steps. All 31 records were mirrored into the clinic's own Cloudflare account and the nameservers moved before anything pointed at the new site, so email never blinked. Launch night was five small steps with a one-click rollback.
- Everything in the clinic's name. Hosting, DNS, and forms sit in accounts Occupational Medicine Physicians owns, with nothing under a web vendor's login.
- Handed over with a runbook, written so someone other than me can change the hours, add an industry, add a form, or roll back. A vaccine clinic pop-up is one small file with a start and an end date.
“Working with Chris is a breath of fresh air! His energy is always positive, his knowledge vast and his communication timely. His renovation of our website met high expectations and came in on budget and was turned on before the target date. Our whole team loves the new look and efficiency. I’m now proud and excited to share our website!”
07 / What's next
Launch is the first phase.
The roadmap I proposed for the months after launch covers search listings and reviews, outreach to employers, a sales kit for the clinic's services, and tools built on top of the clinic's EHR.
Message sent
Thank you. I'll reply to the email address you gave.