Custom web project
A clinical website built to inform, build trust, and make it easy to get in touch.
In productionEnd-to-end design and development of the digital presence for a clinical neuropsychology practice, from content architecture through launch.
Stack
- Astro
- Tailwind CSS
- TypeScript
Explaining specialized services in a way people understand
The website needed to communicate complex clinical content to patients and families without feeling cold, academic, or hard to navigate. It also needed to clearly distinguish between services and help every visitor find the right next step.
The solution
- Clear organization of services.
- Copy written around everyday situations.
- Design suited to a healthcare context.
- Responsive navigation.
- Forms and calls to action.
- Technical SEO.
- Production deployment.
Engineering and architecture
A website for a clinical neuropsychology practice, built with Astro and Tailwind CSS: informational pages per clinical area, a contact form and a separate professional-referral form, and a resources section with Markdown content. Full design, development, SEO, and launch; this is a real client engagement, already in production.
Shared layout for service pages
Service pages share a single layout with a fixed structure — symptoms, description, methodology, FAQs, testimonials — instead of hand-composing each page. Adding a new service means filling in typed props, not building a page from scratch.
Sticky header adjustment
The header is fixed and has a variable height. Its actual height is measured at runtime and written into a CSS custom property that feeds the document's scroll-padding-top: anchor links always land just below the header, never overlapping, even if its height changes.
Progressive image resolution
An image component looks up the real file by its path and, if it doesn't exist yet, renders a labeled placeholder instead of a broken <img>. This makes it possible to lay out pages with the final photo paths before the actual photography is ready, without blocking work on the rest of the page.
SEO and forms
Every page carries structured data (JSON-LD) and its own Open Graph metadata. Forms are submitted via Web3Forms with no backend of their own: each with its own access key, graceful degradation if the key is missing, and a honeypot checkbox against spam.
Screenshots


