A calculator template, redeployed without a rebuild
AppZen's campaign subdomain was in the middle of a platform change: moving from Marketo to HubSpot while campaigns kept running on it. My work was part of a multi-client agency engagement, supporting the migration of tracking, form handlers, and design tokens without breaking live campaign traffic — the kind of work where the visible deliverable is a page, but the harder part is not losing data mid-flight.
Challenge
AppZen was migrating its campaign subdomain from Marketo to HubSpot, and the pages built on it were bottlenecked by rigid, one-off structures. Enterprise lead-gen tools like a finance ROI calculator needed bespoke front-end work for every new offer, which meant every campaign idea waited on developer time before marketing could test it.
Solution
As part of a multi-client consulting engagement, I supported AppZen's Marketo-to-HubSpot migration and built a reusable landing page template for their ROI calculator, unifying the calculation logic, input sliders, value proposition blocks, and HubSpot form capture into one maintainable layout. I also built templates for AppZen's other recurring campaign formats — event pages and gated asset downloads — on the same subdomain.
Outcome
The calculator template was built once and redeployed months later for a second product campaign under the same URL and naming pattern, without a rebuild. The subdomain moved fully onto HubSpot, and campaign teams had templates for the formats they used most, rather than a bespoke build for each.
The build
The recurring bottleneck was AppZen's ROI calculator, a finance-focused interactive tool sales used as a lead-gen asset. Before the rebuild, a calculator page meant hardcoded JavaScript specific to that one launch — every new instance meant an engineer rewriting logic that should have been configuration. I built a template that separated the calculation logic and input fields from the page around them, so a new calculator instance was a matter of setting parameters, not writing new code.
The template held up under the test that matters: reuse. Months after the first version launched, AppZen's marketing team deployed a second calculator instance for a new product line, under the same URL and naming pattern, without pulling me back in to rebuild it. A template that gets reused without its author in the room is the template working as intended.
Beyond the calculator, I built templates for AppZen's other recurring campaign formats on the same subdomain — event landing pages with speaker grids and registration forms, and gated asset downloads — so the subdomain had a small set of reusable shells rather than a page-by-page build for every campaign type.
None of this was really about the calculator specifically. It was about recognizing that a subdomain doesn't need many pages to have a template problem — it needs a small number of recurring formats and the discipline to build each one once. AppZen's campaign subdomain had six or so page types in active rotation at any point, which is a template problem at any scale.
The migration itself closed out cleanly: by the end of the engagement, AppZen's campaign infrastructure was running on HubSpot with the tracking and form handling intact, and the templates left behind meant the next campaign didn't have to start from a blank page.


Built with
- HubSpot CMS
- Marketo
- JavaScript
- HubSpot Forms