






Project Overview
Building a Multi-Tenant HubSpot CMS Engine
Discovery Senior Living (DSL) is one of the largest U.S. senior living management companies, operating hundreds of communities and acquiring dozens more annually. Rapid growth created a fragmented web ecosystem: legacy websites, disconnected CMS platforms (mostly WordPress), inconsistent branding, outdated design systems, and no shared architecture.
Updates were slow and risky, branding inconsistent, analytics unreliable, compliance at risk, and go-to-market execution severely bottlenecked. The incumbent agency fell far behind schedule. HALO stepped in, built and deployed a governed, multi-tenant HubSpot CMS platform that now powers 380+ sites and 20,000+ pages in under 90 days.
380+
Sites migrated
20,000+
Pages consolidated
Under 90 days
End-to-end migration

The Challenge
Turning a Fragmented CMS into a Unified, Scalable Platform
Every acquisition added another incompatible tech stack, compounding complexity:
Brand & GTM issues: New sites remained off-brand for weeks/ months; inconsistent UX, forms, and content delayed revenue.
Operational drag: Routine updates required developers; no centralized governance for styling, accessibility, or compliance.
Technical debt: Undocumented/inline code, incompatible layouts, broken redirects, dead links, fragmented blogs hurting SEO, missing or unreliable GA4/cross-domain tracking.
Scalability limits: No component reuse or hierarchy; rebuilding the same elements repeatedly across properties.




