Agujetas
Agujetas is a personal Android app for tracking hypertrophy routines, weights and reps, with timers and progress charts.
- My contribution
- I designed and developed an Android app to log my workouts and review progress.
- Who it serves
- Personal use during gym workouts.
- Scope
- Set and weight logging, timers, calendar and CSV/XLSX export.
Case overview
Non-commercial Android app in personal production for hypertrophy training, with granular logging, timers, history and progress charts.
- Use
- Active Android app
- Logging
- Weights, reps, routines and timers
- Output
- CSV/XLSX and history
- Stack
- React Native, Expo and TypeScript
Agujetas on Android
Non-commercial app in personal production. It logs hypertrophy sessions on Android with routines, timers, exercise history, body weight and CSV/XLSX export.
Product
The flow starts with a selected session, saves an active draft on the phone, times rest and duration, and sends every set to calendar and history.


Modules
The app lets you choose an exercise, switch between chart and table, move through day, week and month, and filter date ranges. Each point uses the heaviest set in the period and keeps reps and RIR.
- Active session
- AsyncStorage draft @agujetas_active_session_draft_v1 with 350 ms autosave
- Timers
- Session and rest timers with local sound and Android timer channel
- Routines
- Session types, assignable routines, editing and reordering
- Output
- Calendar, daily and historical export in CSV/XLSX and JSON
Per-exercise progression
The app lets you choose an exercise, switch between chart and table, move through day, week and month, and filter date ranges. Each point uses the heaviest set in the period and keeps reps and RIR.
Exercise
Grouping
History by date
| Period | Exercise | Best set | Reps | RIR | Volume | Sets |
|---|---|---|---|---|---|---|
| 06/01 | Bench press | 65 kg | 6 | 2 | 1,370 kg | 1: 62.5 kg x 8, RIR 2 | 2: 65 kg x 6, RIR 2 | 3: 60 kg x 8, RIR 1 |
| 06/08 | Bench press | 67.5 kg | 5 | 2 | 1,295 kg | 1: 65 kg x 8, RIR 1 | 2: 67.5 kg x 5, RIR 2 | 3: 62.5 kg x 7, RIR 1 |
| 06/15 | Bench press | 70 kg | 5 | 2 | 1,345 kg | 1: 67.5 kg x 8, RIR 1 | 2: 70 kg x 5, RIR 2 | 3: 65 kg x 7, RIR 1 |
| 06/22 | Bench press | 70 kg | 7 | 1 | 1,430 kg | 1: 70 kg x 7, RIR 1 | 2: 70 kg x 6, RIR 1 | 3: 65 kg x 8, RIR 1 |
| 06/29 | Bench press | 72.5 kg | 6 | 2 | 1,270 kg | 1: 72.5 kg x 6, RIR 2 | 2: 72.5 kg x 5, RIR 1 | 3: 67.5 kg x 7, RIR 1 |
Data contract
Calendar and history exports include local dates, ISO week, routine, exercise order, muscle, reps, weight, RIR, volume and body weight.
- Session
- fecha, fecha_hora_iso, mes, semana_iso, dia_semana, rutina, rutina_id, duration
- Set
- orden_ejercicio, numero_serie, muscle, exercise, side, reps, peso_kg, RIR
- Volume
- volumen_kg calculated per set as reps times weight
- Body weight
- peso_corporal_kg attached to the session date
Case decisions
Product
Agujetas v1.0.3 prioritizes logging real workouts during the session, including exercises, sets, side, weight, RIR, volume, body weight, timers and calendar.
Customization
The app supports custom routines, session types and progress tracking for a personal hypertrophy practice built on personal data.
Facets
Tools
- Expo + React Native
- native Android app without going through the Play Store
- TypeScript
- typing the routine, set and session model
- Zustand
- lightweight global state (active routine, timers)
- AsyncStorage
- fully local persistence, no backend or account
- XLSX
- training history export to spreadsheet