← Shannon Lunsford
PLATFORM REBUILD · PRODUCT OWNER · BUILDOUT

Turning years of technical debt into a self-updating template system

How I rebuilt a sprawling library of forked, custom page templates into one connected system — cutting design and support load while giving every client out-of-the-box configurability.

Role
Product Owner
Company
Buildout (CRE marketing automation)
Timeframe
2015 – 2019
Focus
Platform architecture · prioritization · cross-functional launch
~47%
reduction in design-team workload
~65%
fewer support requests on rebuilt templates
1,000s
redundant templates retired
layout flexibility vs. the old static options
// context

A marketing platform where every customization forked the product

Buildout is a marketing-automation platform used across commercial real estate. Its design team builds dynamic marketing templates — assembled from single-page applications that pull property data live — so brokers can generate polished materials in minutes.

The platform offered free design customizations to every client. The problem: each customization forked a page off its master template and disconnected it from the default. Over years, that quietly became the biggest constraint on the whole product.

// the problem

Thousands of disconnected templates, and the debt that came with them

the core insight

The platform's original power — dynamic, data-connected templates shared across every client — had been slowly eroded one fork at a time. The fix wasn't more templates. It was reconnecting clients to a single, configurable source.

// the approach

"Power Pages" — connected templates with out-of-the-box configuration

I reverse-engineered the software's original intent and designed a new product line that keeps every client on the primary update path while still allowing client-specific configuration — no forking required.

Scope & MVP

56 core templates

Defined the MVP as the 56 out-of-the-box templates that made up the core document offering, scoping each page's dynamic requirements individually.

Prioritization model

Value × ARR ÷ effort

Built a scoring model weighting each request by cross-client value, the requesting client's ARR, and internal effort to implement.

Design standards

One system, platform-wide

Set consistent standards for branding logic, template sizing, data naming, and page-level configuration so Power Pages and custom pages could coexist.

Dynamic functionality

33 layouts, not 9

Turned static layouts into user-controlled ones — e.g. a photo grid went from 9 fixed options to 33 configurable ones, removing the need to fork.

I ran multi-stage QA (design, functionality, client-services, and pre/post-launch dev checks) and coordinated the rollout across Development, Customer Support, and Marketing from a custom agile board — pairing each launch with a knowledge-base article so clients could self-serve the new capabilities.

// the hard part

Shipping a versioning system that could safely update ~10,000 live documents

Updating a template meant touching every document it lived in — sometimes approaching 10,000 instances. So I partnered with a small engineering team to design and ship a versioning system the platform had never had: it connected templates to their prior versions, allowed design updates in a non-live environment, and — critically — made changes safely reversible.

I worked through the acceptance criteria line by line with the developers, set up test environments for every document condition, and ran post-launch QA on standby during each deploy to catch anything that needed reverting.

// results

Less internal load, a more consistent product, and clients who could self-serve

← All case studies Get in touch →