# Product Design ## Overview PinPoint is a mobile coaching aid for tenpin bowlers. It watches a bowler's approach through the phone's camera, tracks their body in real time using pose detection, and reports on the mechanics of their delivery — steps taken, timing, and joint angles at key phases — so a bowler (or their coach) can spot form issues without a human observer. ## Current features (as implemented) - **Live camera capture** of the bowler's approach (front or back camera, switchable mid-session), landscape or portrait. - **Real-time pose overlay** — a skeleton drawn over the camera preview from detected body landmarks. - **Step detection** — counts steps taken during the approach from landmark motion. - **Delivery phase detection** — segments the approach into phases (e.g. stance, approach steps, release) for phase-specific analysis. - **Joint angle calculation** — computes relevant joint angles (e.g. ankle/hip) at points of interest. - **Landmark smoothing** — filters raw pose landmarks (moving-average / smoothing) to reduce jitter before analysis. - **Session feedback UI** — surfaces step count, phase, and feedback to the user during/after a session. - **Debug session logging** — records session data for later review/tuning of the detection logic. - **Adjustable detector parameters** — an admin-gated screen for tuning detection thresholds during development/testing. - **Native menu shell** — a separate OpenGL-based menu/game-state system (`MainActivity`), currently not yet wired to launch directly into the bowling camera flow from the UI (see `docs/architecture.md`). ## Target users - Individual bowlers wanting self-guided form feedback without a coach present. - Coaches wanting a quick, repeatable way to capture and review a bowler's mechanics. ## Out of scope (current version) - Cloud sync / multi-device history. - Automated scoring against a "correct form" reference model. - iOS support. ## UI/UX See [`ui-ux/`](ui-ux/) for wireframes, screen flows, and mockups. As of this commit that folder is a placeholder — the team should add: - A flow diagram of the menu → bowling capture screen navigation. - Screenshots or mockups of: main menu, bowling camera screen (portrait + landscape), settings/parameter editor, and feedback UI.