Reroute HQ
A QR code app that got faster as it grew
A QR code SaaS whose marketing homepage got faster and steadier, and gained a full set of security headers, while the product behind it kept growing.


Before · v1, March 2026 (commit 83544f4) · After · Live site, September 2026


| Metric | Before | After |
|---|---|---|
| Security headers | 0 of 5 | 5 of 5 |
| Mobile performance | 82 | 94 |
| Mobile accessibility | 90 | 97 |
| Mobile SEO | 92 | 100 |
| Layout shift (CLS) | 0.26 | 0 |
Reroute HQ is our own product: a QR code generator with dynamic codes whose destination can be changed after printing. We show it here as in-house work, not as a client result.
Starting point
The first branded version, from March 2026, worked but had rough edges that are easy to miss by eye. A self-referencing font variable meant the intended typeface never loaded, so the page fell back to a browser serif. Content moved as it loaded (a layout shift of about 0.26, well past the 0.1 that Google treats as good). Lighthouse flagged low-contrast text, skipped heading levels, and an unlabeled form control, and the repository set none of the five security headers we check.
What we changed
Over six months the product kept growing, including a developer API. Along the way we rebranded it. The early “reRoute” wordmark and QR-pattern icon gave way in August 2026 to a new identity, and the marketing homepage was redesigned around it, with a new type system, clearer copy about what the product does and costs, and a steadier layout. We moved hosting to Netlify, added a Content-Security-Policy and the other standard security headers, and fixed the accessibility and SEO issues Lighthouse reported.
Outcome
- Security headers: none of five set by the v1 repository, all five on the live site.
- Lighthouse (mobile): performance 82 → 94, accessibility 90 → 97, SEO 92 → 100.
- Layout shift: about 0.26 → 0.
Best practices went from 100 to 96. The only failure in the “after” runs was a console error from an analytics script that could not connect on our test machine.
How we measured
Both versions were built from the repository and served locally with next start on the same
machine, with placeholder settings and no production credentials. Lighthouse scores are the median
of three mobile runs of Lighthouse 12.6 for each version, on 26 September 2026. The “before” is
commit 83544f4, a one-file type fix made 20 minutes after the first branded homepage (1f983b5),
which did not build. “Before” security headers come from the v1 repository configuration; “after”
headers come from the live site.