Luka Rakic

01Selected work

Hot Springs Pools & Spas

A CMS-driven product hub for saunas and cold plunges, built for a pool and spa retailer with showrooms across the Carolinas.

Role
Design + Build + Copy
Client
Hot Springs Pools & Spas Delivered at Branded by Greenville
Stack
Webflow CMS Finsweet Attributes Custom interactions
Status
Live
Hot Springs saunas and cold plunges hub hero: the headline beside a sauna photo

02Approach

A product hub built like a system

Hot Springs sells saunas and cold plunges out of showrooms across the Carolinas, and needed one destination for the category instead of a scatter of one-off pages.

I handled design, build and copy, working inside their existing brand and pushing the tone toward luxury and wellness. Every model runs off a CMS collection template, so the next sauna or plunge is a few fields, not a rebuild.

Hub page with an editorial hero over a Shop by Model browser
Hub page · Shop by Model browser, tabbed by collection

03CMS templates

One template. Ten-plus models

Saunas and cold plunges each run on a single CMS collection template. Every model shares one layout, so non-technical staff publish the next one without touching structure or waiting on a developer.

  • ACold plunge template
  • BSauna template
Cold plunge template with shell and cabinet colour options
A
Sauna template showing the Lulea 3 model and its specs
B

04Interactions

Configuration, without the complexity

Person-count toggles and colour swatches run on Finsweet Attributes over CMS items, not hardcoded states. Each variant is its own entry, so a new colourway or seat count shows up in the configurator the moment it's added.

Sauna configurator set to 3 person, showing the Lulea 3

3 Person4 Person

Sauna configurator set to 4 person, showing the Lulea 4
Cold plunge configurator with the Ash cabinet selected

Cabinet · AshCabinet · Mocha

Cold plunge configurator with the Mocha cabinet selected
  1. 01

    Person-count toggle

    Swaps name, description, render, dimensions, heater and electrical spec in one step.

  2. 02

    Shell + cabinet swatches

    Update the product render live while the quote and brochure CTAs hold their place.

  3. 03

    CMS-backed variants

    Every state is a collection item the client can add or edit.

05Design system

Designed to live inside their brand

Built from the components and type already live on hotspringspools.net, with the serif display face and more generous spacing pushed toward luxury and wellness. The contrast-therapy copy is sourced from published research and quoted with named researchers, not wellness filler.

Aa

Tiempos Headline

Display

Aa

Neue Montreal

Body

  • #232d41
  • #2373eb
  • #dcebfa
  • #fffaf5
Contrast therapy education block with a sourced research quote
The hub page on a laptop
The hub hero on a phone: sans and italic serif headline over a sauna photo
  • A · Sourced claims
  • B · Hub on desktop
  • C · On mobile

06Impact

  • CMS-first

    Two collections hold every sauna and cold plunge, so the catalogue grows without new pages.

  • Reusable templates

    Ten-plus models share one layout per category, consistent by default.

  • Client-owned system

    Handed off as a system, not a page. The client's team adds new models themselves.

Core Web Vitals
Passed
Largest Contentful Paint
0.7s
CMS collections
2
Models live
10+

Status

  • Live at hotspringspools.net/saunas-cold-plunges.
  • Design, development and copywriting handled solo, as the in-house developer at Branded by Greenville, a certified Webflow agency.

07What I actually built

  • Webflow CMS

    Two collections, one template each

  • Finsweet Attributes

    CMS-driven configurators

  • Custom interactions

    Model browser, toggles, swatches

  • Responsive implementation

    Tuned for every breakpoint

  • Copywriting

    Product pages and sourced research copy

  • Clean handoff

    The client team publishes new models

08Next project

Have a complex Webflow project?

I build agencies' designs in Webflow under their brand, from complex CMS builds to custom interactions and integrations.

Let’s talk