ENFR
Progress

A calendar that makes you want to come back

The perfect workout doesn't exist; consistency does. Gymmy turns your workouts into dots, calendars and a streak of active weeks, and lets the gaps tell their story instead of holding them against you.

Gymmy's home screen with the week strip: three training days filled in with their dominant muscle icon and routine colour, next to a workout counter.

Consistency beats the perfect session

In lifting, consistency is the variable everyone underestimates and nothing replaces. An average workout every week for a year beats a perfect one once a month, every time. The problem is that consistency is invisible day to day: you know what you did today, roughly this week, and nothing beyond that. "I train three times a week" is one of the most optimistic sentences in the locker room. The real average is usually somewhere else, and nobody knows it without measuring it.

Gymmy takes the opposite stance: make your workout consistency permanently visible, from today out to the whole year, without ever turning it into a guilt machine. No discipline score, no target handed down. Just your workouts, laid out over time, at every scale that matters: the week, the month, the year.

Seven dots on your home screen

It starts the moment you open the app: a strip of 7 dots, one per day of the week. Each trained day carries the icon of that day's dominant muscle and the color of the routine you used; today is circled. In one second you know where you stand: two workouts in, one planned, the weekend ahead.

A swipe pages through previous weeks, so "what did I do last week again?" has an instant answer. No menu, no report to open, just the strip sliding back through your recent history. And since every routine has its color, you recognize your push, your pull and your leg day without reading a single word: the strip tells your week like a code only you can read that fast.

The same strip exists as a "Your week" widget on your iPhone home screen, with a counter like "3 workouts this week". Your consistency is right there before you even open the app, a quiet, factual nudge that works better than any motivational notification, because it's just the truth about your week.

The month view, then the whole year

Zoom out. The month view is a calendar where every trained day shows the dominant muscle's icon, in its routine's color. Patterns jump out: the full weeks, the hollow week of that work trip, the restart after the holidays. It's not a journal to re-read line by line, it's a picture. And a picture of your training month says more than a workout count ever will.

One level up, the year view: twelve mini-calendars, GitHub contribution graph style, tinted with your routine colors. Your entire training year fits on one screen. It's not a view you check daily, but it changes your perspective: an average month inside a dense year is still a dense year. And for developers who lift, filling a contribution graph with squats tastes a little bit like revenge.

Each scale comes with its numbers: month stats (workouts, average duration, workouts per week), year stats, and the all-time total "since you started with Gymmy", the one counter that never goes down.

A streak that counts weeks, not days

Classic streaks have a design flaw: being day-based, they break for the wrong reasons. Nobody trains 365 days a year, so a daily streak becomes either a lie or a source of anxiety, and the day it breaks over a birthday or the flu, motivation leaves with it.

Gymmy's streak is based on active weeks: "πŸ”₯ 5 active weeks in a row", shown from two weeks up. Missing a day breaks nothing. Moving Tuesday's workout to Thursday breaks nothing. What counts is what actually counts: did you train this week?

The unit isn't arbitrary: whether you train two, three or five times a week, the week is the basic building block of any structured training. Splits are designed in weeks, volume is counted in weeks. A streak of weeks therefore measures exactly what you're trying to build: the repetition of the cycle, not the perfection of the daily grind. It's a streak that's robust by construction, one you can hold for months without living in fear of the empty box. That's precisely why it still motivates you six months in, when a daily counter would long have burned out or broken.

Gaps are allowed to exist

A training life contains flus, tweaked backs, vacations and brutal weeks at work. A calendar that renders those stretches as silent holes ends up lying: three months later, there's no telling "I quit" from "I was sick".

Gymmy has day events: pin a state on any day (sick πŸ€’, injured πŸ€•, vacation πŸ–οΈ, rest, stress/sleep, or other) from the calendar or your history. The event shows up on the week strip, the month view and the history.

The result changes how you read everything else: your calendar tells you why there's a gap instead of blaming you for it. Two empty weeks with πŸ–οΈ on them aren't a relapse, they're a summer. A shoulder that needed three weeks off reads at a glance, with its start and its end.

An event isn't an excuse you owe the app. Gymmy asks for nothing. It's a note for your future self, the one who, three months from now, will be trying to make sense of a dip in their progress tracking and will find the context already sitting where it belongs, pinned at the time it happened. Small feature, outsized payoff: it's the difference between a calendar that archives your life and one that quietly rewrites it as failure.

Measuring without judging

There's one thing this calendar will never do: tell you how often you "should" train. No frequency target handed down, no passive-aggressive notification, no flame yelling at you. Gymmy measures, it doesn't prescribe: true for your sets, true for your frequency.

Experience says this works better, not worse: seeing your real weekly average is more than enough to know where you stand, and a week-based streak you can hold for months makes you want to keep going far more than a fragile counter that resets at the first flu. Consistency is built on honesty, not pressure, and an honest calendar is one you keep opening, even after a rough month, because it never turns opening it into a punishment.

Your consistency feeds the rest of the app, too: every week, the weekly recap puts your workouts next to the previous week's, and your sets per muscle are computed as a weekly average. It all comes from the same habit: logging what you lift. If you want to watch your own strip of dots fill up, your first 10 workouts are free, no credit card required.

Frequently asked questions

How does the streak work in Gymmy?

The streak counts consecutive active weeks, starting at two: "πŸ”₯ 5 active weeks in a row". It's deliberately week-based rather than day-based, so moving a workout or missing a day breaks nothing, as long as your week stays active. It's a streak that measures your actual consistency, not your ability to open the app every single day.

What happens if I'm sick, injured or on vacation?

You can pin an event on any day, from the calendar or your history: sick πŸ€’, injured πŸ€•, vacation πŸ–οΈ, rest, stress, or other. The event shows on the week strip, the calendar and your history. So when you look at a gap three months later, your calendar tells you why it's there, instead of letting it look like you quit.

Does Gymmy set a training frequency for me?

No. Gymmy prescribes nothing: no weekly workout target, no plan handed down, no guilt trip when a week is quieter. The app measures your actual frequency (workouts, average duration, workouts per week) and shows it clearly. You decide the rhythm that fits your life; Gymmy just makes it visible.

Can I see my consistency across the whole year?

Yes. The year view shows twelve mini-calendars, GitHub-contribution-graph style, tinted with your routine colors: your whole training year fits on one screen. You can read the full stretches, the quiet patches and their cause if you pinned events, alongside yearly stats and your all-time workout count since you started with Gymmy.