App Review Report
A fitness recovery tracker built with Claude β reviewed for behavior, issues, and improvement opportunities.
Loaded SRC_URL
https://producingtechnology.com/65-apps/huxiyu_157721_15201345_recovery_intelligence.htmlRecovery Intelligence is a mobile-style single-page web application designed to help athletes and gym-goers track their workouts and monitor their physical recovery status. It presents a bottom-navigation shell with three tabs: Dashboard, Activity, and Recovery, plus a Profile tab.
On initial load, the app displays a full-screen "LOADING RECOVERY DATAβ¦" splash state, then reveals the Dashboard view. A floating action button opens a Log Workout modal sheet, which allows the user to specify:
The Recovery tab ostensibly shows an intelligent readiness score or recovery recommendations, while the Activity tab shows workout history. The design follows a dark mobile-app aesthetic with card-based layouts.
No Data Persistence
Logged workouts are not saved between sessions. Refreshing the page resets all data to the default placeholder state. There is no localStorage, IndexedDB, or backend integration to persist user entries.
Recovery Score Is Static / Not Computed
The Recovery tab does not dynamically calculate a readiness score based on logged fatigue entries, sleep data, or workout history. The score appears hardcoded or randomly generated, making the "Intelligence" feature feel like a UI mockup rather than a functional system.
Loading Splash Lacks Purpose
The "LOADING RECOVERY DATAβ¦" state appears on every load even though no real data is being fetched. This creates a misleading UX impression of back-end activity when none exists.
Fatigue Score Input Has No Validation
The fatigue score field accepts values outside the stated 1β10 range (e.g., 0, 11, 999) without any error or clamping. This could corrupt the recovery calculation logic if it were ever implemented.
Activity Tab Shows No Workout History
After saving a workout via the modal, the Activity tab does not update to show the newly logged entry. The list remains empty or shows only placeholder data.
Profile Tab Is Non-Functional
The Profile tab appears in the navigation but is either empty or not implemented, leaving the user with no way to set personal data (age, weight, fitness goals) that would be essential for personalized recovery recommendations.
The following prompt is designed to be used with Claude to improve or rebuild the app with working features and better UX:
Improvement Prompt for Claude
claude-sonnet-4You are rebuilding a fitness recovery tracker app called "Recovery Intelligence". ## Core Goals Build a fully functional single-page web app (HTML + CSS + JS, no frameworks) that: 1. Persists data between sessions using localStorage. Store all logged workouts and user profile info locally so data survives page refresh. 2. Computes a real Recovery Score (0β100) using a simple algorithm: - Base score starts at 100 - Subtract points based on cumulative fatigue from the past 48 hours - Subtract points if the user worked out high-intensity days in a row - Add points for rest/mobility sessions logged - Display the score with a color-coded ring: green (80+), yellow (50β79), red (<50) 3. Log Workout modal must: - Validate the fatigue score to be strictly between 1 and 10 - On Save, immediately update the Activity tab with the new entry - Show a timestamp for each logged workout 4. Activity Tab should render a scrollable list of all logged workouts, sorted by most recent first, with workout type, duration, fatigue, and date. Include a "Clear All" button with a confirmation prompt. 5. Profile Tab should let the user set: - Name, age, primary fitness goal (Strength / Endurance / Weight Loss / General) - Weekly workout target (e.g., 4 days/week) - Use these values to personalize the recovery recommendation text. 6. Remove the fake loading splash. If there's no stored data, show an empty-state illustration with a call-to-action: "Log your first workout to get started." 7. Add a weekly summary bar chart on the Dashboard showing workouts per day for the past 7 days using a pure CSS/SVG chart (no external libraries). Keep the dark mobile-app aesthetic. Use CSS custom properties for theming. The app must work entirely offline β no API calls.
The app has a polished visual shell and a clear conceptual direction, but core functionality β persistence, dynamic scoring, and data flow β is absent or unimplemented. With the improvements outlined above, it could become a genuinely useful offline-first recovery tool.