The Solution
Platform-Level Digital Transformation
HALO re-architected HubSpot CMS as a true multi-tenant platform using external tooling, Git-based workflows, HubSpot CLI, and custom automation.
System-First
DesignBuilt in Figma + local environments as the single source of truth before touching HubSpot.
Parent–Child
Theme ArchitectureOne shared parent theme (global layout, Hubl, tokens, header/footer) + per-property child themes for style overrides (colors, logos, etc.). Zero code duplication; updates cascade automatically.
Parameterized Module Library
Structured JSON-schema modules (Hero, Nav, Card Deck, CTA, etc.) with visual editing support — enabling fast, consistent page assembly by non-technical users.
Two Template
ModesLocked “Basic Mode” for compliance-critical pages; flexible “Dynamic Mode” with drag-and-drop for marketers.
CI/CD & Deployment Pipeline
Figma → Local dev → HubSpot CLI → GitHub → Sandbox → Production. Structured versioning, instant rollbacks, safer releases.
One-Click Programmatic Provisioning
Custom tool auto-creates sites: attaches domains/subdomains, applies templates (Home, Services, Gallery, etc.), sets brand styling/contact info, configures blogs/SEO/sitemaps — no developer required.
Scripted WordPress, HubSpot migration
Inventory mapping + scripted migration for pattern-matched content → enabled rapid, lower-risk transfer of 100+ WordPress sites and 12,000+ pages initially (ultimately 300+ sites and 20,000+ pages).
System-First
DesignBuilt in Figma + local environments as the single source of truth before touching HubSpot.
Parent–Child
Theme ArchitectureOne shared parent theme (global layout, Hubl, tokens, header/footer) + per-property child themes for style overrides (colors, logos, etc.). Zero code duplication; updates cascade automatically.
Parameterized Module Library
Structured JSON-schema modules (Hero, Nav, Card Deck, CTA, etc.) with visual editing support — enabling fast, consistent page assembly by non-technical users.
Two Template
ModesLocked “Basic Mode” for compliance-critical pages; flexible “Dynamic Mode” with drag-and-drop for marketers.
CI/CD & Deployment Pipeline
Figma → Local dev → HubSpot CLI → GitHub → Sandbox → Production. Structured versioning, instant rollbacks, safer releases.
One-Click Programmatic Provisioning
Custom tool auto-creates sites: attaches domains/subdomains, applies templates (Home, Services, Gallery, etc.), sets brand styling/contact info, configures blogs/SEO/sitemaps — no developer required.
Scripted WordPress, HubSpot migration
Inventory mapping + scripted migration for pattern-matched content → enabled rapid, lower-risk transfer of 100+ WordPress sites and 12,000+ pages initially (ultimately 300+ sites and 20,000+ pages).
System-First
DesignBuilt in Figma + local environments as the single source of truth before touching HubSpot.
Parent–Child
Theme ArchitectureOne shared parent theme (global layout, Hubl, tokens, header/footer) + per-property child themes for style overrides (colors, logos, etc.). Zero code duplication; updates cascade automatically.
Parameterized Module Library
Structured JSON-schema modules (Hero, Nav, Card Deck, CTA, etc.) with visual editing support — enabling fast, consistent page assembly by non-technical users.
Two Template
ModesLocked “Basic Mode” for compliance-critical pages; flexible “Dynamic Mode” with drag-and-drop for marketers.
CI/CD & Deployment Pipeline
Figma → Local dev → HubSpot CLI → GitHub → Sandbox → Production. Structured versioning, instant rollbacks, safer releases.
One-Click Programmatic Provisioning
Custom tool auto-creates sites: attaches domains/subdomains, applies templates (Home, Services, Gallery, etc.), sets brand styling/contact info, configures blogs/SEO/sitemaps — no developer required.
Scripted WordPress, HubSpot migration
Inventory mapping + scripted migration for pattern-matched content → enabled rapid, lower-risk transfer of 100+ WordPress sites and 12,000+ pages initially (ultimately 300+ sites and 20,000+ pages).
System-First
DesignBuilt in Figma + local environments as the single source of truth before touching HubSpot.
Parent–Child
Theme ArchitectureOne shared parent theme (global layout, Hubl, tokens, header/footer) + per-property child themes for style overrides (colors, logos, etc.). Zero code duplication; updates cascade automatically.
Parameterized Module Library
Structured JSON-schema modules (Hero, Nav, Card Deck, CTA, etc.) with visual editing support — enabling fast, consistent page assembly by non-technical users.
Two Template
ModesLocked “Basic Mode” for compliance-critical pages; flexible “Dynamic Mode” with drag-and-drop for marketers.
CI/CD & Deployment Pipeline
Figma → Local dev → HubSpot CLI → GitHub → Sandbox → Production. Structured versioning, instant rollbacks, safer releases.
One-Click Programmatic Provisioning
Custom tool auto-creates sites: attaches domains/subdomains, applies templates (Home, Services, Gallery, etc.), sets brand styling/contact info, configures blogs/SEO/sitemaps — no developer required.
Scripted WordPress, HubSpot migration
Inventory mapping + scripted migration for pattern-matched content → enabled rapid, lower-risk transfer of 100+ WordPress sites and 12,000+ pages initially (ultimately 300+ sites and 20,000+ pages).
System-First
DesignBuilt in Figma + local environments as the single source of truth before touching HubSpot.
Parent–Child
Theme ArchitectureOne shared parent theme (global layout, Hubl, tokens, header/footer) + per-property child themes for style overrides (colors, logos, etc.). Zero code duplication; updates cascade automatically.
Parameterized Module Library
Structured JSON-schema modules (Hero, Nav, Card Deck, CTA, etc.) with visual editing support — enabling fast, consistent page assembly by non-technical users.
Two Template
ModesLocked “Basic Mode” for compliance-critical pages; flexible “Dynamic Mode” with drag-and-drop for marketers.
CI/CD & Deployment Pipeline
Figma → Local dev → HubSpot CLI → GitHub → Sandbox → Production. Structured versioning, instant rollbacks, safer releases.
One-Click Programmatic Provisioning
Custom tool auto-creates sites: attaches domains/subdomains, applies templates (Home, Services, Gallery, etc.), sets brand styling/contact info, configures blogs/SEO/sitemaps — no developer required.
Scripted WordPress, HubSpot migration
Inventory mapping + scripted migration for pattern-matched content → enabled rapid, lower-risk transfer of 100+ WordPress sites and 12,000+ pages initially (ultimately 300+ sites and 20,000+ pages).
System-First
DesignBuilt in Figma + local environments as the single source of truth before touching HubSpot.
Parent–Child
Theme ArchitectureOne shared parent theme (global layout, Hubl, tokens, header/footer) + per-property child themes for style overrides (colors, logos, etc.). Zero code duplication; updates cascade automatically.
Parameterized Module Library
Structured JSON-schema modules (Hero, Nav, Card Deck, CTA, etc.) with visual editing support — enabling fast, consistent page assembly by non-technical users.
Two Template
ModesLocked “Basic Mode” for compliance-critical pages; flexible “Dynamic Mode” with drag-and-drop for marketers.
CI/CD & Deployment Pipeline
Figma → Local dev → HubSpot CLI → GitHub → Sandbox → Production. Structured versioning, instant rollbacks, safer releases.
One-Click Programmatic Provisioning
Custom tool auto-creates sites: attaches domains/subdomains, applies templates (Home, Services, Gallery, etc.), sets brand styling/contact info, configures blogs/SEO/sitemaps — no developer required.
Scripted WordPress, HubSpot migration
Inventory mapping + scripted migration for pattern-matched content → enabled rapid, lower-risk transfer of 100+ WordPress sites and 12,000+ pages initially (ultimately 300+ sites and 20,000+ pages).
System-First
DesignBuilt in Figma + local environments as the single source of truth before touching HubSpot.
Parent–Child
Theme ArchitectureOne shared parent theme (global layout, Hubl, tokens, header/footer) + per-property child themes for style overrides (colors, logos, etc.). Zero code duplication; updates cascade automatically.
Parameterized Module Library
Structured JSON-schema modules (Hero, Nav, Card Deck, CTA, etc.) with visual editing support — enabling fast, consistent page assembly by non-technical users.
Two Template
ModesLocked “Basic Mode” for compliance-critical pages; flexible “Dynamic Mode” with drag-and-drop for marketers.
CI/CD & Deployment Pipeline
Figma → Local dev → HubSpot CLI → GitHub → Sandbox → Production. Structured versioning, instant rollbacks, safer releases.
One-Click Programmatic Provisioning
Custom tool auto-creates sites: attaches domains/subdomains, applies templates (Home, Services, Gallery, etc.), sets brand styling/contact info, configures blogs/SEO/sitemaps — no developer required.
Scripted WordPress, HubSpot migration
Inventory mapping + scripted migration for pattern-matched content → enabled rapid, lower-risk transfer of 100+ WordPress sites and 12,000+ pages initially (ultimately 300+ sites and 20,000+ pages).
System-First
DesignBuilt in Figma + local environments as the single source of truth before touching HubSpot.
Parent–Child
Theme ArchitectureOne shared parent theme (global layout, Hubl, tokens, header/footer) + per-property child themes for style overrides (colors, logos, etc.). Zero code duplication; updates cascade automatically.
Parameterized Module Library
Structured JSON-schema modules (Hero, Nav, Card Deck, CTA, etc.) with visual editing support — enabling fast, consistent page assembly by non-technical users.
Two Template
ModesLocked “Basic Mode” for compliance-critical pages; flexible “Dynamic Mode” with drag-and-drop for marketers.
CI/CD & Deployment Pipeline
Figma → Local dev → HubSpot CLI → GitHub → Sandbox → Production. Structured versioning, instant rollbacks, safer releases.
One-Click Programmatic Provisioning
Custom tool auto-creates sites: attaches domains/subdomains, applies templates (Home, Services, Gallery, etc.), sets brand styling/contact info, configures blogs/SEO/sitemaps — no developer required.
Scripted WordPress, HubSpot migration
Inventory mapping + scripted migration for pattern-matched content → enabled rapid, lower-risk transfer of 100+ WordPress sites and 12,000+ pages initially (ultimately 300+ sites and 20,000+ pages).
System-First
DesignBuilt in Figma + local environments as the single source of truth before touching HubSpot.
Parent–Child
Theme ArchitectureOne shared parent theme (global layout, Hubl, tokens, header/footer) + per-property child themes for style overrides (colors, logos, etc.). Zero code duplication; updates cascade automatically.
Parameterized Module Library
Structured JSON-schema modules (Hero, Nav, Card Deck, CTA, etc.) with visual editing support — enabling fast, consistent page assembly by non-technical users.
Two Template
ModesLocked “Basic Mode” for compliance-critical pages; flexible “Dynamic Mode” with drag-and-drop for marketers.
CI/CD & Deployment Pipeline
Figma → Local dev → HubSpot CLI → GitHub → Sandbox → Production. Structured versioning, instant rollbacks, safer releases.
One-Click Programmatic Provisioning
Custom tool auto-creates sites: attaches domains/subdomains, applies templates (Home, Services, Gallery, etc.), sets brand styling/contact info, configures blogs/SEO/sitemaps — no developer required.
Scripted WordPress, HubSpot migration
Inventory mapping + scripted migration for pattern-matched content → enabled rapid, lower-risk transfer of 100+ WordPress sites and 12,000+ pages initially (ultimately 300+ sites and 20,000+ pages).
System-First
DesignBuilt in Figma + local environments as the single source of truth before touching HubSpot.
Parent–Child
Theme ArchitectureOne shared parent theme (global layout, Hubl, tokens, header/footer) + per-property child themes for style overrides (colors, logos, etc.). Zero code duplication; updates cascade automatically.
Parameterized Module Library
Structured JSON-schema modules (Hero, Nav, Card Deck, CTA, etc.) with visual editing support — enabling fast, consistent page assembly by non-technical users.
Two Template
ModesLocked “Basic Mode” for compliance-critical pages; flexible “Dynamic Mode” with drag-and-drop for marketers.
CI/CD & Deployment Pipeline
Figma → Local dev → HubSpot CLI → GitHub → Sandbox → Production. Structured versioning, instant rollbacks, safer releases.
One-Click Programmatic Provisioning
Custom tool auto-creates sites: attaches domains/subdomains, applies templates (Home, Services, Gallery, etc.), sets brand styling/contact info, configures blogs/SEO/sitemaps — no developer required.
Scripted WordPress, HubSpot migration
Inventory mapping + scripted migration for pattern-matched content → enabled rapid, lower-risk transfer of 100+ WordPress sites and 12,000+ pages initially (ultimately 300+ sites and 20,000+ pages).
System-First
DesignBuilt in Figma + local environments as the single source of truth before touching HubSpot.
Parent–Child
Theme ArchitectureOne shared parent theme (global layout, Hubl, tokens, header/footer) + per-property child themes for style overrides (colors, logos, etc.). Zero code duplication; updates cascade automatically.
Parameterized Module Library
Structured JSON-schema modules (Hero, Nav, Card Deck, CTA, etc.) with visual editing support — enabling fast, consistent page assembly by non-technical users.
Two Template
ModesLocked “Basic Mode” for compliance-critical pages; flexible “Dynamic Mode” with drag-and-drop for marketers.
CI/CD & Deployment Pipeline
Figma → Local dev → HubSpot CLI → GitHub → Sandbox → Production. Structured versioning, instant rollbacks, safer releases.
One-Click Programmatic Provisioning
Custom tool auto-creates sites: attaches domains/subdomains, applies templates (Home, Services, Gallery, etc.), sets brand styling/contact info, configures blogs/SEO/sitemaps — no developer required.
Scripted WordPress, HubSpot migration
Inventory mapping + scripted migration for pattern-matched content → enabled rapid, lower-risk transfer of 100+ WordPress sites and 12,000+ pages initially (ultimately 300+ sites and 20,000+ pages).
System-First
DesignBuilt in Figma + local environments as the single source of truth before touching HubSpot.
Parent–Child
Theme ArchitectureOne shared parent theme (global layout, Hubl, tokens, header/footer) + per-property child themes for style overrides (colors, logos, etc.). Zero code duplication; updates cascade automatically.
Parameterized Module Library
Structured JSON-schema modules (Hero, Nav, Card Deck, CTA, etc.) with visual editing support — enabling fast, consistent page assembly by non-technical users.
Two Template
ModesLocked “Basic Mode” for compliance-critical pages; flexible “Dynamic Mode” with drag-and-drop for marketers.
CI/CD & Deployment Pipeline
Figma → Local dev → HubSpot CLI → GitHub → Sandbox → Production. Structured versioning, instant rollbacks, safer releases.
One-Click Programmatic Provisioning
Custom tool auto-creates sites: attaches domains/subdomains, applies templates (Home, Services, Gallery, etc.), sets brand styling/contact info, configures blogs/SEO/sitemaps — no developer required.
Scripted WordPress, HubSpot migration
Inventory mapping + scripted migration for pattern-matched content → enabled rapid, lower-risk transfer of 100+ WordPress sites and 12,000+ pages initially (ultimately 300+ sites and 20,000+ pages).

How it works
A Governed System, Engineered like Software
HALO designed every layer of the DSL platform to be scalable, reusable, and safe for both marketers and developers.
Capability
Capability
Centralized Governance
Centralized Governance
Speed & Scale
Speed & Scale
Reduced Risk
Reduced Risk
Better Data & Operations
Better Data & Operations
Lower Long-Term Cost
Lower Long-Term Cost
Overall Transformation
Overall Transformation
Outcome
Outcome
One change cascades to all 380+ sites; marketing retains control while local teams stay unblocked.
One change cascades to all 380+ sites; marketing retains control while local teams stay unblocked.
New sites launch in minutes/days instead of months.
New sites launch in minutes/days instead of months.
Versioning, sandboxing, and automation lead to fewer outages, less rework, and cleaner migrations.
Versioning, sandboxing, and automation lead to fewer outages, less rework, and cleaner migrations.
Reliable tracking, clean attribution, lifecycle-ready architecture for improved reporting and ops.
Reliable tracking, clean attribution, lifecycle-ready architecture for improved reporting and ops.
Eliminates multi-vendor friction, reduces dev ticket backlog and platform sprawl.
Eliminates multi-vendor friction, reduces dev ticket backlog and platform sprawl.
HubSpot CMS shifts from bottleneck to growth engine, supporting centralized brand control and repeatable enterprise-scale value.
HubSpot CMS shifts from bottleneck to growth engine, supporting centralized brand control and repeatable enterprise-scale value.




Why It Matters
From MVP to Market-Ready Platform
For multi-location brands
Managing hundreds of properties is a systems problem, not just a web design one. Fragmented stacks must be replaced with governed, scalable platforms that support acquisition-driven growth and distributed teams.
For HubSpot users
Most agencies treat HubSpot as a simple builder. HALO extends it with real product engineering — external tooling, true DevOps pipelines, provisioning logic, and version-controlled workflows — turning it into a modern, scalable layer in the digital stack.





