Adaptive Pitch Arena
Perfect your 45-second professional intro with Adaptive Pitch Arena, which dynamically adapts your workspace to target specific weaknesses.
YouTube Video
Project Description
Adaptive Pitch Coach is a generative coaching interface where the UI itself is the product innovation. Instead of returning feedback in a standard chat window, each user attempt triggers a two-stage backend loop: deterministic speech-text scoring (timing, structure, pacing, hook, fillers) followed by Claude reasoning for evidence-based coaching assets. The system then applies a strict mode orchestrator that decides the next workspace state (hook, structure, pacing, timing, final) and returns a UI contract (nextMode, patches, whyChanged, drillAssets) that the frontend directly renders.
This creates playful, novel interaction patterns: panels promote/demote in real time, metrics are spotlighted contextually, and the practice environment “moves” with the user’s bottleneck. Stability is achieved through schema-constrained Claude outputs, server-side validation, deterministic-first scoring, hard decision invariants, health checks, and Redis-backed session persistence. Claude’s unique reasoning is used as an interpretation layer, not a raw text generator, enabling a reliable, intelligence-driven, adaptive interface that feels like a live coaching arena rather than chat.
Technologies, Frameworks, Libraries
- TypeScript (shared contracts across frontend/backend)
- React 18 + Vite (fast, responsive UI runtime and dev loop)
- Zustand (low-latency session/mode state management)
- Express (analysis API + orchestration layer)
- Anthropic Messages API via @anthropic-ai/sdk (structured coaching reasoning)
- Zod (strict request/response schema validation)
- Redis (redis Node client) for session attempt persistence and fast retrieval
- Tailwind CSS + shadcn/ui + Radix primitives (composable adaptive panel UI)
- React Router (multi-page app flow)
- Vitest (core logic regression tests for orchestration behavior)
- concurrently + tsx (single-command full-stack local runtime)
Prior Work
Started From Scratch