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.
Beta privada, por invitación. Se entra con un código de un solo uso enviado a tu email — sin contraseña que recordar. Private beta, invite only. You get in with a one-time code sent to your email — no password to remember.
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.
Escribe. Valida. Ejecuta. Analiza.Write. Validate. Run. Analyze.
Un mismo motor, cuatro pasos, siempre sobre archivos que puedes leer. Abajo se ve en la terminal; los mismos cuatro pasos existen en la app web, botón a botón.One engine, four steps, always over files you can read. Below it's shown in the terminal; the same four steps exist in the web app, button for button.
EscribeWrite
Defines el entreno en YAML: WORKOUT → STAGES → JOBS → EXERCISES. En tu editor de siempre, o directamente en la app si prefieres rellenar huecos.Define the workout in YAML: WORKOUT → STAGES → JOBS → EXERCISES. In your own editor, or right in the app if you'd rather fill in blanks.
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.
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.
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.
La misma sesión, en el móvil del gimnasio.The same session, on your gym phone.
La CLI sigue ahí, pero ahora hay una app web sobre el mismo motor: la instalas en la pantalla de inicio y se abre a pantalla completa, sin barra de navegador. Nada de menús: eliges el entreno y empiezas.The CLI is still there, but there's now a web app on top of the same engine: install it to your home screen and it opens full screen, no browser bar. No menus: pick the workout and start.
Icono propio, pantalla completa y arranque instantáneo. Sin descargas de 200 MB ni permisos raros.Its own icon, full screen, instant start. No 200 MB download, no odd permissions.
El motor construye la secuencia entera y la app la recorre: cuenta atrás por bloque, avisos de audio, vibración y la pantalla que no se apaga a mitad de serie.The engine builds the whole sequence and the app walks it: per-block countdown, audio cues, haptics, and a screen that won't sleep mid-set.
¿Se cae el wifi del gimnasio al terminar? La sesión se guarda en el dispositivo y se sincroniza sola cuando vuelve la señal.Gym wifi drops as you finish? The session is stored on the device and syncs itself when the signal is back.
Cada persona tiene su biblioteca y su historial, invisibles para el resto. Encima hay un fondo de entrenos compartidos que todos pueden ejecutar.Everyone has their own library and history, invisible to the rest. On top there's a shared pool of workouts anyone can run.
Cada sesión queda registrada; la app agrega tiempos, sesiones por entreno y te avisa cuando bates una marca.Every session is logged; the app aggregates times, sessions per workout, and tells you when you beat a mark.
Tipografía grande y contraste alto pensados para leerse de un vistazo, sudando y a un metro del suelo.Big type and high contrast, meant to be read at a glance, sweating, a metre off the floor.
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.
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.
Intervalos de alta intensidad con rondas fijas de trabajo y descanso.High-intensity intervals with fixed work/rest rounds.
Arrancas cada minuto con un trabajo pautado; el resto del minuto, descanso.Start each minute with a set piece of work; rest the remainder.
Máximo de rondas o reps del circuito dentro de un tiempo dado.Max rounds or reps of the circuit within a set 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.
Máximo volumen de calidad en una ventana fija de tiempo.Maximum quality volume within a fixed time window.
Las reps suben o bajan en cada ronda con el incremento que definas.Reps climb or drop every round by the increment you define.
Intervalos a medida cuando el 20/10 de un Tabata no es lo que necesitas.Your own intervals, for when a Tabata's 20/10 isn't what you need.
Farmer walks y acarreos: metros o segundos bajo el peso, con sus descansos.Farmer walks and loaded carries: metres or seconds under load, with their rests.
Competir sin convertirlo en una red social.Competing without turning it into a social network.
Entrenar solo está bien; medirse contra alguien, mejor. Pero sin muros, ni likes, ni seguidores: sólo una tabla con marcas y un alias.Training alone is fine; measuring yourself against someone is better. But with no walls, no likes, no followers: just a table of marks and an alias.
Un workout, una tabla, un ranking. Si el reto está enlazado a un entreno, terminas la sesión en el player y la marca se ofrece sola — no la tecleas.One workout, one board, one ranking. If the challenge is linked to a workout, you finish it in the player and the mark offers itself — you don't type it.
Benchmarks para repetir cada pocas semanas: dominadas máximas, dead hang, 2K de remo. El progreso se mide, no se recuerda.Benchmarks to repeat every few weeks: max pull-ups, dead hang, a 2K row. Progress is measured, not remembered.
Creas un círculo, invitas por email y la tabla es sólo vuestra. Tu caja, tus colegas, tu gente del box — no el mundo entero.Create a circle, invite by email, and the board is yours alone. Your crew, your box — not the whole internet.
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 registro ni contraseñasNo sign-up, no passwords | En local, ni login. En la beta, un código de un solo uso.Locally, no login at all. On the beta, a one-time code. | Cuenta + contraseñaAccount + password |
| Dónde viven tus datosWhere your data lives | En tu equipo, o en un único servidor propio. Sin terceros ni analítica.On your machine, or on a single self-run server. No third parties, no analytics. | Nube del fabricanteVendor cloud |
| 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 |
| Competir con quien tú quierasCompeting with whoever you choose | Retos y grupos privados, con alias públicoChallenges and private groups, with a public alias | Feed social o nadaSocial feed, or nothing |
| PrivacidadPrivacy | Sin rastreo, sin publicidad, sin reventa de datosNo tracking, no ads, no data resale | 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.
"Raw": sin capas innecesarias entre tú y el trabajo."Raw": no needless layers between you and the work.
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.
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.
Sin distraccionesNo distractions
La interfaz mínima indispensable. En sesión, solo ENTER.The bare-minimum interface. In session, just ENTER.
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.
Tus datos son tuyosYour data is yours
Formatos abiertos. Sin lock-in, sin intermediarios.Open formats. No lock-in, no middlemen.
CLI, web y móvilCLI, web and mobile
Un único motor debajo y tres pieles finas encima. Lo que corre en el móvil es exactamente lo que corre en la terminal.One engine underneath, three thin skins on top. What runs on the phone is exactly what runs in the terminal.
Cómo se entrabetaHow you get inbeta
La beta es pequeña y por invitación: prefiero poca gente entrenando de verdad y contándome qué falla, a mucha gente mirando. Pedir sitio cuesta un email.The beta is small and invite-only: I'd rather have a handful of people actually training and telling me what breaks than a crowd watching. Asking for a spot costs one email.
Pide sitioAsk for a spot
Dejas tu email y, si quieres, cómo entrenas. Nada más: ni contraseña, ni tarjeta, ni perfil.Leave your email and, if you like, how you train. Nothing else: no password, no card, no profile.
Te doy de altaI let you in
Reviso las peticiones a mano y te aviso a ese mismo email cuando tu dirección esté habilitada.I go through the requests by hand and write to that same address once yours is enabled.
Entra con un códigoSign in with a code
Pones tu email, recibes un código de un solo uso y ya estás dentro. La sesión dura un mes, así que no lo repites cada día.Type your email, get a one-time code, and you're in. The session lasts a month, so you're not doing this daily.
Instálala y entrenaInstall it and train
Añádela a la pantalla de inicio, importa tus YAML (o tira de los compartidos) y a entrenar.Add it to your home screen, import your YAML files (or use the shared ones), and go train.
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. Se construye en abierto sobre estos principios — y con lo que cuenta quien lo usa.RawTrainer is a personal project, built by and for anyone who wants to train without friction. It's built in the open around these principles — and around what the people using it report.
¿Prefieres hablar antes? Escríbeme por codeengtools.eu. Rather talk first? Reach me through codeengtools.eu.