Skip to content
Back to projects
Fitness & Wellness Platform

KurlClub

A fitness & wellness platform taken from concept to production — SSR, technical SEO, and a scalable component system.

Role

Co-founder & Frontend Engineer

Timeline

Jan 2026 — Present

Next.jsReact.jsTypeScriptTailwind CSSFramer MotionREST APIsVercelGitHub
KurlClub screenshot
01 — Problem

The problem

As a brand-new product, KurlClub had to look established, load instantly, and rank in search — all before it had any domain authority or marketing budget.

  • No existing brand, design system, or codebase — everything started from zero.
  • A mobile-first audience on variable networks demanded aggressive performance budgets.
  • Search discoverability was critical with no paid acquisition to lean on.
  • The codebase had to stay cheap to evolve as new features shipped weekly.
02 — Solution

The solution

I architected the frontend on the Next.js App Router, leaning on server rendering for SEO and a tokenized component system for speed of iteration.

  • Server-rendered, SEO-ready pages with clean metadata and structured content.
  • A tokenized, reusable component library for consistent, fast feature work.
  • Conversion-focused UX: value above the fold, clear CTAs, minimal cognitive load.
  • Purposeful motion with Framer Motion — micro-interactions, never decoration.
03 — Architecture

Architecture & engineering

A feature-oriented structure keeps each surface self-contained, with a typed data layer isolating API calls so refactors stay safe.

  • Next.js App Router with server components for SEO-critical routes.
  • Design tokens via CSS variables — theme-wide changes from one place.
  • REST integration behind a typed data layer; loading/error handled at the boundary.
  • CI-friendly Vercel + GitHub workflow with preview deploys and safe releases.
project structure
src/
├── app/                # App Router routes, layouts, SEO files
├── components/
│   ├── ui/             # Primitives (button, card, input)
│   ├── sections/       # Page sections
│   └── layout/         # Navbar, footer
├── features/           # Feature-scoped UI + logic
├── lib/                # Utils, API client, motion presets
├── hooks/              # Reusable hooks
├── data/               # Typed content/config
└── types/              # Shared TypeScript types
04 — Impact

Results & impact

Outcomes that mattered to users and the business.

0+

Lighthouse Performance

on mobile, post-optimization

0%

Faster Load Time

vs. the initial build

0

Technical SEO Score

audited

0%

Concept → Production

owned end-to-end

05 — Reflection

Lessons learned

Owning a product end-to-end reshaped how I weigh engineering against business outcomes.

Challenge

Balancing speed of shipping against long-term maintainability.

Solution

Invested early in a small but strict design system — it paid back as feature velocity later.

Challenge

Ranking with zero domain authority.

Solution

Leaned on server rendering, structured content, and clean metadata to earn organic visibility.

Challenge

Keeping mobile fast on real devices.

Solution

Set performance budgets and measured every release, not just local dev.

What's next

  • Add automated visual-regression and end-to-end test coverage.
  • Introduce personalization and program recommendations.
  • Grow the design system into a documented internal library.

Want to see it live?

Explore the product, or head back to browse more of my work.