The starting point
Full Circle Lactation Services is the private practice of Simone, an IBCLC, BScN, RN providing breastfeeding and lactation support to families in Barrie, Ontario and across Simcoe County.
When the practice opened, the website lived on Wix. It looked like a thousand other small-business sites: a stock template, a contact form, and a "book online" button that quietly opened an email window. Behind the scenes, every booking was a chain of DMs, emails, and manual calendar entries. Every invoice was typed into Wave by hand. Every intake form was a PDF a client tried to fill in on a phone screen.
It worked. It didn't scale. And it didn't reflect what a regulated, credentialed clinician was actually offering.
What we built
A custom React + Supabase platform that runs the entire client lifecycle — from the first website visit to the post-appointment receipt — without any third-party booking SaaS.
Public site
A polished, mobile-first marketing site with a single cinematic scroll experience: hero, credentials, philosophy, services, pricing, and a clear path to booking. Local-business JSON-LD schema, Barrie geo-tags, a 17-redirect map preserving every old Wix URL, and a sitemap submitted to Google Search Console. It already ranks first locally for the target IBCLC keyword.
Booking flow
Clients sign in with Google or email, pick an appointment type, submit an intake form scoped to that appointment, and choose a time slot pulled live from the practitioner's Google Calendar. On confirmation, the practitioner gets the booking, Google Calendar creates the event with a Google Meet link for virtual appointments, and the client gets a branded confirmation email with the meeting details and any intake form links they still need to complete.
Reminders and follow-ups
A Postgres pg_cron job nags clients who haven't completed their intake 24 hours before the appointment. Confirmation, reminder, decline-and-propose, and post-care emails all run through a shared branded template renderer. Templates are editable in-app via a TipTap WYSIWYG editor — the practitioner can rebrand any email without involving a developer.
Payments and invoicing
Two payment methods, one workflow. Card payments through Stripe (with payment intents, a branded PayInvoice page, and Stripe-issued receipts) and Interac e-Transfer for clients who prefer it (with a manual mark-as-paid flow on the admin side and a branded receipt PDF generated server-side via pdf-lib). Invoices are HST-exempt for lactation consulting provided by a regulated RN, with the appropriate licensing numbers (CNO #06283407, IBCLC #L-131275) on every PDF and email.
Admin dashboard
Everything the practitioner needs to run the business, in one authenticated app: appointments with status and payment-status filters, a clients list with full appointment history, an invoice manager with line-item editing and PDF preview, a payments ledger with method badges, an email-template editor, a Google Reviews import for the homepage, and a site-image picker with Pexels search built in.
A trick most clinicians can't pull off
The site can scan a paper receipt with the phone's rear camera. Claude Sonnet 4 vision extracts the date, vendor, amount, and category, the client form auto-fills, and the bookkeeping tab keeps a clean expense ledger.
The architecture move that mattered
The platform was recently refactored across a twelve-commit series that pulled every business-specific value — practitioner name, credentials, license numbers, business email, phone, address, brand colours, legal entity, payment-method messaging — into a single business config module. Every edge function, email template, legal page, and UI component now reads from that config at build time and at runtime.
In practice, the same codebase can be re-skinned to power any service-based practice — a massage therapist, a counsellor, a personal trainer, an esthetician — by swapping the config and the brand assets. Most of what a Barrie service-business needs is already built.
That is the engine behind every Coulter Digital website-modernization engagement going forward.
What this looks like next door
Most service-based small businesses in Simcoe County are running on Wix, Squarespace, or a Facebook page. They lose hours every week to manual admin. They lose bookings to friction. They lose credibility to a template their competitor across town is also using.
The Full Circle build is the proof: a credentialed, booking-driven practice can run on a platform purpose-built for it, deployed on Vercel for the cost of a coffee per month, with a delivery timeline measured in weeks — not the six-month, five-figure ordeal an agency would quote.
If that sounds like your business, start a conversation and we'll show you what your version of this looks like.
