7-Template Dental WordPress Build
Seven dental WordPress templates built from Figma and Adobe XD onto isolated instances — 170 hours across 30 days, signed off before the Christmas cutoff.
All 7 templates shipped
Each template is a standalone Figma → Elementor build with its own dental-practice persona, IA, and component library.
Build the URLs across the agency's templates, wire the conversion primitive, then work the QA backlogs to closure.
Engagement: Internal template library development for a US marketing agency
Delivered: December 2024 – January 2025 · 30 days · 170 hours across estimation and build
The Craft of a Template Library Build
Seven isolated dental template builds from Figma to Elementor — 170 hours across 30 days for a US marketing agency’s internal template library. Six Figma designs and one Adobe XD supplied from three design files; each template occupied its own WordPress instance on FastPanel, built to its design file before any client project was assigned.
This case study is a record of that kind of engagement: 170 hours across seven dental templates, each built from Figma (six designs) or Adobe XD (one design) onto isolated WordPress instances, delivered in under a month.
Snapshot
| Field | Value |
|---|---|
| End-client industry | Healthcare — Dental (agency-internal template library) |
| End-client | None — this is an internal engagement for the agency’s own template system |
| Engagement | Internal WordPress template library development for a US marketing agency specialising in local-business websites |
| Project Type | 7 standalone Elementor-Pro template builds on isolated WordPress staging instances |
| Scope | 7 templates — Templates 1–4 from two Figma files (agency-supplied Copy design) + Adobe XD; Templates 5–7 from a third Figma file (the agency’s HOMEPAGE-DESIGNS set). Each template covers: homepage, service page, contact page, and shared header / footer. Responsive (desktop + mobile + tablet) per template. |
| Timeline | 30 days (10 Dec 2024 – 9 Jan 2025), all templates resolved before the Christmas cut-off |
| Effort | 170 hours across 7 templates — per-template range 20h (Templates 4 and 5) to 32h (Template 2) |
| Team | 5 specialists |
| Design source | Figma (6 templates) · Adobe XD (Template 4) — per-template design files provided by agency designers |
| Tech Stack | WordPress · Elementor Pro · Hello Elementor theme · Gravity Forms · FastPanel (server environment) · Site Checker (xaverPRO QA plugin) |
| Delivered | 7 isolated WordPress template instances built, QA-reviewed, and signed off by agency reviewers before Christmas deadline |
| Review rounds | ≈1 review round across the 30-day calendar window |
| Per-ticket effort | 9 internal Redmine tickets · median 23h / P75 28h per ticket |
The Brief
A US marketing agency runs a branded dental template library: when a new dental-practice client is signed, the agency selects one of its established templates and the customisation engagement begins. Expanding that library means building the new template on a fresh, isolated WordPress instance — no client content, no live site, no production audience — and validating it against the agency’s design spec before it is added to the catalogue.
In December 2024, the agency requested expansion of their dental template library by seven templates. Six designs were provided in two Figma files (five from the agency’s design lead, one from a second designer on a shared Figma file, HOMEPAGE-DESIGNS); a seventh came in Adobe XD. The scope per template was: homepage, one service page, one contact page, shared header and footer — all responsive. The technical contract was the design file; the agency would review the built template against the Figma before signing off.
The first four templates were grouped into an initial estimation task. The remaining three were introduced mid-project as the team’s capacity and the incoming designs aligned. All seven ran in parallel across a shared FastPanel server environment.
Risk Context — Template library expansion is a different failure mode than a client-site build. A client-site failure has a visible victim: the agency has to tell a named practice that launch is delayed. A template library failure is subtler: the template looks roughly right but misrepresents the Figma on the components an agency reviewer is unlikely to catch until a real client site is already mid-customisation — at which point the cost is multiplied by every project that used the template. Building cleanly against the design file the first time, before any client touches it, is the entire quality premium of this kind of engagement.
How We Did It
1. Seven templates, seven isolated instances — one coordinated build. Each template occupied its own WordPress installation on the agency’s FastPanel server: separate WordPress admin, separate Gravity Forms licence instance, separate Elementor environment. Isolated instances were chosen over a shared multi-site network, because cross-template configuration drift in a single Elementor environment would have multiplied per-template verification overhead across seven distinct builds. Templates 1–4 were built first (issue #60 in Redmine), with Templates 5, 6, and 7 added six days into the project via a follow-on estimation task (#68). Nikita Tumasevic handled the build across all seven templates; Pavel Sazhin coordinated QA iterations and Timur Arbaev ran template review on Templates 1, 3, and 6 plus the second-batch estimation.
2. Per-template estimation tied to design complexity. Before a single line of Elementor was written, Nikita reviewed all seven designs and produced component-by-component estimates: Template 2 at 32 hours (homepage 17h + services 5h + contact 6h + header/footer 5h), Template 3 at 25 hours (two complex sliders, a show/hide text block, 2 hours for responsive), Template 1 at 28 hours (homepage 16h + service page 3h + contact 3h + header/footer 6h), Template 4 at 20 hours (complex main-screen layout with rounded-section nesting). Templates 5, 6, and 7 came in at 20h, 22h, and 23h respectively once the HOMEPAGE-DESIGNS Figma was available and accessible. All seven estimates were confirmed before build began — no hours were re-negotiated mid-template.
3. Figma access coordination, then build. Two of the six Figma designs were initially restricted — the agency designer had not opened export permissions, meaning the team could view but not download assets. The access issue was resolved within a working day: the agency PM contacted the designer, export access was opened, and the build for those templates proceeded normally. One template (Template 4) was supplied in Adobe XD rather than Figma; the team built from the XD view with placeholder imagery where Adobe-stock assets were locked behind XD’s licence (stock images in XD designs are not downloadable by default — the team substituted placeholder images as instructed, with real images to follow at client-customisation time).
4. QA loops per template before agency sign-off. Each template followed the same handoff pattern: build → internal QA (Nikita reviewing own work) → review notification to Anton Hersun → Anton’s inspection with specific feedback where needed (e.g. Template 2: logo text position in header needed adjustment; Template 4: a rounded-section layout anomaly required a container nesting correction) → revision → sign-off. Per-template review notes were shared via Google Docs links, one document per template, giving the agency a structured sign-off artefact for the catalogue addition. Templates 1, 2, 3, 4 reached “Resolved” status between 18 and 21 December; Templates 5, 6, 7 followed between 23 and 27 December — all before the Christmas close.
Seven templates across 30 days, each moving through the same gate: estimate locked to design complexity, build, «Проверено, на отправку» internal sign-off, then the Google Docs review document shared with the agency for catalogue addition. The per-template gate is what kept seven parallel builds from collapsing into one unresolvable review queue at the end.
Operational Integrity at handoff
Per-template review caught layout-integrity issues across three of the seven instances before the agency saw any of them — a footer text element that had drifted left in Template 2, a rounded-section container that wasn’t fully nested in Template 4, and a half-width button hover area in Template 5 — each fixed and confirmed against the Figma before the per-template Google Docs sign-off was shared. 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.
Results
| Metric | Outcome |
|---|---|
| Templates built | 7 — Dental Templates 1–7, each on an isolated WordPress instance |
| Design sources covered | Figma (6 templates across 2 Figma files) + Adobe XD (1 template) |
| Hour range per template | 20h–32h — Template 4 and 5 at 20h each (lighter homepage compositions); Template 2 at 32h (heaviest, 17h homepage alone) |
| Total effort | 170h against a 170h estimate — no overrun across any template |
| Responsive coverage | Desktop · tablet · mobile per template |
| Per-template sign-off | 7 / 7 Google Docs review documents produced and agency sign-off received |
| All templates resolved by | 27 December 2024 — before the agency’s Christmas deadline |
| All tasks formally closed | 9 January 2025 |
| Timeline | 30 days (10 Dec 2024 – 9 Jan 2025), delivered on schedule |
| Production URL | None — templates live on agency-internal staging subdomains; not a public client site |
Process
| Phase | Duration | Outcome |
|---|---|---|
| Estimation — Templates 1–4 | 2 days (10–11 Dec) | Component-by-component hour breakdown produced; 105h quoted across first batch |
| Estimation — Templates 5–7 | 1 day (16 Dec) | Second batch estimated after HOMEPAGE-DESIGNS Figma became available; 65h added |
| Build — all 7 templates in parallel | ~10 days (12–23 Dec) | WordPress instances provisioned on FastPanel; Elementor Pro + Hello Elementor + Gravity Forms installed on each; builds progressed template-by-template with Nikita leading and Anna supporting Templates 5–7 |
| Figma access resolution | ~1 day (mid-Dec) | Export permissions opened for restricted Figma; placeholder imagery used for Adobe-stock-locked XD assets |
| QA and agency sign-off per template | Continuous (18–27 Dec) | Per-template review → specific feedback → revision loop → Google Docs sign-off artefact; all 7 resolved by 27 Dec |
| Formal close | 9 Jan 2025 | All Redmine tasks closed as Completed; payment confirmed |
Build phases overlapped — Templates 1–4 were already in QA by the time Templates 5–7 entered construction, which is why the 30-day calendar span contains more than 170 hours of total effort.
Team
Delivery team
- Nikita Tumasevic — lead developer across all 7 templates; primary Figma interpretation and Elementor implementation
- Pavel Sazhin — project management and QA iterations
- Timur Arbaev — template review and feedback across Templates 1, 3, and 6 plus the second-batch estimation; design-vs-build verification before agency hand-off
- Anton Hersun, xaverPRO — project lead (estimation, agency-side communication, per-template sign-off loop)
Agency-side project management and client-facing design decisions remained with the partner agency throughout. Our team was invisible to the end client (there was no end client on this engagement — the deliverable was the template itself).
For agencies commissioning WordPress template library work
This pattern fits agencies that maintain a branded dental template library and commission isolated builds to expand it — one WordPress instance per template, Figma as the design contract, no client site in scope. If your agency works this way, send a Figma file and a scope note naming the template count and the page types per template. We will return a component-level fixed-hours estimate within 24 hours, at no cost and 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 →