← Back to personal projects

Personal project · Live

kinset.

Show up.
Get better.

Plan. Train. Progress.

A training journal for the moment between sets. Pick a plan, log every rep, and watch the work add up.

Made to make you happy.By Erik Rodriguez

Outcome at a glance

A training journal built for the moment between sets.

Mobile-first training journal
Live
Log workouts without a connection
Offline
Plans, set logging and training history
Progress
Independent product · designed and built for mobile use between sets.

Case overview

Built for the moment between sets.

Mid-workout you have chalky hands, a rest timer running and about ten seconds of attention. Kinset is designed around that moment: what to lift next, what you lifted last time, and one tap to record it. Everything else can wait until you are done.

Project
Independent product, live preview
My role
Concept, product design, brand, front end and backend
Built with
React · TypeScript · Vite
React Three Fiber · Supabase · Vitest
Platform
Mobile-first web app, installable, works offline
Kinset welcome screen with the split KINSET wordmark and the line Show up. Get better.
The welcome. One word, split by the orange.
Today screen with the next session, Full Body A, and the lineup of four movements
Today. The next session is the loudest thing on screen.
Logging screen with two completed sets of a quadruped hip extension
Logging. Previous, weight, reps, done.

Point of view

Loud where it motivates.
Quiet where you work.

The welcome and the session panel are posters: charcoal, one vibrant orange, and tall condensed type that reads from across a gym floor. The logging screen is the opposite. Plain rows, big numbers, and a check you can hit without looking twice.

The rule I kept coming back to: if a label has to be tiny to fit, it probably does not need to be there. Decorative captions came out. The words that stayed got bigger.

How it works

Plan. Train. Progress.

01

Plan

A short setup asks for your goal, how many days you can train, your experience and your equipment, then builds a starting routine to match. Build your own rotation any time; drafts save as you go and each finished workout moves you to the next day.

02

Train

Log set by set with your previous numbers in view. Completing a set starts a 90-second rest timer. Bodyweight work logs as zero, and there are no arbitrary caps on reps.

03

Progress

History keeps every set readable, workout by workout. On Today, a weight-plate ring fills as you close out the sessions you planned for the week.

Onboarding with the goal dropdown open and Build strength highlighted
Setup. Custom, keyboard-friendly pickers.
Workout plans screen with the active foundation routine
Plans. Start from the foundation or build your own.
History screen showing a saved workout with each set's weight and reps
History. Every set, still readable weeks later.

Identity

Charcoal, orange and a word stretched tall.

KINSET
Charcoal#141414
Surface#1f1c1a
Kinset orange#ff692b
Warm white#fff7f0
Emphasisorange → red

Show up.

Plan. Train. Progress.

Barlow Condensed at its heaviest for the things that should shout, at its lightest for the things that should not. Barlow for everything you read.

The masthead stretches KINSET vertically and splits it: the orange block ends near the bottom of the letters, so their feet flip to orange on charcoal. The arrow beside the T is not decoration. It is the fastest way into creating an account.

Kinset welcome screen on desktop, with the poster on the left and sign-in on the right
On desktop the poster and the form sit side by side.

Motion

One curve
for everything.

Every transition shares the same ease-out curve, with a spring for anything you press. Pages cut in with a 170ms horizontal reveal. Lists stagger in. Completing a set pops the check and flashes the row, so you know it counted without reading anything.

Switching to account creation fades up an orange glow from the bottom of the screen, a clear signal that you are somewhere new. All of it steps aside when a device asks for reduced motion.

Create account form with an orange glow rising from the bottom of the screen
Create account. The glow says you are somewhere new.

Under the hood

Works in a basement.
Never loses a set.

Workouts save to the device first and the app shell is cached, so Kinset opens and logs without a signal. Signed in, the journal syncs through Supabase with row-level security, so each account can only read its own training.

Every save carries a revision number and the database rejects stale writes. If your phone and laptop disagree, you get a notice instead of a silently overwritten workout. Deleting an account runs in an edge function that verifies the person asking.

Movements carry written guides, and 30 have procedural 3D demos with an anatomy view built on Z-Anatomy and BodyParts3D models. 90 unit tests cover the journal, plans and guides, alongside database checks for account isolation and stale-write rejection.

Decisions

What I chose, and what it cost.

Open signup, no email confirmation

The data is a workout log. A confirmation step cost more momentum than it protected, so accounts open straight into the app. Password reset stays hidden until outgoing email is set up, rather than promising something that would not arrive.

No arbitrary limits

Early builds put arbitrary ceilings on reps. Real training does not care about round numbers, so the caps came out and validation checks only for what is actually wrong.

Custom controls, built accessibly

The branded dropdowns sit on Radix primitives, so keyboard navigation, focus and typeahead work the way people expect, even though nothing looks like a default select.

A demo worth trying twice

Try the demo without an account and Kinset builds a random full body lineup that fits your equipment, favoring movements that have a 3D demo. Every visit shows something new.

What exists today

A working product.
An honest boundary.

Kinset is live, open to sign up and installable to a home screen. It is a general fitness journal, not a clinical tool, and it gives no medical advice.

Still ahead: testing with people who train, a professional review of the procedural exercise animations, browser testing of cross-device sync beyond the database checks, and email for account recovery.