trainlog/docs/reviews/weekend_mvp_tui.md
2026-09-05 19:59:55 +02:00

1.9 KiB

Weekend MVP — First Usable TUI

Objective

Target:

Monday 2026-09-07 05:00 Europe/Paris

The project moves temporarily in larger vertical slices.

The first safety milestone is a TUI that can be used without Android.

Delivered user flow

trainlog
  |
  +-- Dashboard
  |     +-- session count
  |     +-- exercise count
  |     +-- latest weight
  |     +-- compact weight sparkline
  |
  +-- New session
  |     +-- automatic start timestamp
  |     +-- select exercise
  |     +-- reps or duration
  |     +-- load mode
  |     +-- target load
  |     +-- planned sets
  |     +-- actual sets
  |     +-- actual reps/duration per set
  |     +-- actual load per set
  |     +-- planned rest
  |     +-- automatic end timestamp
  |
  +-- History
  |
  +-- Exercise catalog
  |     +-- add exercise
  |     +-- Unicode anti-duplicate normalization
  |
  +-- Body
        +-- weight
        +-- waist
        +-- chest
        +-- shoulders
        +-- left/right arm
        +-- left/right thigh
        +-- left/right calf

Visual contract

The TUI uses centralized color roles:

  • accent;
  • success;
  • warning;
  • error;
  • muted;
  • graph.

Color never replaces textual meaning.

Minimum terminal size remains:

72x20

Persistence

The TUI writes to:

$XDG_DATA_HOME/trainlog/trainlog.db

or, when XDG_DATA_HOME is unset:

~/.local/share/trainlog/trainlog.db

Explicit MVP limits

The first usable TUI does not yet include:

  • Android import;
  • JSON export from the TUI;
  • session detail editing after save;
  • advanced statistics;
  • 1RM calculations;
  • muscle-group analysis.

These are not forgotten features; they are deliberately below the Monday usability cut.

Next vertical slice

Immediately after this milestone:

Android recorder
        |
        v
Trainlog JSON v1
        |
        v
C17 import transaction
        |
        v
same SQLite history