Skip to main content
Products
ProductLive

Tharm Lift Log — Personal Strength-Training App

A mobile-first training log built around the fastest gym loop: see last time, log the next set, and review whether training is progressing.

Next.jsSupabaseProductMobile-first

Runtime and tools

  • Next.js
  • TypeScript
  • Supabase
  • Playwright
  • Vercel
Tharm Lift Log logo
Tharm Lift Log product mark. Personal workout and body-composition records are not shown.

Product at a glance

Logging
A few taps
Context
Last session prefilled
Privacy
Owner-scoped data

Product output

These screens were captured from the local empty-data adapter. They show the product interaction without exposing personal workouts or body measurements.

Empty Lift Log exercise-history calendar in mock mode
Exercise history
Empty Lift Log session screen in mock mode
Fast session setup
Empty Lift Log progress screen in mock mode
Progress trends

How it works

Train with memory

The product is organised around the repeated action in the gym: recall the last performance, record the next set quickly, and review the trend later.

  1. 01RecallBring forward the previous session for context.
  2. 02LogRecord working, warm-up, and drop sets in a few taps.
  3. 03PersistStore records behind authenticated, owner-scoped access.
  4. 04ReviewRead exercise history, weekly volume, and progress trends.

Product

Tharm Lift Log replaces a paper training diary with a focused mobile workflow: recall the previous session, record a set in a few taps, and review whether training is progressing over time.

Why it exists

General fitness applications can add friction around the repeated action that matters most: logging the next set while training. This build prioritises speed, continuity from the previous session, and useful progress views.

Working product

  • Fast set logging with previous-session prefill
  • Exercise history, progress charts, and weekly summaries
  • Configurable exercise library and backdated sessions
  • Authenticated persistence with account-scoped row-level security

Data boundary

A typed data layer supports a local mock adapter for development and a Supabase-backed production adapter. The deployed application requires sign-in, and database row-level security scopes records to the authenticated account.

Build

  • Next.js, React, and TypeScript
  • Supabase Postgres and authentication
  • Playwright browser tests
  • GitHub Actions and Vercel deployment

Maturity

What exists now

Live
AreaStateEvidence
Workout loggingLiveDeployed and in active personal use.
History and progressWorkingExercise history, charts, weekly summaries, and PR detection.
PersistenceDeployedSupabase-backed production adapter with a local mock adapter.
Authentication and RLSWorkingSign-in is required and records are scoped to the account owner.
Source availabilityPrivateThe live product is linked; the repository is not public.

Have a product workflow to simplify?

Discuss focused mobile tools, personal software, and prototypes designed around repeated real-world use.

Discuss this product

Explore the other independent products in Tharm Lab.

All products