Sovereign Dental
A dental clinic website for Sovereign Dental, covering two practices under one site, with a Supabase-backed admin dashboard for managing services, concerns, and doctors.
Live PreviewProject Gallery

Context
The Problem
Sovereign Dental runs two practices under one brand, a general dental clinic and a myofunctional orthodontic centre, and needed one site that could present both clearly while staying easy for staff to update without touching code.
My Role
Design
- Designed distinct pages for the dental clinic and the myofunctional orthodontic centre inside one site
- Designed the concerns section as a symptom-first way for patients to find the right page
Frontend
- Next.js 16 and React 19 with Framer Motion and Lenis smooth scroll
- Home, Services, Concerns, and the two practice pages, plus service and concern detail pages
- Embla carousel for reviews and image galleries
Backend
- Supabase Postgres and Auth for admin login and content storage
- Admin CRUD for services, concerns, doctors, home content, and settings
- Live Google Places reviews, cached and rendered server-side
Infrastructure & DevOps
- Cloudflare R2 for admin-uploaded images
- Vercel for deployment
Solution & Process
Design Validation
Split the site into three clear entry points instead of one generic homepage: the dental clinic, the myofunctional orthodontic centre, and a concerns section that lets patients start from a symptom instead of hunting through a service menu.
Technical Stack Selection
Built on Next.js 16 with the App Router and Supabase for Postgres and authentication. Services, concerns, and doctors are all admin-editable content types stored in Supabase, and live Google reviews are pulled through a cached API route instead of being hardcoded.
Technical Decisions & Trade-offs
Modeled concerns as their own admin-managed content type instead of folding them into services, since patients search by symptom first and a dedicated section made that path far shorter.
