Work / Templated / Dual-Doctor Dental Template Customisation

Dual-Doctor Dental Template Customisation

A dual-doctor dental template customisation delivered in 76 days. Two profiles from one template, 11 templates applied, 68 QA tasks tracked.

Industry Healthcare (Dental)
Engagement White-label · US marketing agency
Delivered 76 calendar days · on schedule
59h across 76 days
marinapointedental.com · desktop
marinapointedental.com · mobile

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 →

— The brief

Rebuild the site on a new stack. Implement the spec. Don't improvise. Hand it back ready for cutover.

Client (end user): Marina Pointe Dental — Dr. Alejandro Nieves, DMD and Dr. Bhavya Paranthaman, DMD, Panama City, FL
Engagement: White-label template customisation for a US marketing agency
Delivered: November 2025 – February 2026 · 76 days · 59 hours · on schedule

The Craft of Template Customisation

11 DENTAL-section templates from the agency’s branded library, two Doctor Page instances for separately credentialled practitioners — each customised at the page level while the shared template structure held. The Figma was the contract; the template was the canvas. One early complication: Proxima Nova arrived unlicensed mid-sprint. On Timur’s recommendation the team substituted a visually distinct placeholder so every affected page was immediately obvious in QA when the licensed font landed.

Snapshot

Field Value
End-client industry Healthcare — General & Family Dentistry
End-client Marina Pointe Dental (Dr. Alejandro Nieves, DMD and Dr. Bhavya Paranthaman, DMD, Panama City, FL)
Engagement White-label template customisation for a US marketing agency specialising in local-business websites
Project Type WordPress template customisation (agency’s branded template + per-page Figma design on Kinsta)
Scope ~20 launch-phase URLs — homepage, about, two doctor bio pages, services lander, 5+ service pages, contact, emergency dentist, payment policy, legal utilities; ~24 “After Release” pages deferred to next phase
Timeline 76 days (25 Nov 2025 – 9 Feb 2026), on schedule
Effort 59 hours — development · QA iterations · PM · post-launch fix rounds
Team 5 specialists
Templates 11 DENTAL-section templates from the agency’s multi-industry template library applied across the launch-phase pages
Tech Stack WordPress · Elementor · Kinsta hosting · Figma-driven per-page design · agency AutoQA (Links / Email / Content AI checks) · TrustIndex (review widget) · Site Checker ( QA plugin)
QA discipline 68 Redmine QA tasks across development, QA, and post-launch fix rounds; plus 472 rows tracked across the agency’s two issue-backlog tabs (SEO and CX)
Engagement cadence 4 agency-raised issues · 3 of 4 closed by handoff
Review rounds ≈6 review rounds across the 76-day calendar window
Per-ticket effort 68 internal Redmine tickets · median 22m / P75 26m per ticket
Launch checklist 84 items, signed off before cutover

The Brief

A US marketing agency delivered a Figma design for Marina Pointe Dental and a deployment target on their branded Kinsta-hosted template system. The practice presented a specific structural challenge that distinguishes it from the typical single-doctor dental build: two separately credentialled doctors — Dr. Alejandro Nieves, DMD and Dr. Bhavya Paranthaman, DMD — each warranted their own Doctor Page in the template system, under the /about/ path. The agency’s Figma captured both profiles distinctly.

The sitemap was similarly structured in two layers: a launch phase covering the homepage, core services, and information pages marked green in the agency’s workbook, and an “After Release” tier covering sub-service pages, area-we-serve pages, and a Spanish-language service page (/panama-city/servicios-dentales/) deferred to a later phase. Our scope covered only the green-flagged pages; the deferred tier was noted in the workbook but not built during this engagement.

The ask was operational. Take the Figma as the source of truth. Customise the branded template to match it page by page, breakpoint by breakpoint. Route QA findings back through the agency’s shared workspace without anything about the build reaching the end client. Raise concerns — not design decisions — directly to the agency.

