COMPLETE DISSEMINATION
Every element, component, style β and where the build stands
The living reference for Reps With Friends: design system, feature inventory, progress metrics, and system map. If it exists, it's on this page.
01 Β· Design tokens
Single source of truth: design/tokens.css. Every page, app and bot card consumes these β nothing hardcodes colour.
Colour
Rule: lime is earned β it marks effort, verification, winning, action. Coral is heat (comeback, HR, down-states). Amber is pending. Sky is information. Contrast chips: WCAG ratio vs --bg.
Type
Space Β· radius Β· motion
02 Β· Component library
18 primitives, rendered live. Every screen in the app, site, hub console and bot cards composes from these. The 13 Figma-adopted families live in section 03 below.
Buttons
Actions. Primary = one per view, lime, earned.
Tags & status dots
System + match status. Dots carry glow when healthy.
Tier pills
Handicap identity. Colour-coded, multiplier on the face.
Comeback badge
Appears when >30% behind leader. Pulses until used.
Progress bar
Raw-rep progress to target. 700ms fill, lime; coral when comeback-armed.
Standings row
The core game surface β medals, tier, bar, adjusted vs raw.
Chat bubbles
Bot β player surface (demo page, app feed). Bot bolds in lime.
Taunt card
AI-generated with canned fallback. Cheeky, never mean.
Charity pot card
Winner directs, never receives. Employer-fundable.
Ladder row
Season standings: position, streak, points.
Command chips
The chat grammar β identical on WhatsApp and Slack.
Result card
Generated as branded 1200Γ675 SVG/PNG β the shareable artefact.
Stat card
Numbers with meaning. Mono numerals, lime emphasis.
Status pill
Lifecycle states across hub console + matches.
QR connect
wa.me deep link as QR β gym-floor onboarding.
Empty state
Friendly copy + one action. Never a blank screen.
Toast
Transient confirmations. Auto-dismiss 2.4s, stack bottom-up, max three on screen.
Confetti burst
Victory moments β match close, PRs, photo finish. Canvas particles at 60fps; reduced-motion β single flash.
03 Β· From Figma β adopted craft
Ben's component language (figma/assets/, audited by lane F2) rebuilt on our tokens β every β
-adopt component-level row from docs/13 Β§7. No hex literals: his values are token values, alpha variants are color-mix(). Structural decisions (fairness, platform, rhythm, power-ups-in-MVP) are founder calls β these are visual components only. Full variant matrix + spec citations: /figma (local).
Bottom nav + central LOG
from Figma β mapped #FFC821β--lime Β· #0B0A12β--bg Β· inactive #63637Aβ--faint (AA). Β§7/4 adopt: logging is the daily action β central 64px pill.
Quick-log sheet β β€3 taps
Log reps
20 push-ups = 20 RUF Β· takes you to 92%
from Figma β mapped #14121Fβ--surface Β· r28β--radius-xl Β· RUF previewβ--lime. Β§7/26 adopt: chips are live β conversion + CTA follow.
Battle card
The Sunday Showdown
You're 2nd β 36 RUF behind Sam
from Figma β mapped gradient #2A1F4Dβ#0B0A12 = --energy-tintβ--bg Β· avatarsβ--energy-tint/--energy-light Β· Anton 26β--font-display.
Leaderboard row β 400ms spring
from Figma β mapped leader strokeβcolor-mix(--lime 70%) Β· you-row #8B5CF6β--energy Β· completion % primary (rides the fairness call). Β§7/16 adopt.
Countdown β dual clock
from Figma β mapped DZ rampβ--lime/--urgency/--danger @80 Β· #2A1020β--dz3-surface. Β§7/28 adopt: group clock + local equivalent. Ticks live; DZ3 heartbeats the timer only.
Danger-zone banner β 3 levels
from Figma β mapped #FF4D5Eβ--danger, levelsβ--lime/--urgency/--danger. Click to cycle: icon+label at every level, layout never changes. Β§7/23 adopt.
Event banner
from Figma β mapped Thunderβ--lime Β· Storm #8B5CF6β--energy Β· CloseCallβ--urgency Β· Charityβ--success. V1.x events, components now.
Dialog β confirm / destructive / money
Use Lightning Round?
Your next 10 minutes of reps count 3Γ. One per day β make it count.
Delete this entry?
25 squats (25 RUF) will be removed from today's total. This can't be undone after the edit window.
from Figma β mapped #1B1830β--surface-2 Β· destructiveβ--danger Β· r20β--radius-xl. Money variant drops all banter (Β§7/15).
Feed item β reactions
from Figma β mapped bubbles @15%βcolor-mix on --success/--lime/--energy/--urgency/--sky. Β§7/32 hybrid: bot taunts stay, reactions added.
Power-up card β rarity visual only
Lightning Round
Reps count 3Γ for the next 10 minutes
Rep Steal
Take 10% of an opponent's total (SAMPLE cap)
from Figma β mapped rare #4DA3FFβ--sky Β· epicβ--energy Β· legendaryβ--lime Β· activeβ--success. Β§7/24 is a β call β no engine wiring.
Subscription card β Reps Pro
Reps Pro
from Figma β mapped selected planβ--energy-tint + --lime stroke Β· SAVE%β--urgency. Prices SAMPLE; paywall logic is F4/engine.
System state β 6 states
No battles yet
Create your first battle or join a mate's with an invite code.
Pro feature
Multiple battles need Reps Pro. Your first crew is always free.
from Figma β mapped errorβ--danger Β· lockedβ--lime Β· skeletonβ--line. Β§7/17 adopt: superset β locked + restricted map to Pro + region gates.
Badge system β 5 types
from Figma β mapped streakβ--energy-tint + --urgency flame Β· premiumβ--ink-brand-tint + --energy crown Β· dangerβ--danger. Inter 600 11 kept.
04 Β· Feature families β all 36 elements
Full backlog with status. Families AβF approved and largely built; G is the proposed second wave.
05 Β· Progress & roadmap
What's working today
- 90+ tests green across engine, bots and API β CI-gated on every push
- Push-to-deploy: GitHub β Cloudflare Pages, live in ~20s
- Full game loop playable: match β handicap β comeback β close β MVP vote β charity pot β season
- WhatsApp bot (via Qalarc Hub) + Slack bot (Bolt) on one command grammar
- AI layer live on the public site (guide, narrator, taunts) with graceful fallbacks
- Ops + corporate console with live state polling
Top blockers (full register: docs/15)
06 Β· Systems map
CLIENTS
EDGE
CORE
Full detail: docs/11_SYSTEMS_OVERVIEW.md Β· hosting decision: docs/16_HOSTING.md