Changelog

Follow up on the latest improvements and updates.

RSS

The big one!
We've launched
Strength Unwrapped
— a Spotify Wrapped-style yearly recap for your lifting journey. Unwrap your year in beautiful, swipeable, shareable cards that celebrate your strength training achievements.
image
What's Inside:
  • Portrait cards
    optimized for Instagram sharing — show off your gains!
  • Swipeable carousel
    with smooth animations powered by Motion
  • 9 recap cards
    covering your entire year:
-
Title Card
: Staggered word reveals, gradient year display, confetti fireworks 🎆
-
Sessions Card
: Your workout count with circular grade badges and streak highlights
-
Tonnage Card
: Total volume lifted with Big Four breakdown bar chart
-
Most-Trained Lift
: Deep dive into your favorite exercise (sets, reps, gym sessions)
-
Consistency Card
: Your training consistency grade
-
PR Highlights
: Notable lifts and lifetime PRs split into separate cards
-
Seasonal Pattern Card
: See when you trained most throughout the year
-
Closing Card
: Encouraging wrap-up message
  • Year selector
    to browse multiple years of data
  • Previous year comparison
    on Sessions and Tonnage cards (shows in December for current year)
  • Demo mode
    with sign-in prompts for unauthenticated users
  • Skeleton loaders
    for smooth loading experience
  • Empty state phrases
    that encourage and motivate
This is a
beta feature
— we're iterating based on your feedback. Try it out at
/strength-year-in-review
\!
---
🎨 UI & UX Improvements
Session Analysis Card Overhaul
image
  • Visual hierarchy
    : e2RM-based highlighting — PRs and highest e1RM sets stand out
  • Larger strength level text
    : Your strength level is now more prominent
  • Improved layout
    : Cleaner header, better exercise block grouping, session tonnage comparison
  • Tonnage range slider
    : Filter sessions by volume range
  • Enhanced tooltips
    :
- Notes tooltip on StickyNote icon
- Video tooltip with truncated URLs
- Bold "Note:" prefix for workout notes
  • Better highlighting
    : Highlighted sets get bigger fonts and padding
  • Session rating
    : Now shown in card description with nuanced PR tiers and adlibs
Consistency Card
  • Grade thresholds
    : Extracted and improved calculation logic
Visual Improvements
  • Big Four Lift Cards
    : Updated grid layout for better responsiveness
  • Standards Slider
    : Tooltips with tuple info, hover highlights, improved copy
  • Icon update
    : Anvil icon in SectionTopCards
  • Plate animations
    : Plates slide onto barbell with Motion library animations
  • Feature cards
    : Scroll-triggered icon animations, theme chart colors
  • Big Four SVG
    : Subtle rotation wobble when stats load
Layout & Spacing
  • Carousel centering
    : Restored proper centering when authenticated
  • Unified auth layouts
    : Consistent layout for authenticated and demo states
---
🔧 Technical Improvements
Code Organization
  • Component extraction
    :
    SessionExerciseBlock
    component for reusable exercise displays
  • Local storage patterns
    : Documented SSR-safe usage patterns
  • Year recap refactoring
    : Decentralized cards, moved processing code out of
    src/lib
Performance & Caching
  • Session rating cache
    : Uses
    useLocalStorage
    for performance, invalidates on tuple count changes
  • Processing utils
    : Enhanced with better date handling and session analysis
Date & Timezone Fixes
  • Local date handling
    : Fixed timezone issues across multiple components:
- AI lifting assistant, heatmap, months highlights, visualizer-mini
- Time range select, section-top-cards, use-timer, consistency-card
- TODAY badge and cutoff dates (fixes Australia timezone issues)
  • Date formatting
    : Migrated to
    date-fns
    library for consistent date handling
---
🐛 Bug Fixes
  • Heatmap card
    : Fixed broken html3canvas-pro usage after recap migration
  • Seasonal Pattern Card
    : Made bar chart visible (was hidden)
  • PR ranking
    : Fixed tie-breaking — later dates rank worse when lifts tie
  • Year comparison
    : Only shows previous year comparison in December for current year
  • Duplicate styles
    : Fixed duplicate style props in seasonal-pattern-card
  • Grade jump calculation
    : Fixed consistency grade jump calculation
  • Session momentum
    : Fixed to count unique days (was double-counting)
