Enter the PIN to open this app.
Log in to open the app. This is required every time it's opened.
This app requires a live connection to open. Checking nowβ¦
We'll send a one-time code to the approved email to open this app on this device.
Demo, warm-up, stations, stretch β the whole run of show, timed automatically with a cue at every switch. Adjust anything below, it's your class.
All values in seconds.
Choose what you want to open.
Monday through Saturday. When you hit Play on a session, if there's still time before its scheduled start, a countdown shows first β otherwise it starts right away.
Your rotation, backups, and the Timer itself β swipe through with the arrows.
Week 1 of the rotation always starts on the Monday below β every week after that counts forward from here, looping back to Week 1 once the pattern's last repeat finishes. Change this if you want the pattern to start from a different Monday (e.g. anchoring Week 1 to July 20 instead of the current date). Every week's system and exercises stay exactly as you entered them β changing this date just shifts which calendar dates they land on, nothing gets moved or lost.
Build your rotation once, as a short pattern β however many weeks it takes to cover your program β and set how many times it repeats. Edit any week here and every repeat of it updates together, automatically, forever. Use "+ Insert" on any week to add a new one right after it (it starts empty, so it won't overwrite anything) β the repeat count and total below update immediately. Sunday is always a rest day.
Every date shows which system is scheduled automatically, running on your rotation β forever, no re-entering anything. Tap any date to see it, play it, or add a quick note.
When this is on, a trainer can only open or play a day's workout once it's actually been released β not before, and not after it's expired. Each day's workout releases the trainer-day before it and stays available through the end of its own training day:
Monday β released Friday, available through Monday
Tuesday β released Monday, available through Tuesday
Wednesday β released Tuesday, available through Wednesday
Thursday β released Wednesday, available through Thursday
Friday β released Thursday, available through Friday
Saturday β released Friday, available through Saturday
Off by default β every day's workout is open to view and play anytime, same as before. Turn this on once you're ready to start restricting early access.
Everything you've built β saved setups, the weekly schedule, and the workout calendar β lives inside this app in this browser. Export a backup to move it to another computer, or to keep somewhere safe.
Connect this app directly to your Supabase project so your data syncs in real time across every device you use it on. See the README for the one-time setup (creating the table and security policy).
Each screen remembers its own size. Move this window onto a screen, dial in a size that looks right there, and it'll switch automatically every time the app is on that screen again β no need to readjust when you switch between your laptop and TV.
Require a PIN to open Settings, so members or trainers can't change the rotation, backups, or delete anything.
Require a PIN just to open this app at all β not just Settings. Turn this on if you're worried about someone else getting hold of this file and using it without permission. You'll need to enter this PIN every time the app is opened.
β Don't forget this PIN β there's no recovery option built in. If you lose it, you'd need to clear this browser's site data to get back in, which also erases everything saved in the app.
Require a username and password to open the app β every single time, on every device, with no memory of past logins (unlike App Lock, which only asks once per device). Use this for staff who share a computer where you don't want the PIN to just stay unlocked forever.
Require a one-time code sent to one specific, pre-approved email address before this device can open the app at all. A device stays trusted only while the app stays open β closing it (or restarting the computer) means verifying again next time.
β Requires one-time setup in your Supabase project: enable Email OTP and edit the Magic Link email template to show {{ .Token }} so it sends a 6-digit code instead of a clickable link.
Build or edit a system's stations, timing, and moves on the Session Flow screen β choose a system, dial in every setting, then save it as a setup you can assign to your rotation.
This permanently deletes every saved setup, weekly assignment, and calendar entry in this app. There's no undo β export a backup first if you're not sure.