46-Page Dental Template Customisation in Las Vegas
A Las Vegas dental site customised from a Luminous template across 46 pages and 10 templates — 272+ QA issues resolved in 43 hours over 5 rounds.
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): Haven Dental (Dr. Thomas Hsieh) — a dental practice in Las Vegas, NV
Engagement: White-label template customisation for a US marketing agency
Delivered: November 2025 · 83 days · 43 hours · 46 active URLs · on schedule
The Craft of Template Customisation
46 pages of a Luminous dental template customised to a Figma spec for a Las Vegas general dentistry practice — 10 templates, 43 hours, 83 calendar days. The distinguishing constraint was parallel management: 37 additional pages provisioned in staging throughout the build had to stay in a non-indexable state while active delivery continued, and a recurring spa-like copy residue from the shared template base required four dedicated remediation rounds after initial handoff.
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, with a QA profile that shows the discipline it takes.
Snapshot
| Field | Value |
|---|---|
| End-client industry | Healthcare — General Dentistry |
| End-client | Haven Dental — Dr. Thomas Hsieh (Las Vegas, NV dental practice) |
| Engagement | White-label template customisation for a US marketing agency specialising in local-business websites |
| Project Type | WordPress template customisation (agency’s Luminous template + per-page Figma design on Kinsta) |
| Scope | 46 active URLs — homepage, about, doctor bio, meet-the-team, technology, testimonials, areas-we-serve, smile gallery, payment options, contact, blog lander + 1 blog post, 32 service pages across 5 dental care categories (cosmetic, emergency, preventive, restorative, oral surgery) + 1 enterprise sub-page |
| Hidden pages | 37 additional pages provisioned in staging but marked hidden for post-launch content delivery |
| Timeline | 83 days (30 Aug – 22 Nov 2025), on schedule |
| Effort | 43 hours across development, QA iterations, PM, and post-launch fix rounds |
| Team | 4 specialists |
| Templates | 10 reusable templates provided by the agency, all applied across the active pages |
| Tech Stack | WordPress · Elementor · Kinsta hosting · Figma-driven per-page design · agency AutoQA (Links / Email / Content AI checks) · Site Checker (xaverPRO QA plugin) |
| QA discipline | 272+ tracked SEO + CX issues reconciled in the agency’s backlog across a 40-item launch checklist |
| Engagement cadence | 144 agency-raised issues · all closed by handoff (53-day active span, 2025-09-01 – 2025-10-23) |
| Review rounds | ≈5 review rounds across the 83-day calendar window |
| Per-ticket effort | 29 internal Redmine tickets · median 15m / P75 50m per ticket |
| Launch checklist | 39 items, signed off before cutover |
The Brief
A US marketing agency brought us in to customise their Luminous dental template for Haven Dental, a practice at 9375 S. Rainbow Blvd. in Las Vegas, NV, led by Dr. Thomas Hsieh. The agency held the upstream work: the Figma design, the Kinsta hosting environment, content coordination with the practice, and the staged deployment structure. Our role was development-and-QA execution only.
The scope was among the larger Templated engagements in our portfolio. The site’s service architecture spanned five dental care categories — cosmetic dentistry, emergency dentistry, preventive dental, restorative dentistry, and oral surgery — each with its own lander page and multiple sub-pages. Thirty-two of the active 46 URLs were service pages sharing the same Service Page template, each customised to per-practice content and imagery. An additional 37 pages were provisioned in staging but held hidden pending post-launch content delivery; these required careful management to avoid premature indexing.
The discipline requirement at this scale is not about volume — it is about template copy residue. A large-scale Templated build assembled from a shared base has predictable failure modes: copy-pasted placeholder text surviving into live pages, template-origin tone inconsistencies, contact details or service language that echoes the wrong practice. On Haven Dental, the agency’s issue backlog tracked a recurring class of exactly these findings across multiple rounds — content errors that were invisible to the dev pass but surfaced under editorial review. The QA loop existed precisely to surface and close those items before sign-off, and the 272+ tracked issue-backlog rows show the volume that discipline requires. One recurring category — spa-like register phrasing inherited from the template’s prior-industry copy — required four dedicated post-launch fix rounds to remediate, a limitation specific to large-scale template customisation where page copy originates outside the dev team.
Risk context. A 46-page dental build assembled from a shared base template, with 32 service pages sharing a single Service Page structure and 37 additional pages held in staging, has a predictable failure mode: the copy residue problem. Placeholder testimonials, spa-like register, wrong practice name, mismatched contact details — none of these are visible on the first dev pass of any single page, and none trigger a CMS error. They surface only under editorial review of the full live site. At this scale, one unreviewed round is enough to ship a build where the practice reads as a different practice on half its service pages. The 272+ issue-backlog rows on Haven Dental are the cost of doing this right.
How We Did It
1. Figma-as-contract, template-as-canvas. The Figma file was the design spec. The Luminous 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. No design decisions originated on our side. We chose per-client overrides over modifying the shared Luminous template because a direct edit would have cascaded to every other agency client site built on the same base.
2. Managing hidden-page provisioning alongside active delivery. Haven Dental’s sitemap contained 83 rows total: 46 active URLs for launch and 37 flagged as hidden (“Page Hidden”), pending the practice’s content delivery. Managing both sets in the same Kinsta environment required keeping the hidden pages in a clean, non-indexable state throughout development — provisioned but suppressed — so that the launch of active pages was not contaminated by stub content from held pages. The agency flagged several hidden-page-related errors in the SEO backlog during QA, confirming that a passive approach to hidden pages (simply not publishing them) was insufficient; active status management was required through the life of the project.
3. QA cycle at template-customisation scale. A clean template customisation is not “build once, review once”. It is “build, QA, adjust, QA, adjust”. The agency’s backlog tracked 145 SEO issues and 127 CX issues — 272 rows across the two backlogs — across a 40-item launch checklist. The issues spanned the full editorial surface: missing or placeholder contact details (email, social links, hero text), service taxonomy mismatches from the template, copy that carried a spa-like tone rather than a dental-practice register, and placeholder testimonial text that survived into live pages. Each category required targeted correction without inadvertently cascading a fix into pages where the original text was correct.
The principle is unchanged: on a templated build, the QA loop is where the value is delivered. A shorter loop means a weaker match to the Figma and a higher probability of template residue surviving into live pages.
4. Customisation without drift. Each change to the Luminous template was confined to per-client overrides. The shared template structure was not modified. The Haven Dental customisation did not change the template’s behaviour on any other Kinsta site that uses the Luminous base.
5. Cross-device verification. Customisations were QA’d across Chrome, Firefox, Safari, and Edge on desktop, tablet, and mobile viewports. Each QA round targeted the pages affected by that round’s delta set rather than the full 83-URL sitemap — coverage without redundant review cycles.
Working under 37 non-indexable stub pages alongside the 46-page active delivery meant the sequencing had to be deliberate: suppress-and-verify for hidden pages before go-live, spa-like copy remediation addressed across four discrete rounds rather than one terminal pass. The order was the discipline — the active set launched clean because the hidden set stayed controlled.
Operational Integrity at handoff
The dominant QA load on this engagement was spa-like copy residue from the shared template base — the agency raised dedicated fix tasks “Replace SPA-LIKE Copy” (3 rows, Redmine #1097) and “Final Spa Removal” (#1206) across multiple rounds, and a separate pre-launch task flagged empty hidden pages that «will be indexed soon after we make website live» (#1197) — all resolved before go-live. 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 | 46 active — homepage, 32 service pages across 5 dental care categories, 9 supporting pages, blog lander + post |
| Hidden pages managed | 37 pages provisioned in staging and held hidden for post-launch content delivery |
| Templates applied | 10 of 10 reusable templates built and mapped across the 46 active pages |
| Launch checklist | 40 items signed off |
| QA / SEO + CX issues tracked + resolved | 272+ items reconciled across the agency’s two issue-backlog tabs |
| Timeline | 83 days, delivered on schedule |
| Effort | 43 hours across development, QA, PM, and post-launch fix rounds |
| Team | 4 specialists |
| Hosting handoff | Live on the agency’s Kinsta Luminous template environment |
The outcome, restated plainly: the agency’s Figma was implemented against their Luminous branded template across 46 active pages and 10 templates, with 37 additional pages held in managed hidden state for post-launch delivery, over 83 calendar days.
Process
| Phase | Duration | Outcome |
|---|---|---|
| Brief & estimation | ~2 days | Figma reviewed, Luminous template access confirmed, scope agreed |
| Customisation development | ~2 weeks | Page-by-page template customisation; hidden-page provisioning managed in parallel |
| QA iterations (concurrent) | ~4 weeks | 272+ issue-backlog items tracked; agency sign-off at initial handoff |
| Post-launch fix rounds | ~6 weeks | Content accuracy corrections (spa-like copy removal, placeholder text, image and credentials updates) executed as discrete Redmine tasks through November 2025 |
| Delivery | November 2025 | Site live on Kinsta; final QA sign-off completed |
Development and QA ran concurrently throughout. Post-launch rounds addressed content residue items that surface only under full editorial review of a live site — a normal cadence on a large Templated engagement where 37 hidden pages are pending content and the live set covers 32 service pages.
Team
Delivery team
- Natalia Bogatel — lead developer (template customisation, Figma-to-layout mapping, post-launch fix coordination)
- Pavel Sazhin — QA (issue-backlog review, design-fidelity verification, fix rounds)
- Timur Arbaev — QA support (additional QA rounds, credentials and image updates)
- Anton Hersun, xaverPRO — project lead (estimation, agency-side communication, sign-off, xaver-tier QA)
The agency managed design, content, client communication, and hosting entirely upstream of our work. Our team was not visible to the practice. Work orders came in through the agency’s shared issue backlog; no task was marked done without agency-side reviewer sign-off on each item.
For agencies with a branded template system
This pattern fits agencies that maintain a multi-client branded template library on Kinsta — dental, legal, and adjacent verticals — and need a dev partner who will customise per-client Figma without touching the shared template beneath. If that describes your setup, send a sample Figma and a link to your template. We will estimate the customisation hours, surface any Figma-to-template deviations that will cost more than they look, and return a fixed-hours quote 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.