Workout as Code

Tu entrenamiento,
como código.
Your training,
written as code.

RawTrainer es un motor de entrenamientos dirigido por archivos YAML legibles. Preparas la sesión una vez; durante el entreno la app solo la ejecuta —sin menús, sin registrar series a mano, sin distracciones. RawTrainer is a workout engine driven by human-readable YAML files. You prepare the session once; during training the app just runs it — no menus, no logging sets by hand, no distractions.

# Offline-first # Sin cuentaNo account # Sin nubeNo cloud # Datos en YAMLYAML data # CLI ultrarrápidaBlazing-fast CLI
El problemaThe problem

La interfaz no debería competir con tu entrenamiento.The interface shouldn't compete with your workout.

En la mayoría de apps, buena parte de la sesión se va en tocar la pantalla: buscar el ejercicio, registrar cada serie, esperar animaciones. RawTrainer invierte el flujo.In most apps, a big part of the session goes into tapping the screen: finding the exercise, logging every set, waiting for animations. RawTrainer flips the flow.

Otras trainer appsOther trainer apps

  • La interfaz interrumpe: tocar, buscar, registrar serie a serie mientras entrenas.The UI interrupts: tap, search, log set-by-set while you train.
  • Requieren cuenta y sincronizan tus datos en su nube.They require an account and sync your data to their cloud.
  • Tus datos viven en un formato propietario que no controlas.Your data lives in a proprietary format you don't control.
  • Preparar y repetir una rutina exacta es engorroso.Preparing and repeating an exact routine is clunky.

RawTrainer

  • El workout se prepara antes. En la sesión solo pulsas ENTER; la app cronometra y registra por ti.The workout is prepared beforehand. In session you just press ENTER; the app times and logs for you.
  • 100% offline. Sin cuenta, sin registro, sin nube.100% offline. No account, no sign-up, no cloud.
  • Tus datos son archivos YAML en tu disco: legibles, versionables con git, tuyos.Your data is YAML files on your disk: readable, git-versionable, yours.
  • Una rutina es un archivo: cópiala, edítala, reutilízala, compártela.A routine is a file: copy it, edit it, reuse it, share it.
Cómo funcionaHow it works

Escribe. Valida. Ejecuta. Analiza.Write. Validate. Run. Analyze.

Un mismo motor, cuatro pasos. Todo desde la terminal, todo sobre archivos que puedes leer.One engine, four steps. All from the terminal, all over files you can read.

01

EscribeWrite

Defines el entreno en YAML: WORKOUT → STAGES → JOBS → EXERCISES. Legible por humanos y por el motor.Define the workout in YAML: WORKOUT → STAGES → JOBS → EXERCISES. Readable by humans and by the engine.

vim upper_a.yaml
02

ValidaValidate

JSON Schema comprueba la estructura; el pretty-print te muestra la sesión formateada antes de empezar.JSON Schema checks the structure; the pretty-print shows you the formatted session before you start.

rawtrainer preview-v2 upper_a.yaml
03

EjecutaRun

El runner interactivo te guía bloque a bloque. Cronometra cada uno, admite notas y solo te pide ENTER.The interactive runner guides you block by block. It times each one, takes notes, and only asks for ENTER.

rawtrainer run-v2 upper_a.yaml
04

AnalizaAnalyze

Cada sesión se guarda como log. Las stats agregan tiempo total y medio, workouts distintos y desglose.Every session is saved as a log. Stats aggregate total & average time, distinct workouts and a breakdown.

rawtrainer stats-v2
YAMLvalidarvalidatepreviewpreviewrunlog JSONJSON logstats
ModosModes

Todos los formatos que entrenas, en un campo.Every format you train, in one field.

Cada bloque declara su MODE y el motor sabe cómo cronometrarlo y ejecutarlo.Each block declares its MODE and the engine knows how to time and run it.

CUSTOM
custom_sets

Series, reps, descansos y cadencia a tu medida. El modo base para fuerza e hipertrofia.Sets, reps, rests and cadence your way. The base mode for strength and hypertrophy.

TABATA
20s work / 10s rest

Intervalos de alta intensidad con rondas fijas de trabajo y descanso.High-intensity intervals with fixed work/rest rounds.

