Los Angeles Neurosciences
A neurology practice that needed more site than Squarespace could give it
Dr. Kurian runs a neurology practice in Santa Clarita. His site was built and hosted on Squarespace. It looked dated, it did not cover everything he treats, and there was not much SEO work underneath it. No service-specific pages, no local content, none of the structured data that tells a search engine what a medical practice actually is.
He was already ranking well, mostly because there isn't much neurology competition in Santa Clarita. That's worth saying because I wasn't fixing something broken, I was making sure I didn't break it while building out everything that had never been there.
He never asked for accessibility but I built it in from the start because it's a medical practice, and I'd rather not ship something a patient can't use.


What shipped
The site runs on Next.js with Sanity CMS behind it, and it is 28 pages now: seven service pages covering what he actually treats, a clinical blog, and the usual practice pages for contact, reviews, clinical trials and medical-legal work.
The eight posts he already had came across from Squarespace through a migration script that converted them into Sanity's content format, with the generated slugs cleaned up and redirects from every old URL. His staff can edit all of it without calling me.
Accessibility, and the gate that keeps it
The site is WCAG 2.2 AA, and the part I care about more is that it stays that way. Axe runs against nine routes chosen to cover every distinct section type and interactive widget on the site, the form, the accordion, the carousel, a service page, a blog post, and it has to come back with zero violations.
I went through the awkward parts with VoiceOver by hand as well, because an automated tool won't tell you that a heading is announcing itself as "2 items" to a screen reader user.
Getting the editor right
The client wanted to edit his own pages the way Squarespace had let him, and that was the hardest part to get right. Rather than guess at it, I researched what was actually out there: React Bricks, Payload, Puck, and Sanity's own Presentation tool.
Puck embedded in Sanity looked strongest on paper, so I built working spikes rather than trusting the documentation. Puck itself is good, and the editing experience would have been one I was glad to hand over. Getting it to sit properly inside Sanity was the problem, and it was turning into a lot of work for not much gain, so I changed tracks and built on Sanity Presentation instead, then reorganized the content model so the editing surface matched the way he actually thinks about his pages.
Prototyping is cheap and being wrong in production isn't, so I'd rather find that out in a spike than after launch.
In short
The design came from the client and my job was to implement it exactly, because a design is only as good as the build underneath it. The rest was keeping what already ranked, building out what had never been there, and leaving him a site his staff can run without me.