Case Study

Swing Coach
Golf swing analysis from zero to production

Type

Product Design & Engineering

Focus

Computer Vision, Mobile UX, Real-Time Data

Year

2026

View live site → swing-coach.vercel.app

Overview

Golfers with access to professional swing analysis improve faster. Tools like TrackMan cost $15,000–$25,000. One-shot AI feedback has no memory. I built Swing Coach to bridge the gap — browser-native computer vision, persistent history, and zero installation.

The project went from concept to production in under a week. Everything runs client-side using MediaPipe's PoseLandmarker — no backend, no data storage costs, no app store dependency. The result is a tool that works on any modern phone or laptop, remembers every session, and shows progress over time.

The Problem

Access gap in swing analysis

Professional-grade tools are priced for tour players and coaches. Free alternatives — asking a friend, posting to Reddit, or getting a one-shot AI opinion — don't retain context. Every session starts from scratch. There's no way to see if you've actually gotten better.

The memory problem

Even if you get useful feedback once, you can't track change over time. Hip rotation at 32° in week one, 38° in week three — that data doesn't exist anywhere unless someone built a system to capture it. That's what was missing.

Design Approach

Spec-first. Before writing a line of code, I wrote the product — seven documentation files defining the UX rules, design system, feedback engine logic, data model, component specs, engineering constraints, and phased task list.

3-screen focus

Record or upload → analyze with pose overlay and metrics → review session history. No feature creep. Every screen has a single job.

Client-side everything

MediaPipe runs in the browser. No backend means no latency, no server costs, no data privacy concerns. The model downloads once, runs locally forever.

Persistent by default

Every session auto-saves to localStorage. Users don't opt in to tracking — tracking is the product. History is the differentiator.

What Was Built

Pose Detection

MediaPipe PoseLandmarker with 33 body landmarks tracked at 60fps. Gold skeleton overlay drawn on a canvas element layered over the playback video.

Swing Metrics

Hip rotation and shoulder rotation calculated live from landmark coordinates. Tempo ratio derived from frame timing. All values update in real time during playback.

Feedback Engine

Rule-based system with configurable thresholds. Maximum 2 insights per session. Plain English, action-oriented. No jargon, no scores — just what to work on.

Session History

Auto-saves every completed analysis to localStorage. Progress charts (Recharts) show hip rotation, shoulder rotation, and tempo over time with trend indicators.

Mobile Polish

48px minimum tap targets throughout. Full-height camera view with floating record button. Single-column stacked layout on mobile, 2-column on desktop. getUserMedia + MediaRecorder for live recording.

Outcome

A fully functional golf swing analyzer live at swing-coach.vercel.app. Where a one-shot AI gives you an opinion, Map My Swing remembers every swing and shows your progression.

The spec-first approach paid off. Seven documentation files meant every component had a clear contract before it was built. When something needed changing, it changed in one place. No drift, no inconsistency, no debugging design decisions mid-build.

< 1 week

Concept to production

0

Backend infrastructure

7

Spec documents written before code