One typographic issue emerged early that illustrated the discipline this kind of engagement requires. The agency’s spec called for Proxima Nova as the primary typeface — a licensed font not yet delivered by the client at the time development began. Rather than blocking progress or substituting something visually close enough to be invisible, the team substituted a placeholder typeface with enough visual distance that any page affected by the missing font would be immediately obvious during QA. The correct font was delivered mid-sprint and applied globally via the Elementor global styles system.

Risk context. A template customisation for a two-doctor practice presents a specific failure mode that a single-doctor customisation does not: the Doctor Page template must carry two distinct practitioners, each with their own credential, bio, image, and path, without one doctor’s data contaminating the other’s page or the template’s shared components picking up site-specific overrides that would affect other clients. Each Doctor Page is a separate page instance with separate content — but both ride the same template. A careless global edit to the Doctor Page template layout propagates to both profiles simultaneously. The discipline is page-level isolation: customise the per-doctor content, not the template structure.

How We Did It

1. Figma-as-contract, template-as-canvas. The agency’s Figma file was the design specification. The branded template was the underlying page structure. Our job was to reconcile the two page by page — where the template’s default layout matched the Figma, we kept it; where the Figma required a deviation, we customised at the page level. No design decisions originated on our side.

Two Doctor Page instances were built under /about/meet-dr-alejandro-nieves/ and /about/meet-dr-patricia/ respectively, each customised with the correct photo, credentials, and bio while the shared Doctor Page template structure remained intact. The agency’s Figma captured both profiles; we implemented both against their respective content, ensuring neither page cross-pollinated with the other.

2. QA cycle at template-customisation scale. A clean template customisation is not “build once, review once.” Of the 68 tasks tracked on this project in Redmine, the majority were QA iterations — individual rounds where the agency flagged design deltas, and we reviewed, fixed, and returned the build for another pass. The volume reflects the expected surface area of a Figma-to-template reconciliation, not instability. In this engagement it surfaced issues ranging from layout geometry (broken sections, header alignment, button centring), to form field types, to non-English text found in a page section, to image swap requirements across the two doctor profiles.

The principle behind this is straightforward: on a templated build, the QA loop is where the value is delivered. A shorter QA cycle is a weaker match to the design.

3. Customisation without drift. Every change made to the branded template — whether to a page layout, a section component, or a style token — was contained within per-client page overrides. The agency’s shared template components were not modified. This matters because the agency’s template library spans multiple industries (Dental, Legal, Veterinary, and others visible in the workbook’s template catalog); a drift from one project cannot be permitted to affect another client’s site riding the same template.

The Emergency Dentist page received particular attention during the QA cycle, generating its own tracked issue with multiple fix rounds, after the agency flagged that the page required specific structural treatment distinct from the standard service page layout.

4. Scope management at the sitemap boundary. The agency’s workbook explicitly distinguished “launch phase” pages (green-flagged) from “After Release” pages. We built only the green-flagged pages and kept the deferred tier out of scope. This boundary required active maintenance during QA: when a QA reviewer noted that certain pages had been added to the green-flagged set during the engagement without a corresponding scope discussion, the team flagged it back to the agency for a scope decision rather than absorbing the work silently. The principle is simple: deferred scope is the agency’s call, not the developer’s.

5. Cross-device verification. All customisations were QA’d against Chrome, Firefox, Safari, and Edge on desktop, tablet, and mobile viewports — the standard agency breakpoint set. Each QA round covered the pages affected by the round’s design deltas, maintaining coverage without full-site retesting on every iteration.

The two-doctor build had one structural tension: two practitioners, two paths, one shared template. Customising each Doctor Page at the page level without touching the shared template structure was the discipline that held it. The Proxima Nova placeholder confirmed the approach — Timur’s recommendation to use a visually extreme substitute meant every affected page was immediately obvious in QA, not silently drifting past review.

Results

