


Dr. Mikaëlle Williams is a third-year orthodontic resident at the Georgia School of Orthodontics in Atlanta. She's building a consulting practice on the side — one where general dentists submit complex cases and she provides a structured written treatment plan in 24-48 hours.
The model is genuinely interesting. The traditional referral system means the general dentist loses the patient relationship entirely. Dr. Williams' version keeps the dentist as the primary provider and adds orthodontic expertise behind the scenes. It's a better workflow for everyone involved — the dentist, the patient, and the specialist.
She also mentors pre-dental and dental students pursuing orthodontics. Two audiences, one person, one site.
She needed something that looked as credible as her credentials before she could start operating. That was the job.
Frontend-first. Backend later. Consciously.
The case submission form at /case-review is fully built — three-step flow, drag-and-drop file uploads up to 10MB, DICOM support for X-rays, React Hook Form with Zod validation, clean error states throughout. It looks and behaves like a real clinical submission tool.
The backend is a shell. The API route logs to console. Resend is configured but commented out. Supabase storage is not wired for file persistence. There is no Stripe integration — the copy references per-case billing on plan delivery but there is no checkout flow yet.
This was a deliberate call, not an oversight. A consulting practice targeting dentists needs to look credible before it can ask anyone to submit a real patient case. The presentation layer needed to be done first. The plumbing comes next.
What I'd do differently: stub the backend with real endpoints earlier, even if they're not fully wired. Logging to console means you can't actually test the delivery pipeline until the integration work is done. A Supabase insert with a placeholder email would have been 30 minutes of work that would have made the backend phase easier.
The mentorship side was the interesting structural decision. Pre-dental and dental students are a completely different audience from general dentists submitting cases. Different problems, different language, different entry points.
The options were: separate domain, separate section, or something in between.
We went with a sticky side-tab — a “for students” label that slides in on every page and links to /mentorship. It does not interrupt the primary flow for dentists, but it's always visible for anyone who arrives from a different context.
The trade-off: the sticky tab is a pattern interrupt. A dentist who has already decided to submit a case does not need to be reminded about student mentorship on every page. Worth watching whether it creates friction as real traffic comes in.
Deep forest green as the primary color — credible, clinical without feeling cold, distinct from the sea of blue that dominates healthcare. The off-white background and serif typography push it toward a private practice feel rather than a hospital or insurance company. That positioning is intentional. Dr. Williams is a specialist you hire directly, not a system you navigate.
The handwritten annotations on the three-step process cards — “upload here”, “fast turnaround”, “complete plan” — are doing real work. They soften what could read as a clinical, formal process and make it feel like Dr. Williams personally annotated the explainer.
The credential timeline lays out her educational background horizontally rather than as a bulleted CV. For a professional services site where credentials are the product, this presentation does more work than a paragraph would.
The backend integration work is the obvious next phase: wire Resend for confirmation and notification emails, connect Supabase storage for file upload persistence, build the case management dashboard, implement Stripe for per-case billing, add admin auth.
The mentorship booking flow is also manual — contact form to request a session. A simple booking integration would close that loop.
Greenfield from create-next-app on March 15, 2026. First commit to live site in under two weeks. The site cannot process real cases yet but it looks like it can, which was the goal.