Skip to content

Refactor app for fitness focus, add ExerciseDemo, and enhance README#8

Open
AaryakCreator wants to merge 20 commits intoRunanywhereAI:mainfrom
himanshuranjan2552:New-n-Polished
Open

Refactor app for fitness focus, add ExerciseDemo, and enhance README#8
AaryakCreator wants to merge 20 commits intoRunanywhereAI:mainfrom
himanshuranjan2552:New-n-Polished

Conversation

@AaryakCreator
Copy link
Copy Markdown

@AaryakCreator AaryakCreator commented Apr 5, 2026

No description provided.

AaryakCreator and others added 20 commits March 22, 2026 17:40
Rename project to "kine-sight" and streamline the app to focus on the fitness experience. App.tsx was simplified to remove multi-tab SDK initialization and only render the Fitness tab (badge updated). Multiple UI/features related to LLM/tools/vision/voice were removed (ChatTab, VisionTab, VoiceTab, ToolsTab, ModelBanner and related hooks/workers) and runanywhere-related dependencies were removed from package.json.

Significant improvements to FitnessTab: add a pre-workout countdown, debounce consecutive-frame position detection, support hold-style exercises (plank) with hold and best-time tracking, refine rep counting to use debounced positions, various UI tweaks (labels, countdown overlay), and add NormalizedLandmark typing. Refs and state resets were added to make detection and session lifecycle more robust.

Also added MediaPipe type declarations (src/types/mediapipe.d.ts) and new error snapshots (errors.txt, errors2.txt, errors3.txt) capturing current TypeScript issues to address.
Add a new ExerciseDemo React component with styles (src/components/ExerciseDemo.tsx, src/styles/exercise-demo.css) and minor style tweaks in src/styles/index.css. Add public/icon.svg and update index.html to use the new favicon, include apple-touch-icon and mobile/PWA meta tags (apple status bar style and description). Add vite-plugin-pwa to package.json and wire up PWA support in vite.config.ts. Also include a small change in FitnessTab.tsx.
Added installation instructions and usage details to README.
Added a video link to the README for demonstration.
Added a YouTube demo link to the README.
Introduce on-device LLM support and related services, add new exercise components and demo assets, and clean up build logs.

Key additions: src/llm (llm-worker.ts, llmEngine.ts), src/tts/ttsService.ts, src/storage/storageService.ts, new exercises (bicep-curl, push-up), DemoVideo and ReportsTab components, sounds, styles for exercise demos, multi_agent.py, and DOCUMENTATION.md. Updated app UI and detection flow in src/App.tsx and src/components/FitnessTab.tsx; updated pose logic in src/fitness/poseEngine.ts; small CSS/theme tweaks in index.html and exercise styles. Removed stale build/error log files and minor dependency updates in package.json (added on-device LLM client and UI libs).
Introduce a skeleton visibility toggle and lightweight motivator flow, plus prompt tweaks for the LLM. Adds MOTIVATIONAL_MESSAGES and showSkeleton state/ref; drawing now skips skeleton/angle badge when hidden. Adds a UI button to show/hide the skeleton and moves the AI coach panel into a right-side responsive panel while reorganizing the metrics/control layout for md screens. Change feedback logic to only call the LLM on mistakes or milestone perfect reps (every 10); otherwise display a random motivational message (no TTS). Update LLM system prompt and generated prompt template to include form mistakes and rep number and to require a single short sentence response.
Integrate Firebase authentication into the app: add firebaseConfig, AuthContext, and authService; introduce a new LoginScreen component. Update App.tsx, main.tsx, components (FitnessTab, ReportsTab) and storageService to use the auth/storage changes. Add firebase to package.json and update .gitignore to ignore .env and .env.* files.
Add exercise image assets and wire them into the app UI. New image files were added under both exercise images/ and public/exercise_images/ (bicep-curl, plank, shoulder-press, squat). Updated ExerciseDef to include an optional imagePath and populated imagePath for multiple exercises in src/fitness/poseEngine.ts. Updated src/components/FitnessTab.tsx to render an exercise image as the card background when imagePath is present, falling back to the existing icon and gradient otherwise. This enables visual thumbnails for exercises in the fitness tab.
Make Firebase initialization optional by introducing isFirebaseConfigured and nullable auth/db/app exports. Add guards across AuthContext, authService, and storageService to avoid runtime errors when env vars are missing, enable automatic guest mode fallback, and log warnings when Firebase is not configured. Also make signOut and redirect handling safe no-ops when Firebase is unavailable and ensure cloud sync operations check for db/auth before accessing them.
Introduce a full-featured KineSight landing page: add LandingPage React component, landing.css styles, and import the stylesheet in main.tsx. Update App.tsx to include new 'landing' and 'login' routes, render the landing screen for unauthenticated users, and auto-skip to the app when already authenticated. Add Lexend font link to index.html. Also add design documentation and a standalone code.html under stitch_screens/Landing_Page_01. LandingPage includes scroll animations (IntersectionObserver) and onGetStarted wiring to navigate to the login flow.
Always render the landing page first and only auto-skip the login for authenticated/guest users (App.tsx routing logic adjusted). Fix the push-ups exercise image reference in src/fitness/poseEngine.ts to '/exercise_images/push-ups_image.jpg' and add the corresponding image asset at public/exercise_images/push-ups_image.jpg.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants