Train with a plan.Adjust with evidence.

River Workout keeps the useful parts of training together: the next session, the sets you actually did, and the history that helps you decide what comes next.

See the loop

Your training history stays in your account.

Interactive example

Active cycle

Lower strength

Week 3 · Session 1 · 4 movements

Front squat

4 × 5

Current

Romanian deadlift

3 × 8

Queued

Split squat

3 × 10

Queued

2 of 3 example sets logged.

Illustrative data · the real session stays yours.

A row of dumbbells ready for a workout

One loop, not five separate tools.

Start from the plan, make the session yours, and let the record stay useful after the plates are back on the rack.

  1. Plan

    Build reusable workouts and arrange them into a repeating cycle.

  2. Train

    Open the next workout and keep the current set in view.

  3. Log

    Record sets as you go, with the rest timer close at hand.

  4. Review

    Look back at completed sessions and exercise trends.

  5. Adjust

    Edit the real record and tune the next cycle from there.

An athlete preparing to lift a barbell in a gym
Training does not always happen on schedule. Your record can still be honest.

Built for the session you actually had.

A good training log should flex without losing the thread. Keep the plan repeating, make quick changes at the rack, or add the workout you finished yesterday.

Active, repeating cycles

See what is next without rebuilding the structure every week.

Low-friction logging

Move through sets with a focused session view and rest timer.

Retroactive records

Log a completed workout later and keep your history complete.

Keep the interface human.
Keep the structure open.

The app stays quiet for the person training. A published OpenAPI document keeps authenticated profile, workout, session, and analytics routes legible to tools and agents when you need them.

Read the OpenAPI document

OpenAPI 3.1

GET /api/v1/workout-plan

authenticated · bearer token

POST /api/v1/workout-sessions

create a training record

GET /api/v1/analytics/summary

review completed sessions