โ† Coverage hub REPS WITH FRIENDS ยท DOCUMENTS v1.1.0

Reps With Friends โ€” Design Brief

Version 1.0 ยท 2 Sep 2026 ยท The one document you hand a designer or stakeholder. The full game rules live in docs/24_GAME_DESIGN.md โ€” read ยง3 (battles) and ยง4 (handicap) there before designing screens.


What Reps With Friends is

Reps With Friends is a real-time multiplayer fitness game for group chats. A crew agrees on exercises and picks 2โ€“3 battle days a week; everyone races to a shared target (default: 300 total reps โ€” any reps, any exercise, any order) by logging from WhatsApp, Slack, or the app. First player to the raw target closes the match โ€” but the winner is the highest effort-adjusted score: a couch player's push-up is worth ร—1.5, an athlete's ร—0.85, comebacks get armed, theft gets shielded, and players' pledges flow into a charity pot the winner directs (never receives). It is competitive, cheeky, and never lonely โ€” training stops being something you grind alone. The engine, two chat bots, and a full phone app are already built and tested (rwf.qalarc.com); the design work left is polish, brand, and the shareable surface.


The five design principles

  1. Effort is the hero. Every screen shows two numbers: raw reps (who<br>moved more) and adjusted score (who tried harder). Never let UI imply the<br>raw number is the winner โ€” the adjusted column is the product's soul.
  2. The chat is the arena; the app is the scoreboard. Most players never<br>open the app on a given day โ€” they live in the group chat. Bot cards and<br>shareable images are first-class design surfaces, not afterthoughts.
  3. Cheeky, never mean. Aussie banter energy โ€” "OI. YOU'RE BACK." โ€” but<br>shame is banned: it's always a <em>rest day</em>, never a <em>missed day</em>, and money<br>screens drop all banter for plain language.
  4. Sports-broadcast motion, never slot-machine. Calm setup (200ms<br>ease-outs) โ†’ counted-up logging โ†’ 400ms spring leaderboard re-ordering โ†’<br>danger-zone colour steps (layout NEVER changes) โ†’ one loud 1.2s winner<br>confetti. No spinning reels, no near-miss fakery, full reduced-motion<br>respect. Intensity is budgeted across the arc.
  5. Everyone has a shot. The comeback โšก (ร—1.2 when >30% behind),<br>handicap multipliers, daily fresh starts and MVP-votes-for-effort must be<br><em>visible</em> โ€” the UI's job is to make fairness legible and defeat temporary.

Current visual identity

Tokens (canonical): design/tokens.css โ€” dark athletic base (--bg #0a0b0d, --surface #121418), one loud accent (--lime #c6f32e, earned: verified/leading/CTA only), --coral #ff5c38 for effort/comeback, mono numerals for every score ("a score must read like a scoreboard, not prose"), 14/9px radii, pills, one 160ms ease โ€” with principle 4's strategic-intensity ramp superseding that single-speed law.

Five complete themes exist โ€” explore them side-by-side at /styles (run bun serve.ts, then http://localhost:4173/styles):

ThemeRead
Lime AthleticThe system as shipped โ€” near-black steel, one loud lime. Technical with a streak of arcade.
Gold ArcadeBen's Figma direction โ€” purple-ink surfaces, brand-gold actions, Anton display. Confident consumer product.
Sunset BrutalistThe light mode โ€” cream paper, 2px ink borders, hard offset shadows. Sport-poster loud.
Midnight NeonThe esports skin โ€” electric cyan + magenta, subtle glow. Ranked-play energy.
Forest RetroThe family mode โ€” walnut dark, 70s mustard/olive, soft radii. Everyone plays.

The open brand question (founder decision, ยง9 of the GDD): gold + purple


The surfaces to design


What a designer touches first โ€” three concrete briefs

  1. Lock the brand (1 week). Choose gold-vs-lime (accent + type + domain).<br>Deliverable: one chosen theme applied end-to-end in <code>/styles</code> previews +<br>a tokens.css mapping table. Everything downstream (bot cards, app, site)<br>inherits this. Ben has asked for sign-off on this personally.
  2. The battle day (2 weeks). The live-standings screen family: league<br>table with adjusted-score emphasis, comeback-armed โšก states, the DZ1โ†’DZ2<br>โ†’DZ3 escalation (colour/timer only, layout frozen), power-up activation<br>moments (public, dramatic, honest โ€” shield-blocks-steal must read as<br>justice, not glitch), and the log sheet (bottom sheet, presets, โ‰ค3 taps).<br>This is where principles 1, 4 and 5 earn their keep.
  3. The shareable artefacts (2 weeks). Result card + daily recap + Monday<br>digest as one templated system (16:9 image + chat-message variant).<br>Success metric: a losing player still posts it. Include the charity-pot<br>&quot;winner directs&quot; moment โ€” the one place the product goes quiet and warm.

Links

Run bun serve.ts โ†’ http://localhost:4173 (public mirror: rwf.qalarc.com):

Repo: docs/24_GAME_DESIGN.md (the game bible) ยท docs/13 (MVP spec) ยท figma/notes/analysis.md (the Figma audit + open decisions) ยท design/tokens.css (canonical tokens).