---
📊 Data & Analytics Improvements
Strength Ratings
  • Age-at-PR factor
    : Historical lifts now factor in your age at the time of the PR for more accurate strength ratings. You are not in high school anymore, so stop bragging about that boys bench press session.
  • Bio data integration
    : Added bio data support for strength rating calculations
  • Historical PRs
    : Properly distinguished from notable lifts using
    isHistoricalPR
    flag
Year Recap Data Processing
  • Deadlift multiplier
    : Added 2.5x volume multiplier for deadlift in most-trained and favorite badges
  • Lifetime PRs
    : Split into separate card from notable lifts
  • Previous year comparison
    : Added to Sessions and Tonnage cards with proper date logic
  • Empty states
    : Encouraging phrases for PR cards when no data available
Session Analysis
  • PR tiers
    : More nuanced PR classification
  • Strength level integration
    : Better integration with strength level calculations
  • Tonnage filtering
    : Range slider for filtering sessions by volume
---
🎯 Other Improvements
  • Momentum card
    : Sessions move up, brackets move out, math shows up — visual glow-up\!
  • Lifetime tonnage card
    : Unit-aware stats display
  • Weekly streak card
    : Improved logic and messaging
  • Training logging prompt
    : Updated text in SectionTopCards
  • Carousel position
    : Maintains position on year change, reanimates active card
  • Demo mode
    : Improved sign-in card and empty states throughout year recap
---
📝 Developer Experience
  • Code quality
    : Improved prop destructuring, better component separation
  • Local storage
    : Documented patterns and SSR-safe usage
---
Total changes: 44 files changed, 4,268 insertions(+), 950 deletions(-)
Keep lifting!
Lots of AI coding happening this week:
image
There may be BUGS. Please report any issues!
## Big Four Lift Cards with Personality
The home dashboard now shows
Big Four lift cards
with personality badges:
  • Did it today
    — Random labels like "Actually showed up", "Future you approves", "Zero regrets"
  • Favourite / least favourite
    — Which lift you do most vs least
  • Neglected lift
    — Tiers like "It's time", "Comeback ready", "Been a while" when you haven’t hit a lift in a while
  • Tonnage badges
    — "Tonnage king", "Volume monster", "Moving mountains" for your heaviest sessions
  • PR badges
    — Best ever, top 5, top 10 recently
image
Cards use staggered entrance animations and a responsive layout. The Big Four section is now more informative and motivating.
Beyond Elite on the Strength Slider
If your E1RM is above Elite, the strength slider now extends so your marker stays on the chart. Your strict press (and other lifts) stay visible instead of disappearing off the right.
Shareable Calculator URLs
The
One Rep Max Calculator
and
Strength Level Calculator
now sync state to the URL. Share a link and others see the same inputs and results. Advanced params (age, bodyweight, gender, formula) sync together so shared links restore the full state.
Session Analysis: Per-Lift Tonnage
The session analysis card now compares
per-lift tonnage
to your last 12 months. See how each lift’s volume in this session stacks up against your average. Session strength levels use the same Beyond Elite logic when you exceed Elite.
image
## Lift Summary Stats: Tonnage
On the big four lift pages, the summary stats now include
heaviest session
and
heaviest in the last 12 months
for each lift. Tonnage is now easier to track alongside PRs.
There is more tonnage info throughout the app. You can't always chase PRs but you can consistently push tonnage.
Home Dashboard Polish
  • SectionTopCards
    — Reusable stat cards with icons and accent colors
  • Skeleton loading
    — Smoother loading while data is fetched
  • Stats overlay
    — Fade-in after the hero transition
  • PageContainer
    — Consistent centering across pages (Tailwind v4)
Tailwind v4 & Theme Tweaks
  • Migrated to
    Tailwind CSS v4
  • Theme variables instead of
    dark:
    variants
  • Animated backgrounds
    — Grid patterns for light/dark, flickering grids for neo-brutalism, warp effect for retro-arcade
  • Updated navbar and background grid styles
image
1000lb Club Calculator
  • Compact card layout
  • Improved copy functionality
  • Updated feature links and descriptions
AI Lifting Assistant
  • Layout and message styling updates
  • Better max-width and readability for assistant messages
  • Using new AI-SDK version (jumped 2 generations)
Accessibility
  • Improved
    aria-label
    s on dropdown menus
  • Drive picker button titles updated for clearer context
