
- RoleFull-stack engineer & designer
- Year2026
- Built with
- Next.js
- TypeScript
- Prisma
- PostgreSQL
- jose
- Zod
What was wrong
One clinic site is a project. Two is a question: is the second one a copy with the colours swapped, or does the thing underneath actually generalise? A template would have forced this doctor into the first clinic's layout and typography.
What I did
The engine is shared — booking, dashboard, permissions, RTL, dark mode, SEO — while the identity is not. This one runs its own eight-section layout on IBM Plex Sans Arabic with a teal and sand palette, independent of the other clinic in look and in content.
What changed
A second clinic went live without inheriting the first one's design decisions, which is the only real test of whether a platform is a platform.
What is inside
Cardiology services in detail
Consultation, echocardiography, stress ECG, 24-hour Holter, routine follow-up and pre-operative assessment.
Managing the bookings
Tracking, filtering, status changes and internal notes, plus adding a booking by hand for whoever called in.
A patient record that builds itself
Assembled automatically from bookings with the phone number as the identifier — no double entry, no file created by hand.
A wholly independent identity
IBM Plex Sans Arabic, a teal-and-sand palette and its own eight-section homepage — sharing neither look nor content with the other clinic.
Light and dark
The site follows the visitor’s preference, and both modes are designed rather than derived by inverting colours.
Separate database, separate deploy
Its own codebase, its own database and its own deployment — neither clinic can take the other down.
From the build
A walkthrough of 9 screens, from the site and the dashboard.

The clinic’s servicesSix cardiology services on their own cards — stress ECG, echo, consultation, pre-operative assessment, routine follow-up and 24-hour Holter. 
The services listThe full page with durations and prices, each card opening its own explanation for anyone who wants detail before booking. 
The echo pageWhat the scan finds, how long it takes and how to prepare for it — in a patient’s language, not a report’s. 
Booking an appointmentThe same flow as the other clinic, running on this clinic’s own availability rules and service durations. 
The articlesPieces on heart-healthy habits, chest pain and blood-pressure numbers — written by the doctor from the dashboard. 
About the doctorThe biography and qualifications, with four figures: patient satisfaction, catheterisations, patients followed and years of practice. 
Dashboard — overviewToday’s and this week’s bookings, what is still pending, revenue from completed appointments and incoming messages — on one screen. 
Dashboard — servicesSix services with their prices and durations, added, hidden and reordered from right here. 
Dashboard — site contentIdentity, homepage headline and strapline. Nothing on the public page is written into the code.

The Copywriter Camp
Still reading?
Then we should probably talk. Thirty minutes, free, no slide deck. Worst case you leave with a second opinion.