Sesh

A responsive exercise and fitness tracking web-app…

A full-stack fitness tracking app built on the MERN stack (MongoDB, Express, React, Node), with authentication handled via Passport and Google OAuth20 alongside JWT-based sessions, and bcryptjs for secure password hashing.

The frontend runs on React 19 with Redux Toolkit for state management and React Router for navigation — solving the problem of predictable, centralized app state as workout data (sets, sessions, history) grows more complex.

The UI layer combines Radix UI primitives with a shadcn-style component setup (class-variance-authority, tailwind-merge) on Tailwind CSS v4, giving accessible, composable components without the overhead of a heavier design system.

React Hook Form handles form state and validation for logging workouts, and react-day-picker/date-fns manage the date logic that a tracker inherently needs.

On the backend, Express 5 and Mongoose provide the API and data layer, with Resend handling transactional email (e.g. account verification, notifications) — a common problem for auth flows that raw SMTP makes needlessly painful.

Video

GitHub & Demo

This project is deployed on Render’s free tier, so the demo app may take up to 30–60 seconds to load if it’s been inactive — the server spins down after periods of no traffic and needs a moment to wake back up. Thanks for your patience! Once it’s loaded, it should run smoothly.