---
Backend & Data
  • Infer missing data
    — Date and lift type inferred from the previous row when cells are blank
  • Overhead Press → Strict Press
    — Normalized naming and other parser fixes.
  • Performance
    — Refactored session analysis card,
    buildParsedState
    , and lift type processing
  • Google Analytics
    — Sign-in click events for attribution
---
We’re aiming to give you the best visualizations and insights for your strength journey — to celebrate wins and see what’s working. Share feedback, report bugs, or suggest features:
Please feel free to buy me a coffee to help fund AI tokens.
Keep lifting.
New PR display on lift pages
  • Added a PR display component on the big four lift pages
  • Browse PRs by rep range (1RM, 3RM, 5RM, etc.) in an overview and detail view
  • Video links for PRs: YouTube and Google Photos URLs show thumbnails with play buttons
  • Strength rating badges on PR cards (Physically Active, Beginner, Intermediate, Advanced, Elite) using strength standards and athlete bio
  • On mobile/tablet, only key rep ranges (1RM, 3RM, 5RM, 10RM) are shown to keep the layout simple
image
We've Been Busy Hacking in the Background
We've been heads down working on a bunch of improvements. Here's what's new:
New Warm-up Sets Calculator
We've added a completely new free tool - the warm-up sets calculator! It helps you:
  • Generate progressive warmup sets for your barbell workouts
  • Calculate warmup weights and reps based on your top set
  • See visual plate breakdowns with color-coded diagrams showing exactly which plates you need
  • Choose your barbell weight (20kg/45lb standard, women's bar, or custom)
  • Select your preferred plate colors (great for powerlifters who want specific plate colors)
  • Add intermediate sets automatically when there's a large gap to your top set
  • Support for both kg and lb units
The calculator uses progressive warmup methodology to help you properly prepare for your working sets. No login required - it's completely free to use. The algorithm is still being refined - give feedback please!
image
AI Lifting Assistant Major Upgrade
We've completely refactored the AI Lifting Assistant:
  • Upgraded to AI SDK v6 with new ai-elements components
  • Added sources and reasoning to chat messages - now you can see where the AI gets its information and its reasoning process
  • Better message layout with improved readability
  • Improved suggestion rendering and conversation flow
  • Better scrolling and overflow handling
  • All users temporarily on GPT-4o-mini for faster, more cost-effective responses
Theme System Improvements
  • New custom logos for neo-brutalism and retro-arcade themes
  • Logos now automatically update based on your selected theme
  • Theme colors adjust dynamically based on user preferences
  • Improved spacing and radius variables throughout
Performance & Security
  • Optimized data processing with useMemo for liftTypes calculations
  • Automatic calculation of rawRows and topLiftsByTypeAndReps for better performance
  • Fixed security vulnerabilities
UI Polish
  • Better layout and spacing throughout the app
  • Refined styling for a more cohesive experience
We'd love to hear what you think! Please share your feedback, report any bugs, or suggest new features here: https://strengthjourneys.canny.io/
Keep lifting!
Inside the Analyzer we have better heatmaps:
image
The share button works but is kind of slow.
Keep lifting!
The analyzer session card now gives per lift and per session feedback on tonnage compared to your average over the last 12 months.
image
I'm using this to rely more on tonnage instead of PR chasing as a guide to strength progress.
We have richer tooltips for the charts on the big four lift pages:
The visualizer that shows e1rm progress on the big four lifts:
image
The tonnage chart for the big four lifts:
image
The big four pages are:
We emphasise these big four barbell compounds as the basis of overall strength development. This follows the work of Mark Rippetoe. See https://startingstrength.com/
We are trying to provide the best visualizations for your strength journey - to celebrate wins and review what makes a difference.
Keep lifting.
We now show a dedicated tonnage chart on the big four lift pages.
You can also see tonnage per week and even per month.
This allows you to compare training blocks and prevent over training.
image
Here is my 10 years of squatting tonnage.
Bug fixing frenzy happening.
The demo mode no longer crashes on strict press data.
Plus some small improvements.
The Analyzer now shows your total reps and sets:
image
Heatmaps now work for all the new themes:
image
Please keep reporting bugs and giving feature requests!
Keep lifting!
We have a range of experimental visual themes:
image
We want you to be able to customise your Strength Journeys enviroment to best motivate you to review and lift more often.
Thanks for the nice themes from https://tweakcn.com/
Please suggest more themes you would like included: https://strengthjourneys.canny.io/feature-requests
Load More