Changelog
A running log of what we shipped — features, fixes, and improvements — in newest-first order.
April 2026
- Improvement
Homepage template propagated to every detail page
Rebuilt the four detail-page shapes — features, programs, exercises, science — around a shared PillarDetailLayout that matches the homepage hero rhythm: eyebrow, big clamped title, lede, and an optional 2- or 4-column meta grid for goal, experience, schedule, category, difficulty, and equipment.
Introduced a DetailSection primitive so every section on every detail page lands on the same spacing, heading, and optional-kicker pattern.
Added an exercise-to-program "Programs that use this" aside — resolved through the same movement alias table that powers the program-to-exercise link — so every exercise surfaces the programs that actually use it.
Every detail page now ends with an App Store download block, matching the homepage CTA rhythm.
- Feature
Program peaking, new exercises, and a sitemap rewrite
Grew the library to 27 programs (Coan/Phillipi deadlift peaking, Hepburn singles and doubles, deload frameworks), 50 exercises (safety-bar squat, belt squat, reverse hyper, machine chest press), and 26 comparison pages.
Added five long-form articles tied to the biggest program families: when n-Suns makes sense, Madcow vs Starting Strength, the Texas Method, 5/3/1 template selection, and who should actually run conjugate.
Wired exercise-to-compare cross-links and program-to-exercise movement links so every detail page now surfaces adjacent content without forcing a back-to-index trip.
Rewrote the sitemap with explicit per-type priority and change-frequency policy, using each entry’s real lastModified date rather than today’s build time.
- Feature
Library expansion plus post-to-post linking
Grew the library to 24 programs (Westside Barbell Conjugate, Greyskull LP, Daily Undulating Periodization), 46 exercises (Pendlay row, landmine press, Jefferson deadlift), and 23 comparison pages (Pendlay vs barbell row, landmine vs overhead press, conventional vs stiff-leg deadlift).
Added five long-form articles: Bulgarian method lessons, PHUL vs PPL, Nordic curl protocols, MEV/MAV/MRV in practice, and exercise substitution.
Introduced post-to-post internal linking (BlogPostItem.relatedPosts) so each article can surface a "You might also like" section alongside the existing related-programs aside.
Wired program-to-post links for PHUL, Bulgarian Method, 5/3/1 BBB, RP Hypertrophy, and GZCL Jacked and Tan 2.0, closing the most impactful gaps in the program ↔ post graph.
- Feature
Library expansion plus blog ↔ program cross-links
Added three programs (GZCL Jacked and Tan 2.0, 5/3/1 Boring But Big, RP Hypertrophy), five exercises (cable chest fly, Nordic curl, good morning, hip abductor, snatch-grip deadlift), and three comparison pages (barbell squat vs hack squat, bench vs floor press, RDL vs leg curl).
Introduced cross-linking between blog posts and programs via BlogPostItem.relatedPrograms and ProgramItem.relatedPosts, with "Related programs" and "Further reading" asides on the respective detail pages.
Grew route total to 140 static pages.
- Feature
Program selector plus library expansion
Added a three-step program selector at /programs/selector/ that matches experience, goal, and weekly availability against the full program catalog.
Grew the library to 131 routes with three new programs (Bulgarian Method, PHUL, 5/3/1 Forever), seven new exercises, three new comparison pages, and three new articles on Sheiko #29, Smolov Jr., and SBS autoregulation.
Introduced a type filter on /compare/ so readers can separate exercise comparisons from app comparisons.
- Feature
Persona landing pages + help center
Added three persona-targeted landing pages — beginner, powerlifting, and home gym — each linking to three relevant programs and the App Store.
Launched the /help/ knowledge base with 25 answers across getting started, logging, programs, billing, and data privacy.
- Feature
Compliance pages + expanded content library
Shipped /privacy/, /terms/, /disclaimer/, /press/, and /consumer-health-data/ to meet App Store review and regional privacy rules.
Grew the library to 83 routes with new exercise entries, science citations, and program comparisons.
- Feature
Exercise library, program comparisons, and science briefs
Launched /exercises/, /programs/, /compare/, and /science/ index pages, each sourced from the shared content registry.
Added the first eight programs — Starting Strength, StrongLifts 5×5, Linear Progression, 5/3/1 Beyond, GZCLP, PPL 6-Day, Upper/Lower, and Texas Method.
- Improvement
FAQ accordion uses native details/summary
Rebuilt the FAQ accordion on the native HTML <details>/<summary> pair so it works without JavaScript and matches default keyboard behavior.
Reduced the interactive island by one component and removed a client-side state hook.
- Improvement
Humanizer pass on blog copy
Ran every blog article through the humanizer pass to remove AI-writing tells — transition verbs, boilerplate openings, overly symmetrical paragraph shapes.
No content claims changed; the goal was voice, not facts.
- Feature
Blog launch with ten long-form articles
Published the /blog/ index and ten opening articles covering programming choices, RPE, volume, and stall recovery.
Each post injects BlogPosting JSON-LD and feeds /feed.xml with a proper pubDate and category tag.
- Fix
Sitemap picks up registry and blog tag pages
sitemap.ts now iterates every CONTENT_REGISTRY entry and every unique blog tag so new posts and tags show up in search without a manual edit.
Fixed a priority bug where static pages were emitted with the blog index priority.