[ Case study ]
Paid traffic landed on a page-builder template that weighed 2.4MB and scored 38 on mobile performance. The calculator — the page's whole job — lagged on mid-range phones, and every 100ms of delay was visible in the conversion data.
CLIENT a consumer-finance comparison startup — FOCUS Design the argument, then the page
Representative examplesEvery case study in this library is an illustrative composite of the kind of engagement we deliver — written to show our method and standards, not to name clients.
Paid search feeds most of this consumer-finance comparison startup's traffic, and the campaign page for its regulated product category is where that traffic either calculates or leaves. The company runs lean — a five-person team, with engineering time borrowed from the contractors who maintain the core site. Campaign pages lived in a page builder the previous marketing hire had chosen: quick to assemble, heavy to load, and hostile to edits. Rates for the page's comparison calculator changed weekly, and every change meant opening a visual editor and hoping nothing else moved.
Paid traffic landed on a page-builder template that weighed 2.4MB and scored 38 on mobile performance. The calculator — the page's whole job — lagged on mid-range phones, and every 100ms of delay was visible in the conversion data.
Restructure the page around one decision — compare, calculate, act — with proof placed where doubt actually occurs, then hand-build it: lean markup and styles with one small interactive island for the calculator. Rates move into a single editable data file with a documented update path, so marketing changes them without touching the calculator or the compliance text. The compliance wording ships verbatim and is treated as immutable content in the file. Analytics events are named once, in a shared dictionary, so future arguments start from agreed definitions.
Just as important is what we ruled out, and why:
The page was restructured around one decision — compare, calculate, act — with proof placed where doubt actually occurred.
Lean HTML/CSS with one small interactive island for the calculator; total weight dropped an order of magnitude without dropping the calculator.
Rates moved into a single editable data file with a documented update path, so marketing changes rates without a deploy risk.
Delivered by the experience pod — frontend engineer over 3 weeks, with working increments reviewed with the client every week.
Obstacle
The calculator's logic existed only as nested conditionals configured in the builder's visual editor — no source code, no documentation, just behavior.
Handled: We reconstructed the formula by running every input combination against the live page, confirmed outputs with the product owner, and put tests around the compliance-relevant cases before reimplementing.
Obstacle
The funding announcement moved a week earlier midway through the build, cutting a timeline that was already the binding constraint.
Handled: We cut the second proof section into the post-launch backlog, shipped the calculator path first, and landed with two days to spare and a booked follow-up for the rest.
The headline: mobile lighthouse performance score (lab diagnostic), with p75 lcp moving from 4.2s to 1.3s in field data — 38 → 96, read from Lighthouse + CrUX field data. A second check: calculator-to-application conversion at +24%.
Rate changes stopped being an event. The marketing lead edits a file, previews it, and publishes — a process that once required the builder, a careful eye, and occasional repairs now takes minutes and cannot break the calculator. The paid team sends mobile traffic without apology, and the funding announcement went out behind a page that loads before the visitor's thumb settles. The contractors' next invoice, for once, was small.
The result was read from Lighthouse + CrUX field data against the pre-engagement baseline over the stated window, with a guardrail check on calculator-to-application conversion. Where platform-reported numbers and business outcomes differ, this record says which layer it is quoting.
What we would do differently
We would have shipped the rate-file updater with the launch — the first update request arrived 48 hours later and went through engineering.
[ Related service ]
[ Related builds ]
2.9% 7.8%Replay-to-enrollment conversion across the next two cohorts versus the two prior
4.1% 9.3%Visit-to-demo-request conversion across all ad groups, 8 weeks after launch versus 8 weeks before
[ Next step ]
Next case study