FOREVER FIT 24/7
A playable essay on dark patterns
Everyone in UX can name dark patterns — the fake countdown, the add-on you never chose, the phone menu that loops you back to the start, the cancel button worded to make you feel guilty. We put them in slide decks and move on. Forever Fit 24/7 is my attempt to make them something you feel instead of something you file away: a self-initiated browser game where you cancel a gym membership through six levels built out of real dark patterns, against a timer, where every trap you fall for adds ten seconds to your run.
The design work was in making the patterns legible as patterns while still being nasty enough to catch you. Six ways to cancel — website, app, email, phone, counter — each one a different trick: confirm-shaming copy, a roach-motel phone tree, an "are you sure?" that buries the real button, a form that resets. A diegetic hint system (a handwritten workout-log note, Coach Kelvin's "the family is forever") keeps the tone consistent so the UI never breaks character to teach you.
I designed, built and shipped it end to end. It runs entirely on Cloudflare's free tier: the whole game is one page, Pages Functions serve the daily-leaderboard API, and D1 stores every run — with server-side timing floors and an optional bot check so the board can't be gamed. The leaderboard, the anti-cheat and the copy are part of the same piece as the interface, not a layer bolted on after. It's where my interest in interaction, systems and ethics in product all land in one build.
Play the game ↗