← All services

Custom Theme & Template Development

Hand-coded CMS themes. WordPress block themes, Shopify Liquid themes, HubSpot HubL, Craft CMS Twig templates, Squarespace 7.1 customizations. Block-based, accessible, performance-budgeted from commit one. Never built on a page builder. Never sold from a marketplace.

What “custom theme” actually means here

A custom theme is the layout, design system, editor experience, and front-end code for a content-driven website. The CMS handles content storage and editing; the theme is everything visitors see. Done right, it’s the difference between a Lighthouse 60 marketing site that loses revenue and a Lighthouse 98 marketing site that wins it.

Done wrong, the theme is where 80% of the technical debt accumulates. Most agencies ship themes built on three layers of nested page-builders, sixteen jQuery plugins, and a parent-theme + child-theme + framework stack that takes 30 minutes to update without breaking. We won’t.

What goes into a hand-coded theme

Design-system fidelity

We start from Figma at variable-token level. Every color, spacing scale, font ramp, and motion curve in the design becomes a CSS custom property, a theme-JSON token, or a Tailwind config entry — not a hardcoded value embedded in 40 templates. When the brand updates the primary accent color in two years, it’s one variable, not a 4-hour find-and-replace.

Editor UX that people actually want to use

For WordPress: custom Gutenberg blocks with block-variations, full-site-editing-aware patterns, ACF Pro for the cases Gutenberg doesn’t cover. Editors get the same drag-and-drop autonomy a page-builder promises — without the page-builder runtime tax. For Shopify: sectioned themes with shopify_attributes, theme app extensions, schema-defined settings. For HubSpot: HubL modules with field groups, theme settings, drag-and-drop module flexibility.

Performance-budgeted from the first commit

Every theme we ship has a per-page JavaScript budget (typically 70KB compressed for marketing sites, 120KB for storefronts). CSS budget is similar. Anything that would push us over either budget needs a justification in the PR. By launch, the theme is on Lighthouse 95+ across mobile and desktop — it’s not added at the end as “optimization phase.”

Accessibility from the keyboard up

Every interactive component is keyboard-reachable, screen-reader-labelled, and color-contrast-compliant against the design tokens. We test with VoiceOver and NVDA before launch. Not because we have to (WCAG 2.2 AA isn’t mandatory for most US/Indian sites yet), but because it’s the right thing.

Platforms we hand-code themes on

  • WordPress — block themes (FSE-aware), custom Gutenberg blocks, ACF Pro field groups, theme.json design tokens, no page builders.
  • Shopify — sectioned Liquid themes (Dawn-pattern or fully custom), Online Store 2.0 metaobjects, Theme App Extensions, Hydrogen when the project earns headless.
  • HubSpot CMS — HubL modules with field groups, custom theme settings, smart-content rules, HubDB-driven content where it fits.
  • Craft CMS — Twig templating, Matrix fields, custom field types, GraphQL when the front-end is decoupled.
  • Squarespace 7.1 — design-system templates with code-injection overrides, custom CSS framework, custom JavaScript blocks. Honest scope — we tell you when Squarespace is fighting you.

What we won’t do

  • We don’t use Elementor, Divi, WPBakery, Beaver Builder, Brizy, Oxygen, Bricks, or any page-builder runtime on a paid project. Ever.
  • We don’t modify ThemeForest or TemplateMonster themes for clients — we’ll rebuild from scratch instead.
  • We don’t deliver themes without a documented design-token system, a build pipeline, and a CI/CD workflow.
  • We don’t ship themes that score below Lighthouse 90 on mobile. If it can’t hit 90, we don’t ship.

Engagement shape

A typical custom theme engagement runs 5–10 weeks from kickoff to launch. Week one is design-system extraction from Figma into platform-native tokens. Weeks two through six are template build — usually 8–15 page templates and 12–25 reusable blocks/sections. Weeks seven through nine are content migration support and editor onboarding. Week ten is launch.

Friday demo cadence (Loom video, written feedback Monday/Tuesday, re-plan Wednesday, ship Friday). One launch dress-rehearsal one week before go-live. 30-day post-launch warranty.

Pricing

  • Marketing site, 10–15 templates: $18K–$45K, 5–8 weeks
  • Mid-scale marketing / B2B, 20–30 templates with custom blocks: $35K–$80K, 7–12 weeks
  • Enterprise / multi-locale, 40+ templates with workflow tooling: $80K–$180K, 12–20 weeks
  • Shopify custom theme, sectioned + variants: $25K–$70K, 6–10 weeks
  • HubSpot CMS custom theme: $30K–$75K, 7–10 weeks

Flat-fee, scoped after a one-week paid discovery. 40/30/30 milestone billing. No lock-in — if the relationship isn’t working in week three, you walk with full source code and we hand the keys.

Start the build

Tell us about the project — Figma file, current site URL, platform if you’ve already chosen one. We’ll write back within one business day with a fit assessment and a rough scope band. connect@prizorai.com or the form below.

How the work happens

A short, opinionated process. Built around shipping.

Seven phases. Each one independently owned, all connected.

01

Discovery

Week 1

Goals, audience, content, integrations, budget, timeline.

02

Platform rec.

Week 1–2

Honest CMS pick — fits your team, scale, roadmap.

03

Design direction

Week 2–3

Wireframes, system tokens, two visual paths.

04

Build

Week 3–8

Hand-coded blocks, sections, templates. Staging day 3.

05

Optimize

Week 7–8

Lighthouse, Core Web Vitals, accessibility, schema.

06

Launch

Week 8–9

DNS cutover, analytics QA, sitemap submission.

07

Ongoing support

Optional

Retainer for performance, content ops, A/B tests.

Selected work

Different stacks. Same standard.

A spread on purpose — Shopify, WooCommerce, Webflow, headless WP, Framer, Contentful + Astro. Same level of craft, every time.

Pick a stack. Or pick the team that ships every one of them.