HIIT20
20 minutes. New song at the top of every minute.
Workout in progress
Looks like the page reloaded mid-workout. Pick up right where you were.
No login needed
Music plays in this browser from a public Spotify mix — nothing to connect, no account required.
Mix
Each Start rotates to a different official mix. Track order is shuffled for this session.
This session: Beast Mode.
Spotify's public embed has no skip-to-next. Each 60s round loads a different track URI into the player (not a seek-to-end restart). Voice and beeps still mark the new movement. On a phone, if the song doesn't start from Start, tap Play music — iPhone Safari often blocks autoplay. Use My Spotify for a guaranteed new song from your own library every round.
Open this playlist in SpotifyPersonalized to your own most-played artists. Limited to 5 people total — Spotify's rule for apps like this, not ours.
1 Spotify app
One-time setup. Create an app at developer.spotify.com/dashboard, tick Web API and Web Playback SDK, add the Redirect URI below, then paste the Client ID here. Nothing is sent anywhere but Spotify — it's stored in this browser only.
Client ID saved.
2 Connect Spotify
You'll approve access to your top artists, Liked Songs, and playback. Spotify Premium is required to control playback.
If Spotify says you can't access this app: your account needs to be added to its allowlist first (5 accounts max) — ask whoever set this up to add your Spotify email under the app's User Management tab.
Connected as
3 Today's playlist
Built from your most-played artists and your Liked Songs. 20 different artists, no repeats, plus one artist you've never played that we think you'll like. Track order is shuffled when the playlist is built and shuffled again each time you start, so sessions aren't the same sequence. Each round plays that minute's track — the song change is the cue to switch movements.
4 Play on
5 Workout
Exercise set
Kettlebell chain
20 bodyweight moves. No equipment. Full-body.
Demo athlete
Demo coming soon
Intensity
Standard 40/20 — 40s work, 20s rest. The default 20-minute protocol.