Case study · Freelance

Reisky — Filipino Martial Arts Studio Platform

Client
Reisky Martial Arts · Surrey, BC, Canada
Role
Freelance Full-Stack Developer
Timeline
Jan 2026 – Apr 2026

A production website and headless-CMS platform for a Filipino martial arts studio, designed and built end-to-end as an international freelance client project in Surrey, BC, Canada.

100
Lighthouse Accessibility — all 12 routes, mobile + desktop
50
Sanity schema types connected to TypeGen
55
Automated tests in the project suite
~34K
Lines of strict-mode TypeScript
74
React components
6
API route handlers

Stack

  • Next.js 16
  • React 19
  • TypeScript (strict)
  • Sanity CMS
  • GROQ
  • TypeGen

The brief

Reisky Martial Arts was an international freelance client project for a Filipino martial arts studio in Surrey, BC, Canada. The work was a production website and headless-CMS platform built end-to-end in strict-mode TypeScript on Next.js 16 and React 19.

Architecture — an env-switched dual data source

The platform uses 12 service-layer modules that route at runtime between Sanity CMS (GROQ) and static fallback data behind a single feature flag. That keeps the CMS path and fallback path aligned behind one application contract.

  • 12 service-layer modules route between Sanity CMS (GROQ) and static fallback data.
  • A single feature flag controls the active data source.
  • The architecture supports a tested CMS pipeline without rewriting the site around a different data shape.

Type-safe content pipeline

The content pipeline connects 50 Sanity schema types to TypeGen and then to 12 unit-tested anti-corruption mappers that produce domain types for the application.

  • 50 Sanity schema types are represented in the CMS model.
  • TypeGen supports the type-safe bridge between CMS content and application code.
  • 12 unit-tested anti-corruption mappers translate content into domain types.

Build scope

The production build covered a sizeable application surface for a freelance client project.

  • ~34K LOC in strict-mode TypeScript.
  • 23 routes and 74 React components.
  • 6 API route handlers.

Quality and accessibility

The project established a 55-test suite and reached strong Lighthouse results across every route.

  • 55-test suite.
  • Lighthouse Accessibility 100 across all 12 routes on mobile + desktop.
  • Lighthouse Best Practices 96 and SEO 92.

Outcome

The result is a production website and headless-CMS platform that demonstrates end-to-end delivery across frontend, API routes, CMS data modeling, typed content mapping, testing, accessibility, and deployment.

Interested in work built this way?