Vaporwave-aesthetic calorie and protein tracker for the terminal. No dependencies — pure Python stdlib.
- Calorie & protein tracking — logs meals with kcal and protein, tracks against your personal daily targets
- TDEE calculation — uses the Mifflin-St Jeor BMR formula with an activity multiplier; accepts weight in lbs and height in feet/inches
- ASCII donut chart — ring visualization of your daily calorie intake percentage, rendered with polar coordinates
- Gradient progress bars — color-shifts cyan → gold → peach → red as you approach your limit
- Persistent storage — data saved to
~/.macro_tracker.json, survives restarts - Vaporwave / Frutiger Aero aesthetic — 256-color pastel palette, rounded box-drawing borders, glassy layout
- Python 3.8 or newer
- A terminal that supports ANSI 256-color codes (Windows Terminal, iTerm2, most Linux terminals)
No pip installs needed.
py tracker.py
Or on Mac/Linux:
python3 tracker.py
| Key | Action |
|---|---|
S |
Set up your profile (weight, height, age, activity level) |
A |
Add a meal (name, calories, protein) |
D |
Delete a meal from today's log |
R |
Reset all meals for today |
Q |
Quit |
Uses the Mifflin-St Jeor equation:
BMR (male) = 10 × kg + 6.25 × cm − 5 × age + 5
BMR (female) = 10 × kg + 6.25 × cm − 5 × age − 161
TDEE = BMR × activity multiplier
| Activity Level | Multiplier |
|---|---|
| Sedentary | 1.20 |
| Lightly Active | 1.375 |
| Moderately Active | 1.55 |
| Very Active | 1.725 |
| Extra Active | 1.90 |
Protein goal is set at 1.8g per kg of body weight.
All data is stored in ~/.macro_tracker.json (your home directory). Meals are keyed by date so each day has its own log. You can delete the file to reset everything.
macrotrackr/
├── tracker.py — the entire app
└── README.md — this file