Most wellness apps try to do everything for everyone. They're bloated, they decide what you should care about, and they lock your own data behind a paywall. I wanted something simple - something that tracks what actually matters to me, shows the trends over time, and then gets out of the way.
I built this entirely with Claude - first app I've ever made. It took about 30 iterations to get here, and along the way I learned more about design and development than I thought I would. The motivation was selfish: I needed one place to track gym, tennis, mood, all of it. Nothing out there worked the way I wanted, so I built something that did. Some friends and I use it daily now - or at least we pretend to. It's built for us. That's the feature.
stridehealth.vercel.app ↗First Impression
The sign-up screen sets the tone. Animated light beams trace the card border, a subtle gradient sits behind it. Email and password auth with clear error states - no friction, just get in and start tracking.

Sign-up screen - animated border beams and clean email/password auth.
Mood tracker - trend line, calendar heatmap, and rolling averages.
Mood Tracker
Rate your mood from 1 to 10, add a note if you want, and let the patterns surface on their own. A line chart tracks recent trends, a calendar heatmap gives you the full year at a glance, and rolling averages show where your head's been over the last 7 and 30 days.
Activity Log
Log workouts by exercise, sets, reps, and weight. Activities like running, tennis, or swimming get tracked by duration instead. Over time, Stride plots your progression - so you can see whether you're actually getting stronger or just showing up.

Activity log - weight-based and duration-based exercise tracking.

Intensity normalised to your personal best - a fair view of effort across any lift.
Activity Intensity
Rather than plotting raw weight, Stride calculates intensity relative to your personal best for each exercise. A tough bodyweight session reads the same as a heavy squat day. It's a fairer view of effort across different movements.
Progress Tracker
Track weight and BMI over time with clean line charts. Stat cards give you a quick read on where you stand, trend indicators show which direction you're heading. All data stays private - row-level security means every user only ever sees their own numbers.
Progress tracker - body weight and BMI trends with RLS-enforced privacy.
Key Technical Decisions
- Habits live as boolean columns on a single wide table. Adding a new habit is just an ALTER TABLE - no migration files, no schema changes in code.
- Multiple exercises in one gym session share a workout ID. Easy to group, easy to display, no need for a separate sessions table.
- Heavy chart components are lazy-loaded so the dashboard loads fast and charts stream in when you actually need them.
- Intensity is scored relative to your personal best per exercise - a normalised view of effort that works across any lift.
