Wrapped, the morning after
Every member woke up June 1 to their own 12-slide, Spotify-style recap: classes, streaks, badges, their team’s run. With a soundtrack, and IG-ready share cards rendered server-side for every slide.
Strength + Wellness Collective · Charlotte, NC · May 2026
A month-long team fitness challenge that turned a strength studio into a game, and the software built from scratch to run every part of it.
The idea
The brief from the studio floor was simple: get members showing up together in May, make it feel like a season, and crown somebody at the end. Classes earn points. Community events earn points. Bringing a friend earns points. Cheering each other on earns points.
The original ops plan was sign-in sheets, a tracking spreadsheet, and me doing nightly math by hand. That plan never made it to launch. Instead the challenge got its own platform: registration, automated scoring, a member app, live leaderboards, the studio TVs, and a finale. All of it custom, all of it shipped while the clock ran.
Green light to victory lap
The pitch lands. A prototype leaderboard, built from raw Mariana Tek reports for the studio’s milestone tracker, proves class stats can be scored automatically. It becomes the blueprint for the leaderboard TV.
Registration, the scoring engine and the live leaderboard wired up in one session. Doors open at noon on the 28th with a live signup board on the studio TV.
The member app: magic-link sign-in, push notifications, team cards, the playbook. Built and shipped in the 48 hours before kickoff.
47 members. 17 teams. Every screen goes live.
The board locks. Final means final.
Wrapped drops for every member on the 1st. Awards Ceremony & Open House on the 4th, raffle drawn live from the final board.
Registration
Captains created a team and got an invite code; teammates joined with it. Solo members got matched into pickup squads by the coaches. Race-safe registration writes shipped thirty minutes before the noon open, and the signups rolled straight onto a live board on the studio TV.
No passwords, ever. Members signed into the app with magic links: 245 sign-in links over the month, zero password resets, zero accounts to manage.
The member app
Team total, your points, sweeps and raffle tickets, plus the Game Hub underneath it, all one thumb-scroll deep.
Teams, Individuals, Activity: three swipeable panes. Every class, sweep and bonus landed here within the hour.
Sunrise Crew. Hat Trick. Squad Goals. Eight badges stack with stars for repeat feats: 421 badges and 783 stars earned.
Google review? Coach tag on IG? Screenshot it, upload it, get points. 65 submissions reviewed and scored in-app.
Automated scoring
Nobody filed a spreadsheet. Check-ins flowed from the studio’s booking platform into a scheduled Worker that pulled, parsed, deduped and scored attendance automatically, then every screen in the system updated itself.
Member taps in at the front desk like any other day.
Attendance lands in Mariana Tek, the studio’s system of record.
An ingest ran 7× a day. Idempotent, so any run repairs a missed one.
Every event keyed and deduped in D1. 1,270 scoring events, zero double-counts.
App, studio TVs, admin console and emails all read the same live API.
Class points were weighted by membership: unlimited ×1, 10-packs ×2, 5-packs ×4, so a twice-a-week member could genuinely beat a daily regular on effort, not just volume. Weekly team sweeps (all three teammates, three classes each) were detected automatically: 27 sweeps awarded.
The signage system
A consumer 4K TV, a kiosk browser, one URL. Slides rebuild from live data every 60 seconds and skip themselves when empty.
Pre-launch: a live “teams rolling in” board hyped the signup window.In-game: the podium, updated live all day, every day.All 17 teams, race-in cascade, tie-aware ranking.Standout boards celebrated consistency, variety and streaks, not just rank.For the finale, the TV sold the party.And when it ended: WRAPPED, the TV edition, for the whole studio.
Skip ↓The Shoutout Wall
An iMessage-style wall running live on the TVs between classes. Every member got a magic link; posting earned +1 a day, wired straight into the scoring ledger by a nightly cron handshake. Members hyped PRs, teams talked (friendly) trash, and the studio read it all month.
Communications
Each week opened with a themed email, proofed to myself before every send and delivered per recipient with idempotency keys tucked under the rate limit. Push notifications carried the day-to-day: bonus reminders, milestone pings, and a daily motivation quote channel. 89 pushes over the month.
The finish
Every member woke up June 1 to their own 12-slide, Spotify-style recap: classes, streaks, badges, their team’s run. With a soundtrack, and IG-ready share cards rendered server-side for every slide.
May 2026, measured
Final podium: The Wobble Squad 1,736 · The Early Birds 1,689 · Hustle and Muscle 1,435
Under the hood
A single Cloudflare Worker serves the marketing page, the magic-link PWA, the JSON APIs and the TV surfaces, service-bound to the Shoutout Wall and the studio’s ops console. The points ledger lives in D1, bonus screenshots in R2, and the whole challenge ran on a $5 a month developer plan. When the season ended, deleting the cron schedule froze the final board in place: no re-scores, no drift, final means final.
Tap any piece for what it did here.