Metric Outcome
URLs delivered (launch phase) ~20 launch-phase pages customised to Figma, including homepage, two doctor profiles, services, emergency dentist, contact, and legal utilities
Templates applied 11 DENTAL-section templates from the agency’s branded library, applied across the launch-phase pages
Launch checklist 85 items reviewed and signed off
QA / SEO issues tracked + resolved 472 rows across the agency’s two issue-backlog tabs (SEO and CX)
Redmine QA tasks 68 tasks spanning development, QA iterations, and post-launch fix rounds
Timeline 76 days (25 Nov 2025 – 9 Feb 2026), delivered on schedule
Effort 59 hours against a 59-hour estimate — no overrun
Team 4 specialists
Two-doctor build Both doctor profile pages delivered with distinct per-doctor content, shared template structure preserved
Deferred scope “After Release” tier (~24 URLs including sub-service, area-we-serve, and Spanish-language pages) scoped out cleanly and held for next phase
Hosting handoff Live on the agency’s Kinsta template environment

The outcome, restated plainly: the agency’s Figma was implemented against their branded template across the launch-phase pages, including the dual-doctor profile build, over 76 calendar days, inside the 59-hour estimate.

Operational Integrity at handoff

QA on this build caught two distinct categories of template-residue before handoff: non-English text found on the blog page (agency-flagged in the issue backlog as «Remove this text — it’s not english»), and oversized base64-embedded images in the homepage HTML (~314KB across two inline SVGs) that were causing the screenshot tool to fail and were replaced with optimised PNG and WebP assets. 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 page overrides; the agency’s shared DENTAL template components were not modified.

Customisations stayed in the per-client overrides; the agency’s shared template components were not modified.

Process

Phase Duration Outcome
Brief & estimation ~3 days Figma reviewed, template access confirmed, scope and green-flagged pages agreed
Font coordination ~1 week Proxima Nova license delivered mid-sprint; placeholder substituted until delivery
Customisation development ~4 weeks Page-by-page template customisation to match Figma across launch-phase URLs
QA iterations (ongoing) ~4 weeks 68 Redmine tasks logged; each fix round reviewed by agency before close
Scope boundary management ongoing After Release tier maintained out of scope throughout
Delivery & handoff final week Site live on Kinsta; agency AutoQA gates confirmed

Development and QA ran concurrently — characteristic of template-customisation work, where no “QA phase” closes cleanly; the loop runs until the agency signs off.

Team

Delivery team

  • Nikita Tumasevic — lead developer (template customisation and Figma-to-layout mapping)
  • Anna Polunina — designer and developer support (design coordination, QA rounds)
  • Timur Arbaev — QA lead (internal review, fix verification)
  • Pavel Sazhin — project management and QA iterations
  • Anton Hersun, — project lead (estimation, agency-side communication, sign-off)

Agency-side project management, design, and client communication remained with the partner agency throughout. Our team was invisible to the end client. All customisation requests came through the agency’s shared issue backlog, with nothing about the build exposed to the end client directly. Each QA round was closed only after the agency-side reviewer confirmed the delta was resolved.

For agencies with a branded template system

This pattern fits agencies that deploy a branded dental template on Kinsta and need per-practice customisation without drift to the shared template — including practices with two or more separately credentialled providers, each requiring their own page instance. If your next build has that structure, send us a Figma and a link to your template. We will estimate the customisation hours and flag any per-instance isolation risks before kickoff. No cost for the review and no obligation to proceed.

Request a spec review →

Don't have a spec yet? Send a one-paragraph description — we'll come back with the questions worth asking. Send a description →


— Pre-handoff QA gate

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.

Core settings verificationpass
Content & SEO surface auditpass
URL structure integritypass
Content-language sanitizationpass
Menus & widgets auditpass
Original-vs-rebuild content diffpass
Multi-resolution screenshot capturepass
xaver.pro · 2026 White-label · Agency not named
Scroll to Top