EMOM
Every Minute On the Minute

Arrancas cada minuto con un trabajo pautado; el resto del minuto, descanso.Start each minute with a set piece of work; rest the remainder.

AMRAP
As Many Rounds As Possible

Máximo de rondas o reps del circuito dentro de un tiempo dado.Max rounds or reps of the circuit within a set time.

FT
For Time

Completa el trabajo prescrito lo más rápido posible; el cronómetro manda.Complete the prescribed work as fast as possible; the clock rules.

EDT
Escalating Density Training

Máximo volumen de calidad en una ventana fija de tiempo.Maximum quality volume within a fixed time window.

Qué aportaWhat it adds

Lo que RawTrainer hace y otras apps no.What RawTrainer does that others don't.

No es otra app de registro. Es un enfoque distinto: velocidad, privacidad y control total de tus datos.It's not another logging app. It's a different approach: speed, privacy and full control of your data.

CaracterísticaFeature RawTrainer Strong / Hevy / WOD apps *Strong / Hevy / WOD apps *
Sin cuenta ni registroNo account, no sign-up Nunca. Abres y entrenas.Never. Open and train. Normalmente requeridoUsually required
100% offline / sin nube100% offline / no cloud Todo en tu equipoEverything on your machine Sincronización en la nubeCloud sync
Datos en formato abiertoOpen data format YAML legible + logs JSONReadable YAML + JSON logs Formato propietarioProprietary format
Versionable con gitGit-versionable Historial, diffs, ramasHistory, diffs, branches
Fricción durante la sesiónIn-session friction Cero: solo ENTERZero: just ENTER Registro manual por serieManual per-set logging
Rutinas reproducibles / plantillasReproducible routines / templates Son archivos: copia y reutilizaThey're files: copy and reuse Limitado a la appLimited to the app
PrivacidadPrivacy Nada sale de tu equipoNothing leaves your machine Datos en sus servidoresData on their servers

* Comparativa basada en el modelo habitual de estas apps (cuenta + nube). Cada una tiene sus fortalezas; RawTrainer prioriza deliberadamente velocidad, privacidad y control de datos sobre funciones sociales o de sincronización.* Comparison based on the typical model of these apps (account + cloud). Each has its strengths; RawTrainer deliberately prioritizes speed, privacy and data control over social or sync features.

FilosofíaPhilosophy

"Raw": sin capas innecesarias entre tú y el trabajo."Raw": no needless layers between you and the work.

El entrenamiento ya está pensado antes de empezar. Durante la sesión no configuras, no buscas, no registras: solo entrenas. La herramienta desaparece y deja el foco donde importa. The workout is already thought through before you start. During the session you don't configure, search or log: you just train. The tool disappears and leaves the focus where it matters.
01 · workout as code

Legible y versionableReadable & versionable

Tu entreno es texto plano: se lee, se edita y se versiona como código.Your workout is plain text: read, edit and version it like code.

02 · offline-first

Privado por defectoPrivate by default

Sin nube ni cuentas. Tus datos no salen de tu equipo.No cloud, no accounts. Your data never leaves your machine.

03 · zero friction

Sin distraccionesNo distractions

La interfaz mínima indispensable. En sesión, solo ENTER.The bare-minimum interface. In session, just ENTER.

04 · data-driven

Todo queda registradoEverything is logged

Cada sesión genera datos; el progreso se mide, no se intuye.Every session generates data; progress is measured, not guessed.

05 · you own it

Tus datos son tuyosYour data is yours

Formatos abiertos. Sin lock-in, sin intermediarios.Open formats. No lock-in, no middlemen.

06 · one engine

CLI hoy, GUI mañanaCLI today, GUI tomorrow

Un único motor debajo; la interfaz de escritorio y móvil llegará sobre él.A single engine underneath; desktop and mobile UIs will build on it.

Proyecto en desarrolloWork in progress

Entrena a la velocidad de una terminal.Train at terminal speed.

RawTrainer es un proyecto personal, hecho por y para quien quiere entrenar sin fricción. Estoy construyéndolo en abierto sobre estos principios.RawTrainer is a personal project, built by and for anyone who wants to train without friction. I'm building it openly around these principles.