Frank Dandy
A headless storefront on Next.js, Centra and Storyblok for a Swedish underwear brand. I led the frontend and still maintain it on a retainer.
- Role
- Lead frontend, consultant, retainer
- Studio
- Cloud Nine, then freelance
- Stack
- Next.js 14 ⁄ 16, React 18 ⁄ 19, CSS Modules ⁄ Tailwind CSS 4, Centra, Storyblok, Voyado, Klarna
- Years
- 2023 – now
- Lighthouse (desktop, production, 2026)
- Performance 98, accessibility 92, best practices 96, SEO 100
- Team
- Cloud Nine: 2–3 frontend developers, 2 designers, 1 project manager.
+15%Conversion rate
2×Faster campaign publishing
Post-launch study by Cloud Nine and the client

Attitude, sensuality and bold design define Frank Dandy, a Swedish institution in underwear and loungewear. Direct-to-consumer is the core of the business, and a large share of traffic arrives from social campaigns and influencer partnerships. Every landing page has to convert.
What I did
- Led the frontend at Cloud Nine and became the client's main technical contact.
- Built the bundle configurator and bundle swatches, which Centra doesn't offer out of the box.
- On the retainer since 2026: moved it to Next.js 16, React 19, Tailwind 4 and shadcn/ui, and I'm reworking the Storyblok structure for new markets.
“Our new platform makes us ready for 10 more years of bold expression.”
One decision
- Challenge
- The styling ran on a custom fluid system that was rigid to change, slow for new developers to learn and hard for AI tools to work with.
- Decision
- I rebuilt it on Tailwind 4 and shadcn/ui in a separate branch, together with the Next.js 16 upgrade, and shipped it as one release.
- Trade-off
- A parallel branch had to keep up with feature work until launch. With AI-assisted refactoring the whole migration took less than a week, so that overlap stayed small.
