reinaelyabut.work@gmail.com

Jimojim.

A Personal Workout Split & Exercise Progress Tracker
Role: Full Stack Developer
Jimojim Dashboard Preview

The Overview

Jimojim is a personal fitness tracking platform engineered to streamline routine management and progressive overload. Tailored for Push/Pull/Legs + Core splits, it combines real-time set logging, rest timers, and exercise analytical charts into a distraction-free, responsive web application.

Architecture & Engineering Focus

Jimojim is built with a focus on fast user interactions during workouts, persistent cloud synchronization, and modular data management:

  • Frontend Layer (Next.js 16 + React 19 + Tailwind v4)Built with Next.js App Router for instant page transitions and server-side safety, paired with Zustand for friction-less local session state.
  • Backend & Auth (Supabase PostgreSQL + SSR)Manages user profiles, workout plans, and set records with Row-Level Security (RLS), utilizing @supabase/ssr for authentication across client and server.
  • Interactive Drag-and-Drop (@dnd-kit)Enables seamless reordering of routine days and individual exercises directly within the workout plan editor.

Key Features

PPL + Core Split Builder

Full CRUD editor with custom day naming, target exercise lists, and drag-and-drop reordering.

Live Workout Logger

Log sets with real-time weight and rep inputs, integrated rest timer, and previous performance reference.

Progress Analytics

Interactive progression charts powered by Recharts to visualize total volume and maximum weight over time.

Automated Test Suite

End-to-end automated testing configured with Playwright covering authentication, plan editing, and session workflows.

Tech Stack

  • Next.js 16 (App Router)
  • React 19 & TypeScript
  • Tailwind CSS v4
  • Supabase (PostgreSQL + Auth)
  • Recharts Analytics
  • Zustand State Engine
  • @dnd-kit Drag-and-Drop
  • Playwright E2E Tests

Project Status

  • Live at jimojim.com
  • Full Supabase Backend Deployed
  • Active Production Application
Case Study: Jimojim