You are browsing as a guest. Sign up (or log in) to start making projects!

Stance Loop

  • 4 Devlogs
  • 59 Total hours

I am on a mission to build a Workout app with CV that it can recognise what we are doing, and will guide us in live time

Open comments for this post

4h 17m 42s logged

I built a free, privacy-first MVP called StanceLoop: a live, browser-based AI coach that watches you train via webcam and gives real-time form feedback, rep counts, and spoken cues—100% locally on your device.The Motivation
Most fitness tech either requires expensive hardware or uploads your private camera feed to external servers. I wanted to solve a simple problem: Could a browser and an on-device pose model act as an honest, real-time coach without sending a single frame to a server? StanceLoop was built to prove that private, accurate form feedback can run frame-by-frame on any standard browser.What It Does: Zero Backend, 100% Private
StanceLoop turns your webcam into an active coaching tool with no accounts, no server uploads, and no tracking:Core Drills: Detects and counts push-up reps, times handstand holds, and tracks extension-and-return for jab-cross shadowboxing combinations.Real-Time Guidance: Provides spoken cues, skeleton overlays, and haptic feedback during your sets.Honest Scoring: If your full body isn’t in frame or camera alignment is lost, the app explicitly tells you instead of guessing or faking reps.Async Ghost Duels: Share a simple URL containing drill rules to challenge friends—no central server or database required.Local AI Coach: Optionally connects to a local LLM server (like Ollama running on localhost) for personalized coaching advice.How We Built ItFrontend: React 19 and TypeScript, bundled with Vite 6 and deployed as a static site to GitHub Pages.Computer Vision: MediaPipe Pose Landmarker (@mediapipe/tasks-vision) with custom landmark smoothing, confidence gating, and rule-based state machines.Testing: 340+ unit tests with Vitest and 11 end-to-end tests with Playwright running in CI.Challenges & LearningsThe Subpath Blank Screen: The initial deploy showed a blank page due to absolute asset paths resolving incorrectly on GitHub Pages. Fixed by configuring relative base path handling in Vite.Jitter vs. Latency: Raw camera pose points jitter constantly. Balancing instant audio feedback with noisy pose data required landmark smoothing and cue cooldowns so feedback stays useful instead of chaotic.Honesty Over Everything: CV coaching state machines are hard because pose models love to guess. Engineering the app to recognize when it can’t see you properly was key to making the feedback feel real.What We’re Proud OfA complete, real-time computer vision app running offline-capable in the browser with zero backend costs.A robust testing suite (350+ combined tests) ensuring the state machine rules stay reliable across updates.Built-in versioned consent and privacy disclosures directly in the UI.Try it out:Live App: https://hustlenix.github.io/stance-loop/Source Code: https://github.com/Hustlenix/stance-loopTech Stack: React 19, TypeScript, MediaPipe Pose, Vite 6, Vitest, Playwright, GitHub Pages.

0
0
15
Open comments for this post

2h 19m logged

Guys, I’ve been researching free resources to build an AI form coach for calisthenics and combat sports. Here is the ultimate breakdown for the computer vision pipeline:MediaPipe vs. YOLOv8-PoseGoogle MediaPipe (Free, Apache 2.0): Best for Calisthenics (Push-ups, Planches). Excellent on-device mobile speed. Outputs 33 3D body landmarks. Struggles slightly with heavy motion blur.Ultralytics YOLOv8-Pose (Free, AGPL-3.0): Best for Combat Sports (Striking, fast sparring). Needs more compute (better on server/GPU). Highly robust against fast, blurry movements. Outputs 17 2D keypoints.Top Open-Source Repositories to Fork
Instead of starting from scratch, use these as your foundation:yakupzengin/fitness-trainer-pose-estimation (MIT License): One of the best starting points. Uses MediaPipe for 18 exercises with a YAML-based system. You don’t hardcode math—just define ideal joint angles in YAML, and it scores the user 0-100 based on angle and tempo.The FormCoach Pipeline (arXiv:2508.07501): Uses Vision-Language Models (VLMs) to understand form and give contextual feedback (e.g., “Keep your back straight”) instead of just flashing red when an angle is wrong.Movelytics/posetracker-llm-prompts: Perfect for boxing or Muay Thai. Extracts keypoints and compares the user’s camera feed against a reference video of a pro fighter to generate a similarity score.Muqaram0/Excercise_Pose_Correction: A complete pipeline combining YOLOv8 and MediaPipe. Has pre-built logic for analyzing back alignment and posture during push-ups and squats, plus a free Streamlit web UI.imanoop7/AI-Agents-as-Personal-Trainers: A multi-agent AI system (LangChain) that generates tailored routines. Run it locally via Ollama to keep the AI coaching completely free on your own hardware.How to Stack Them for DevelopmentFrontend/UI: Fork Muqaram0 and run the Streamlit app for an instant, free user interface.Vision Backend: Use MediaPipe scripts to track calisthenics angles via webcam. Implement the YAML config system from yakupzengin so you aren’t hardcoding angles.Coaching Backend: When the vision script detects bad form (e.g., “hips dropping”), pass that text flag into the local Ollama LLM setup from the imanoop7 repo to generate human-sounding advice.The Problem:
I’ve stacked all this, but it is still kinda mid and is not working properly! How do I fix it? And everything I try to test it out, it is like a whole workout just debugging it! 😭😭😭😭😭😭

0
0
10
Open comments for this post

52h 19m 40s logged

I am on a mission to build a Workout app with CV that it can recognise what we are doing, and will guide us in live time

0
0
6

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…