|
| 1 | +# OpenProgression iOS - Launch Draft |
| 2 | + |
| 3 | +Status: DRAFT for David's review. Nothing has been posted. Drafted by Saga (story), |
| 4 | +fact-checked by Rut (claims). Every claim maps to a proof in the Claim Ledger below. |
| 5 | + |
| 6 | +--- |
| 7 | + |
| 8 | +## 1. Launch thread (X / LinkedIn) |
| 9 | + |
| 10 | +**1 (hook)** |
| 11 | +You used to need a coach watching you for a month to know how fit you actually are, and which gap to close first. |
| 12 | +I just put that on your phone. Offline, free, no account. |
| 13 | +OpenProgression for iOS is live. |
| 14 | + |
| 15 | +**2** |
| 16 | +Most fitness scoring rewards your best lift. This does the opposite. |
| 17 | +Your level is your *weakest* category, not your strongest. In the app it's one line: `let overall = levels.min()`. |
| 18 | +You can't hide behind a big deadlift. You find the hole and fill it. |
| 19 | + |
| 20 | +**3** |
| 21 | +The grading isn't vibes. It's an open standard: 7 levels, 8 categories, 25 benchmarks, every number traced to published research. |
| 22 | +The two largest peer-reviewed studies behind it cover over 1.3 million lifters (809,986 powerlifting entries + 569,607 CrossFit Open athletes). Sources ship with the data. |
| 23 | + |
| 24 | +**4** |
| 25 | +Enter one number per category, get your level. Add bodyweight and your lifts score relative to your size, not just absolute kg. |
| 26 | +No sign-up. No upload. Nothing leaves the phone. The whole standard is baked into the app bundle, so it works on a plane with no signal. |
| 27 | + |
| 28 | +**5** |
| 29 | +Knowing your level is step one. The app also ships a full year of training, 365 days, August 1 2026 through July 31 2027, no gaps. |
| 30 | +It's periodized: Volume, then Strength, then Peak, with deload weeks and 1RM test weeks built in. Strength climbs from 60% up to 91% of your max across the cycle. |
| 31 | + |
| 32 | +**6** |
| 33 | +Every session scales across all 7 levels with the exact loads and subs for each. Tuesday and Saturday are partner workouts, every week. |
| 34 | +And it's measurable: benchmark workouts like Cindy, Helen and Grace come back months apart so you can see the number move, not guess. |
| 35 | + |
| 36 | +**7** |
| 37 | +Here's the part I care about most: all of it is open. MIT licensed. |
| 38 | +The standard, the research, the year of programming, *and* the iOS app source are in one public repo. Only the name and logo are protected. Same model as Linux. Fork it, build on it, ship your own. |
| 39 | + |
| 40 | +**8 (close)** |
| 41 | +Free standard. Free app. A year of programming. Zero backend. |
| 42 | +Built so a coach, a developer, or a person training alone in a garage all speak the same language about getting better. |
| 43 | +App Store link + repo below. Tell me where it's wrong, that's the whole point of open. |
| 44 | + |
| 45 | +--- |
| 46 | + |
| 47 | +## 2. App Store description |
| 48 | + |
| 49 | +**Short (under 170 chars):** |
| 50 | +Find your real fitness level across 7 levels and 8 categories, then train it. A full year of periodized workouts. Free, open, 100% offline. |
| 51 | + |
| 52 | +**Long:** |
| 53 | +OpenProgression turns "how fit am I, really?" into an answer you can act on. |
| 54 | + |
| 55 | +It is built on a free, open standard for functional fitness: 7 levels, 8 categories, 25 benchmarks, every one traced to published research and public data. The two largest peer-reviewed studies behind it cover over 1.3 million lifters. |
| 56 | + |
| 57 | +**Know where you stand.** |
| 58 | +Enter one movement per category and the Level Calculator places you. Your overall level is your weakest category, not your best, so you train the gap instead of hiding it. Add your bodyweight and strength lifts score relative to your size. |
| 59 | + |
| 60 | +**Then train, every day.** |
| 61 | +A full year of programming is built in, 365 daily sessions with no gaps. It is properly periodized: Volume, Strength and Peak blocks, deload weeks, and 1RM test weeks so your percentages stay honest. Benchmark workouts like Cindy, Helen and Grace return across the year so you can measure real progress. |
| 62 | + |
| 63 | +**Scaled for you.** |
| 64 | +Every workout scales across all 7 levels with exact loads and substitutions. Tuesday and Saturday are partner workouts. |
| 65 | + |
| 66 | +**Yours, fully.** |
| 67 | +100% offline. No account, no backend, nothing leaves your phone. Everything is baked into the app. |
| 68 | + |
| 69 | +And it is open source, MIT licensed: the standard, the data, the year of programming, and this app's code all live in one public repository. Learn more at openprogression.org. |
| 70 | + |
| 71 | +--- |
| 72 | + |
| 73 | +## 3. Thirty-second demo script |
| 74 | + |
| 75 | +| Time | On screen | Voiceover / caption | |
| 76 | +|------|-----------|--------------------| |
| 77 | +| 0:00-0:04 | Today screen: "Sweet Reef", 42 min, Teams of 2, level pills | "Open the app. Today's workout is already here." | |
| 78 | +| 0:04-0:09 | Tap a level pill; warm-up / strength / metcon reflow | "Tap your level. Loads and subs adjust instantly, across all 7." | |
| 79 | +| 0:09-0:14 | Calculator: type a number into Squatting, Pulling, Pressing; toggle Bodyweight | "Not sure of your level? Enter one lift per category." | |
| 80 | +| 0:14-0:18 | Result resolves to "Overall Level / Weakest Link" | "Your score is your weakest category. Train the gap, not the strength." | |
| 81 | +| 0:18-0:22 | Program month view; swipe across the calendar | "A full year of training is built in. 365 days, periodized, no gaps." | |
| 82 | +| 0:22-0:26 | Detail: per-level Power Clean loads RX 60kg down to BEG 25kg, partner card | "Every workout, every level, exact loads. Partner days too." | |
| 83 | +| 0:26-0:30 | Benchmarks, then airplane-mode icon, then GitHub repo | "Free. Open source. Works fully offline. OpenProgression. On the App Store now." | |
| 84 | + |
| 85 | +**Strongest hook:** Post 1 (coach-in-your-pocket, true before/now beat). |
| 86 | +**Weakest/at-risk claim:** "over 1.3 million data points" - true and conservative (1.38M from two named studies); always name the studies inline so the figure cashes itself. |
| 87 | + |
| 88 | +--- |
| 89 | + |
| 90 | +## Claim Ledger (every claim -> proof) |
| 91 | + |
| 92 | +- 7 levels / 8 categories / 25 benchmarks -> data/levels.json (7), data/categories.json (8), data/benchmarks/*.json (sum 25). |
| 93 | +- over 1.3M lifters; 809,986 + 569,607 -> data/sources.json sampleSize fields (sum 1,379,593); README.md Research Foundation; spec/methodology.md. |
| 94 | +- weakest-link `levels.min()` -> ios/OpenProgression/Features/Calculator/CalculatorView.swift (overall = levels.min()); README.md. |
| 95 | +- bodyweight-relative scoring -> CalculatorView.swift (useBW + bwMultiplier, bw gated 30-300kg). |
| 96 | +- 100% offline / no backend -> grep URLSession|URLRequest|dataTask|http in ios/**/*.swift = 0 matches; project.yml bundles Resources/data; no third-party deps. |
| 97 | +- full year, 365 sessions, 2026-08-01..2027-07-31, no gaps -> data/sessions.json window = 365 unique days, 0 gaps. |
| 98 | +- periodized phases + deloads + test weeks -> sessions.json phase field (Volume/Strength/Peak/Deload/Test) + deload boolean. |
| 99 | +- strength 60% -> 91% -> sessions.json %1RM prescriptions. |
| 100 | +- every workout scales 7 levels w/ loads+subs -> data/metcons.json per-level standards; app detail screen. |
| 101 | +- Tue/Sat partner workouts -> 149/149 Tue/Sat sessions are team metcons; 0 team on other days. |
| 102 | +- Cindy/Helen/Grace retests reused -> benchmark metcons reused at block start + test week. |
| 103 | +- MIT; standard+data+programming+app all open in one public repo; only brand protected -> LICENSE; public GitHub repo; README trademark section. |
| 104 | + |
| 105 | +## Cut for truth (not claimed) |
| 106 | +- "Adversarial review by feedback agents until a ruthless reviewer signed off." That review did happen during development, but no artifact in the repo backs it, so it is not claimed here. (To make it cashable, commit a review log.) |
| 107 | +- No rigid "deload every 4th week" cadence claimed; copy says "deload weeks built in." |
0 commit comments