GetBold Website Redesign & Quoting-Engine Re-platforming

Overview

GetBold is a North-Vancouver-based custom apparel printer. Their public-facing site was a WordPress site with a basic online quoting tool and price calculator. I was hired as a solo full-stack developer to:

  • Refresh the visual identity and make the site feel premium.
  • Integrate a new front-end with InkSoft—the SaaS platform the owners believed would handle products and checkout.
  • Improve SEO, performance, and conversion on both desktop and mobile.

Over three years I built the new site with Next.js + TypeScript, migrated content into Sanity CMS, and experimented with InkSoft’s APIs. When we confirmed InkSoft’s limitations blocked essential quoting features, I pivoted to a custom quoting engine. The redesign now runs at getbold-v3.vercel.app and will deploy on Vercel for production.


The Challenge

Legacy pain points (WordPress)

  • Outdated look & feel; inconsistent brand colours.
  • Hard-coded PHP templates—marketing couldn’t edit pages without a developer.
  • Quote form offered basic automatic pricing two decoration methods only, yet staff still had to finalise many quotes offline; no multi-decoration quoting.

Initial strategy (InkSoft integration)

  • Connect the new Next.js front-end to InkSoft’s catalogue, cart, and checkout APIs.
  • Keep inventory and order data inside InkSoft to avoid building a commerce backend.

Critical blockers discovered after ~9 months

Business needInkSoft limitation
One design, multiple productsOnly one product per design
Multiple decoration methodsNot supported
Custom price overrides & mark-upsAPI locked; cannot override pricing
Extendable decoration catalogueNo way to add new methods (e.g., patches)
Transparent checkout totalsWorkarounds via “notes” confused customers

After presenting these findings, the Manager agreed we should abandon InkSoft and own the entire quoting workflow.


Solution

Technology stack

LayerChoiceRationale
Front-endNext.js, TypeScriptSEO, file-system routing, React ecosystem, type safety.
CMSSanityReal-time collaboration, block-based content.
UIMantineFast theming and rich component set.
CI/CDGitHub Actions → VercelPreview environments + global CDN.

Key features shipped

  1. Flexible Quote Builder — Any number of products & decoration methods per design; real-time pricing via custom mark-up rules.
  2. Responsive Design System — New colour palette and typography scale with accessible contrast.
  3. Transactional Emails — Branded SendGrid templates with dynamic order summaries.
  4. Performance & SEO — Better LCP/CLS, structured data, cleaner URLs.
  5. In-house Ownership — All code in GetBold’s GitHub org; no vendor lock-in.

Results

I wrapped up my work on GetBold in April 2026 with the redesigned site and its new quoting engine live; the figures below reflect the version I shipped. (After my engagement ended, the company brought on an external SEO agency that has since revised the hero and footer, so the current live site may differ from the screenshots shown here.)

Lab audit — Lighthouse (desktop, 21 Apr 2026)

CategoryScore
Performance94
Accessibility100
Best Practices100
SEO100

Core Web Vitals and lab metrics (desktop):

MetricValue
First Contentful Paint0.3 s
Largest Contentful Paint0.5 s
Total Blocking Time130 ms
Cumulative Layout Shift0.121
Speed Index0.5 s
Lighthouse desktop report for GetBold: Performance 94, Accessibility 100, Best Practices 100, SEO 100

Field data — real users (Chrome UX Report, desktop)

Beyond the lab audit, real-user data from the Chrome UX Report shows loading performance and interactivity holding steady in Google's "good" range, with a clear step-change in loading performance around the relaunch. Visual stability also sits in the "good" range, though it has started to trend upward (regressing) in the most recent months.

Chrome UX Report Core Web Vitals trend for GetBold on desktop through 2026-08-15: loading performance and interactivity good and stable, visual stability good but regressing

Visual comparison

Legacy WordPress home page New Next.js home page Old quote form with single-product pricing New multi-product, multi-decoration quote builder

Lessons & Next Steps

  • Validate platform constraints early—time sunk into a closed SaaS can exceed building bespoke.
  • Embed CMS from day 1—marketing can iterate without code freezes.