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

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.
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.
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.
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 typesResults & impact
Outcomes that mattered to users and the business.
Lighthouse Performance
on mobile, post-optimization
Faster Load Time
vs. the initial build
Technical SEO Score
audited
Concept → Production
owned end-to-end
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.