22-Page Pediatric Dental Template Customisation
22-page pediatric dental template customisation on Kinsta delivered in 114 days — 10 templates, 99+ tracked QA items, ~64 hours across 4 specialists.
Screenshots captured by automated tooling — some elements may not have loaded fully or may layer on top of each other. For the most accurate view, visit the live site →
Rebuild the site on a new stack. Implement the spec. Don't improvise. Hand it back ready for cutover.
Client (end user): Main Street Pediatric Dentistry of Belmont — a solo pediatric dental practice, Belmont, NC
Engagement: White-label template customisation for a US marketing agency
Delivered: August – November 2025 · 114 days · ~64 hours · 22 URLs · on schedule
The Craft of Template Customisation
22 pages of a solo pediatric dental practice built against a per-template Figma spec — every one of the 10 templates had its own design file node in the «Dr. Matt Savage» Figma project — plus a B2B doctor-referral form scoped mid-project with no Figma reference at all. The agency pre-audited the design for 117 SEO and layout issues before handing it to us; we executed the build on Kinsta and held the QA loop through eight review rounds.
The value is speed with consistency — but only if the customisation is disciplined. A dev team that “interprets” the Figma, skips QA rounds, or deviates from the template’s design system is worse than starting from scratch.
This case study is a record of a template customisation executed to the agency’s Figma — for a solo pediatric dental practice where every patient-facing detail carries the full credibility weight of one practitioner’s name and image.
Snapshot
| Field | Value |
|---|---|
| End-client industry | Healthcare — Pediatric Dentistry |
| End-client | Main Street Pediatric Dentistry of Belmont (Belmont, NC) |
| Engagement | White-label template customisation for a US marketing agency specialising in local-business healthcare websites |
| Project Type | WordPress template customisation (agency’s branded template + per-page Figma design on Kinsta) |
| Scope | 22 URLs — homepage, services lander, 12 service pages, about, doctor page, blog lander, 2 blog posts, contact, insurance, referral form, plus privacy/terms/disclaimer utility pages (Default Template) |
| Timeline | 114 days (31 Jul – 22 Nov 2025), on schedule |
| Effort | ~64 hours — main build, referral form development, QA and fix rounds, project management |
| Team | 4 specialists |
| Templates | 10 reusable templates applied across the 22 pages — Service Page applied 12 times for the pediatric services tree |
| Tech Stack | WordPress · Elementor · Kinsta hosting · Figma-driven per-page design · Gravity Forms · Site Checker (xaverPRO QA plugin) |
| QA discipline | 99+ tracked SEO + CX issues reconciled across two agency backlog tabs and an 82-item launch checklist |
| Engagement cadence | 36 agency-raised issues · all closed by handoff (68-day active span, 2025-08-09 – 2025-10-15) |
| Review rounds | ≈8 review rounds across the 114-day calendar window |
| Per-ticket effort | 29 internal Redmine tickets · median 24m / P75 1h per ticket |
| Launch checklist | 81 items, signed off before cutover |
The Brief
A US marketing agency delivered us a Figma design for Main Street Pediatric Dentistry of Belmont and access to their branded Kinsta-hosted template system. The agency had already completed the upstream work: client requirements form, design specification, content sourcing via per-page Google Docs, and hosting setup. What they needed was a development team that would map the Figma onto the template faithfully and sustain the QA loop through however many agency review rounds the practice required.
The ask was a 22-page pediatric dental site for Dr. Matt Savage, a solo board-certified pediatric dentist in Belmont, North Carolina. The service tree covered twelve standard pediatric dental procedures — exams, cleanings, sealants, fluoride, emergency care, fillings, sedation, X-rays, early orthodontics, white crowns, special needs dentistry, and a first-visit page — each customised to the agency’s Service Page template. A separately scoped referral form page (a B2B touchpoint for referring doctors) was added mid-project as a distinct task with its own Gravity Forms layout.
The exposure the agency was hedging against sits close to the practice’s identity: this is a solo practitioner, not a group practice. Dr. Savage’s biographical page, professional photo, and credentials are the entire trust signal on the site. A headshot error, a placeholder bio, or a contact form with an unfilled email destination at the moment of client review is not a cosmetic detail — it is the whole patient-acquisition page missing its core element. The QA loop on a solo-practitioner build has to treat the Doctor Page and the contact form as the highest-risk deliverables, not as low-effort supporting pages.
Risk context. On a solo-practitioner site, the Doctor Page and the contact form carry the entire patient-acquisition weight of the practice’s online presence — there is no second doctor to distribute the credibility load, and no secondary contact path if the form destination is wrong. A headshot placeholder or an unfilled form email at the moment of client review is not a cosmetic miss; it is the core trust signal and the primary conversion path both failing at once. The QA discipline on this build existed, in large part, to ensure neither reached the client link in an incomplete state.
How We Did It
1. Figma-as-contract, template-as-canvas. The Figma design was the specification. The agency’s branded template provided the structural skeleton. Page by page, we reconciled the two — where template defaults matched the Figma, we held them; where the design required deviation, we customised. This included font-weight handling: the Figma specified a 450-weight value for headline treatments that the web’s variable font stack rendered at approximate weights, requiring per-page verification against the design intent rather than a mechanical font-weight copy. No design decision originated on our side; the Figma held the authority for every visual call.
2. Pediatric single-doctor framing, one template set. Unlike a paired pediatric-and-orthodontics practice, this site serves a single dental specialty under one doctor’s name. The Service Page template was applied 12 times across the pediatric services tree — each page customised with service-specific copy, imagery, and a consistent “Schedule Your Child’s Consultation” CTA. The Doctor Page carried the full weight of Dr. Savage’s professional identity: credentials, educational history, UNC Chapel Hill undergraduate background, approach to pediatric care. Mid-project, the submitted headshot required replacement (a different image had been used initially); this was resolved as a dedicated task before the client link was sent. The practice’s email address for Gravity Forms delivery was also not available at build time and had to be tracked and applied once the agency received it from the client.
3. QA cycle at template-customisation scale. The agency tracked two parallel issue backlogs: an SEO backlog (63 active items, 60 closed as Completed at handoff; 2 to-do, 1 info-needed) and a CX backlog (36 active items, 33 closed as Completed; 3 in QA). The CX items included global brand-name consistency corrections (“Main Street Dentistry” → “Main Street Pediatric Dentistry of Belmont” applied globally), per-page content removals from the fluoride and dental procedures pages requested by the client, modal popup configuration for the practice’s contact announcement, and typography refinements across the service tree. Behind those tracked items, the Redmine issue tree ran 29 tasks across the main development cycle, a standalone referral form build, and multiple fix-and-QA rounds from August through November.
4. Customisation without drift. All per-client Elementor changes stayed within the practice’s instance; the agency’s shared template components were not modified. When global element corrections were needed (the “Of Belmont” brand name in header and footer, phone-number header link, service-box carousel on mobile), those were applied via the client’s own global Elementor context, not by editing shared library components.
5. Cross-device verification. Each QA round covered mobile carousel behaviour on the service grid, contact form rendering across viewports, and pop-up display on mobile — the form and popup being the primary conversion paths on a solo-practitioner site where a parent needs to reach the practice on a smartphone.
The tension on a solo-practitioner build sits at the practice’s credibility layer: the headshot was the wrong photo at pre-client-link review and replaced as a dedicated task; the contact form’s email was unavailable at build time and tracked separately until received. Neither reached the client incomplete — on a site where one doctor’s page and one contact path carry the full patient-acquisition load, that sequence was not optional.
Operational Integrity at handoff
QA load on this build ran heaviest on the solo-practitioner identity layer: the Doctor Page headshot was the wrong photo at pre-client-link review (Redmine #1217) and replaced before the link went out; the practice’s contact-form email was unavailable at build time, tracked in #996 «Add Doctor Images & Emails», and applied once the agency received it — neither reached the client link incomplete. Pre-handoff QA ran through Site Checker — see our QA discipline for the categories and the fail-zero gate. The agency’s own QA layer — their tools, their process — ran post-handoff and surfaced issues into the shared backlog for our fix loop until they signed off.
Customisations stayed in the per-client overrides; the agency’s shared template components were not modified.
Results
| Metric | Outcome |
|---|---|
| URLs delivered | 22 — Service Page ×12, Homepage ×1, About Us ×1, Doctor Page ×1, Services Lander ×1, Blog Lander ×1, Blog ×2, Contact Us ×1, Insurance ×1, Referral Form ×1 (custom Gravity Forms), Default Template ×1 |
| Templates applied | 10 of 10 templates used across the 22 pages |
| Launch checklist | 82 items across Design / Functionality / Pre-Migration / Post-Migration |
| QA issues tracked + resolved | 99+ items across Issues Backlog(SEO) (63 active, 60 Completed) and Issues Backlog(CX) (36 active, 33 Completed) |
| Referral form | Standalone Gravity Forms referral page built and QA’d as a separate deliverable |
| Timeline | 114 days (31 Jul – 22 Nov 2025), delivered on schedule |
| Effort | ~64 hours against a ~64-hour estimate — no overrun |
| Team | 4 specialists |
| Hosting handoff | Live on the agency’s Kinsta template environment at mainstpediatricdentistry.com |
The outcome, restated plainly: the agency’s Figma was implemented against their branded template across 22 pages and 10 templates, over 114 calendar days, inside the quoted budget, with two QA backlogs (SEO + CX) worked down to agency-acceptance levels and the 82-item launch checklist signed off before the site went live.
Process
| Phase | Duration | Outcome |
|---|---|---|
| Brief and estimation | ~2 weeks | Figma reviewed, template access confirmed, scope agreed; per-page Google Docs assigned as content source |
| Customisation development | ~3 weeks | 22-page template customisation built on Kinsta staging; initial Issues Backlog rows opened |
| Referral form development | ~1 week (concurrent) | Dr. Referral Form page built as a standalone Gravity Forms deliverable |
| QA iterations | ~8 weeks | 99+ items across SEO + CX backlogs tracked and resolved; headshot replaced; email for forms applied once received; client feedback rounds processed |
| Doctor Page and contact resolution | Continuous through QA | Headshot replaced; email destination applied to all forms and popup; brand name corrections applied globally |
| Launch checklist and delivery | Final ~2 weeks | 82-item checklist signed off; production cutover to mainstpediatricdentistry.com |
Development and QA ran concurrently throughout — typical of template customisation work, where no “QA phase” closes cleanly; the loop runs until the agency and client both sign off.
Team
Delivery team
- Natalia Bogatel — lead developer (template customisation, Figma-to-layout mapping, QA iterations)
- Pavel Sazhin — QA review and fix-round oversight
- Timur Arbaev — developer support on later fix and QA rounds
- Anton Hersun, xaverPRO — project lead (estimation, agency-side communication, sign-off)
The agency owned design, client communication, and the review cycle with Dr. Savage; every fix round was triaged through the agency’s shared issue backlog and released only when the agency-side reviewer signed off. Our team operated behind Kinsta staging throughout; the cutover to the production domain was the agency’s call.
For agencies with a branded template system
First engagement is a calibration batch — typically two or three cases at fixed hours, with QA evidence per case before it ships. For a solo-practitioner site where one Doctor Page and one contact path carry the full patient-acquisition load, the scope of each pass matters more than the pace. Send a sample brief with the practice type and the template you are running. We will return a fixed-hours estimate within 24 hours. No cost. No obligation to proceed.
Don't have a spec yet? Send a one-paragraph description — we'll come back with the questions worth asking. Send a description →
Site Checker runs before the agency sees anything.
Before handoff, every staging build runs through Site Checker — the WordPress QA plugin we built and maintain. It is a fail-zero gate: nothing goes to the agency with an open failure. Warnings are reviewed and judged non-blocking; the agency gets a clean slate to run their own QA layer against, not a staging site with known issues in the queue.