Muhammad Arslan
Hire me
Back to projects

Meridian Dental

A marketing site, patient portal, AI booking assistant, and admin console for solo dental practices, designed as a productised package a practice can buy off the shelf.

Role: Solo full-stack design and developmentTimeline: 2026Type: Productised web app

Next.js 16

React 19

Tailwind CSS 4

shadcn/ui

Supabase

Resend

Gemini AI

FullCalendar

Meridian Dental Studio demo homepage and appointment entry point

Overview

Meridian Dental is a complete web presence and lightweight operations console for a solo dental practice. The public side is a polished marketing site with services, team, contact, and a booking wizard. Behind it sits a patient portal, an AI assistant that answers questions and books appointments, and an admin console where the practice manages everything. I built it as a sellable product, a one-time site plus a monthly plan, rather than a one-off client site. It's deliberately scoped to sit in front of a practice's existing patient-management system instead of trying to replace it.

The Problem

Solo dental practices usually face a bad choice. They can get a nice-looking brochure website that does nothing beyond list a phone number, or they can pay for heavy practice-management software that handles records but does nothing to help patients actually book or get questions answered online. Nobody was offering the in-between: a site that looks professional, lets patients self-serve, answers the routine questions, and gives the dentist a simple place to manage it all, without a six-figure software contract.

My Role & Approach

I designed and built the entire thing solo, both the product thinking and the engineering. A lot of the work was deciding what not to build. The product intentionally avoids competing with established practice-management systems and instead focuses on the front door: booking, patient communication, and a small operations console. That discipline kept the scope shippable and the value proposition clear enough to put a price on.

Tech Stack

FrameworkNext.js 16 (App Router, Turbopack) with React 19
Styling / UITailwind CSS 4 with shadcn/ui
BackendSupabase (Postgres, Auth, Storage)
EmailResend with React Email templates
AIVercel AI SDK v6 with Google's Gemini 2.5 Flash
SchedulingFullCalendar v6
Forms and validationreact-hook-form with Zod
AnimationGSAP

Key Features

Public marketing sitehome, services, team, contact, insurance, new-patient pages, and a guided booking wizard.
Patient accountspasswordless sign-in through Supabase magic links.
Patient portala private dashboard for appointments and profile management.
AI assistanta Gemini-powered chatbot that answers from the practice's own business document and can take real actions through tool calls, including booking an appointment, sending a contact message, or pulling up the right service page.
Admin consolemanage leads, edit the chatbot's knowledge document, create, edit, and delete services and dentists, view bookings, and use a drag-to-reschedule calendar.
Conflict-proof bookingthe system makes per-dentist double-booking impossible at the database level, and the booking wizard greys out unavailable times before a patient can pick them.

Gallery

Meridian booking flow with sample clinicians and a teeth-whitening visit
Meridian booking calendar with demo appointment times and visit estimate

Challenges & Solutions

The most important engineering problem was double-booking. Two patients hitting "confirm" on the same slot at the same moment is a classic race condition, and checking availability in application code never fully closes the gap. I solved it in Postgres with a GiST exclusion constraint, so the database itself atomically refuses any overlapping booking for the same dentist. The conflict becomes impossible, not just unlikely. A separate availability endpoint feeds the booking wizard so impossible times are greyed out up front, which means patients rarely hit the error in the first place.

The AI assistant was the other interesting piece. A chatbot for a medical practice can't be allowed to make things up. I grounded it in the practice's own business document so its answers come from real, editable content the dentist controls, and I gave it a small set of tools rather than letting it free-form. It can book, send a message, or surface a page, and nothing else. The dentist edits the knowledge document directly from the admin console, so the assistant stays current without a developer in the loop.

Outcome

Meridian Dental is a working, demo-ready product. A practice can see their site, a patient can book through the AI assistant or the wizard, and the booking lands in an admin calendar in real time, with database-level protection against scheduling conflicts. It's packaged as a repeatable offering rather than a bespoke build, which makes it both a portfolio piece and a genuine commercial template.

Have a similar product problem?

Share the current product, the outcome you need, and the constraints already in the way. I will use that to define a sensible first milestone.

Web application development services
Start your project brief
All projectsNext projectHalatap