This repo turns beach-shot / shore-shot windsurf footage into:
- rider detections + tracks,
- stabilization transforms (for a smoother overview),
- an interactive player that lets you click a rider to get a stable “focused view”.
It contains both:
- a production MVP web app (“GybeLock”) built with React + Firebase + FastAPI + Modal, and
- the underlying Python video processing pipeline plus training/optimization tooling.
documentation/README.md— what the app does, what’s implemented, and where each doc lives.
- Follow
documentation/FIREBASE_SETUP.mdto configure Firebase. - Then run:
# Backend (FastAPI)
pip install -r backend/requirements.txt
python backend/main.py
# Frontend (React + Vite)
cd frontend
npm install
npm run devThe most faithful local reproduction of the production pipeline is:
python video_processing/scripts/local_modal_pipeline_player.py --input-video tmp/test/input.mp4 --output-dir tmp/test/outSee FEEDBACK_RUNBOOK.md for the workflow around failing samples.
Use documentation/DEPLOYMENT.md.
No license file is currently included in this repo. If you plan to redistribute or commercialize this code, clarify licensing first.
