OpenTrailPaper
Open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO, with offline maps, GPX routes, FIT recording and Bluetooth sensors.
Analyze your climbing technique with computer vision
Sports & fitnessPython · TypeScriptGitHub @anselmlongOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
AI-powered climbing technique analysis
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗AI-powered climbing technique analysis. Upload a bouldering video, get feedback like having a coach in your pocket.
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Next.js │────▶│ FastAPI │────▶│ MediaPipe │
│ Frontend │ │ Backend │ │ Pose │
└─────────────┘ └─────────────┘ └─────────────┘
│
▼
┌─────────────┐
│ Claude │
│ Coach │
└─────────────┘
Run the entire stack with a single command:
# 1. Set your API key
cp .env.example .env
# Edit .env and add your ANTHROPIC_API_KEY
# 2. Start everything
docker compose up
# Or run in background
docker compose up -d
To stop:
docker compose down
# To also remove volumes
docker compose down -v
cd backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Set environment variables
export ANTHROPIC_API_KEY=your_key_here
# Run server
uvicorn main:app --reload
cd frontend
npm install
npm run dev
| Method | Endpoint | Description |
|---|---|---|
| POST | /analyze | Upload video for analysis |
| GET | /job/{id} | Get job status |
| GET | /job/{id}/result | Get analysis results |
| GET | /video/{id} | Download annotated video |
| DELETE | /job/{id} | Delete job and files |
See also: docs/heuristics.md for the full list of backend heuristics and research citations.
Ratio of direct distance to total distance traveled by hips. Higher = more controlled movement.
Measures micro-adjustments after foot placements. Lower jitter = "silent feet".
Tracks shoulder-hip alignment. Higher score = better core engagement.
Analyzes consistency of move/pause patterns. Low variance = deliberate climbing.
# Using Railway
railway login
railway init
railway up
cd frontend
vercel
Set NEXT_PUBLIC_API_URL to your backend URL.
ANTHROPIC_API_KEY - For coach feedback generationUPLOAD_DIR - Video upload directory (default: /tmp/betaview/uploads)OUTPUT_DIR - Processed video directory (default: /tmp/betaview/outputs)NEXT_PUBLIC_API_URL - Backend API URLMIT
PRs welcome! Please read CONTRIBUTING.md first.
Set CORS_ORIGINS on the backend to a comma-separated list of exact frontend
origins, for example https://your-domain.example. The default permits only
local development on port 3000. Do not include paths, trailing slashes or
wildcards. Browser credentials are disabled because the API does not use cookie
authentication. Compose forwards this setting from its environment.
CORS controls browser access; it does not authenticate callers or stop direct
HTTP clients. Existing upload quotas and size limits remain separate controls.
Run the focused regression tests with cd backend && python -m unittest test_cors_config after installing FastAPI and httpx.