The brief
A seven-clinician counseling practice with an aging website. The rebuild had one job: be found — by locals searching, by AI answer engines, and by anyone on a slow phone — and be readable by everyone, including the accessibility tooling a counseling audience disproportionately relies on.
How it was built
- Astro, static, near-zero JS. A brochure site has no business shipping a framework runtime. The output is HTML and CSS; the JS budget rounds to zero.
- Local SEO as an architecture concern. Structured data, per-clinician pages, service pages matching real query language, and a sitemap — built in from the start, not sprinkled on.
- WCAG 2.1 AA throughout, with self-hosted Alegreya + Atkinson Hyperlegible — the latter designed specifically for low-vision readability.
- Lighthouse 100 in all five categories — performance, accessibility, best practices, SEO, and PWA — verified on the deployed site, not localhost.
The deployed spec build carries a deliberate noindex so it never competes with the practice's live site before cutover.
Stack notes
Astro + Tailwind v4 on Vercel. No client framework, no CMS — content lives in the repo.
