Review all modals, notifications, and email templates. Related to issues #295 and #296.
Trigger: User returns after 5+ days of inactivity
Location: Dashboard page load
Tone: Supportive, no judgment
Actions: Full workout, Quick comeback (20 min), Not today
Extra: Program adjustment link
✓ Fixed: No more 1-4 day check-ins
Trigger: User completes their very first workout
Location: After workout completion redirect
Features: Confetti, badge earned, share options
Stats: Sets completed, total volume
Badge: WORKOUT_1 milestone
Trigger: User completes all workouts in week 1
Location: After final week-1 workout completion
Features: Week 1 stats, momentum message
Tone: Encouraging but grounded - "Week 1 is the hardest"
CTA: On to Week 2
✓ New component - needs approval
Trigger: User completes 1st workout
Location: After workout completion
Badge: WORKOUT_1 - Day One
Features: Journey badges, next milestone progress
Trigger: User completes 10th workout
Location: After workout completion
Badge: WORKOUT_10 - Double Digits
Features: Journey badges, share options
Trigger: User completes 25th workout
Location: After workout completion
Badge: WORKOUT_25 - Quarter Century
Features: Journey badges, share options
Trigger: User completes all workouts in program
Location: After final workout completion
Features: More confetti, trophy icon, auto-advance timer
Stats: Workouts, volume, sets, week 1 vs final week comparison
CTA: Start next program
Trigger: User reaches week 2 of program (7+ workouts)
Location: Dashboard page load
Options: Going great, Too hard, Too easy, Life happened
Shows: Original goal, workouts completed
Follow-up: Adjust difficulty link if too hard
Trigger: User maintains 7-day workout streak
Location: After workout completion
Icon: Flame (orange/amber gradient)
Tone: Acknowledging consistency, not over-the-top
Actions: Share, Keep Going
Trigger: User maintains 30-day workout streak
Location: After workout completion
Icon: Flame (orange/red gradient)
Tone: Recognizing habit formation
Actions: Share, Keep Going
Trigger: User maintains 90-day workout streak
Location: After workout completion
Icon: Crown (gold/amber gradient)
Tone: Premium achievement, real discipline
Actions: Share, Keep Going
Trigger: After every workout completion
Location: After workout logging redirect
Purpose: Informative recap, not a celebration
Stats: Duration, sets, volume, exercises
PRs: Shown if any achieved (amber badge per exercise)
Actions: View Details, Close
Trigger: User is 85-95% through program (e.g., 21/24 workouts)
Location: Dashboard page load
Message: "3 workouts left!"
Tone: Motivating finish line push
Actions: Start Workout, Dismiss
Trigger: Week 4 (8-week program) or Week 6 (12-week program)
Location: Dashboard page load
Options: Going great, Need adjustment, Taking a break
Shows: Week progress, workouts completed, volume growth %
Tone: Supportive mid-point vibe check
Trigger: User visits dashboard on a scheduled rest day
Location: Replaces normal dashboard content
Your muscles are growing right now
Weekly Progress
1 more to complete the week
Total Workouts
18
Volume Lifted
234.0K lbs
Recovery Tip
Sleep is Gains
Muscle protein synthesis peaks during deep sleep. Aim for 7-9 hours to maximize recovery and growth.
— Sports Medicine Journal
Feeling energized? Want to train anyway?
Next up: Leg Day (Quads & Hamstrings)
Trigger: User sets new weight/rep/volume PR during workout
Location: Inline during workout logging, also in post-workout summary
Trigger: Monday morning (cron job)
Location: User's email inbox
Your Week in Review + What's Ahead 💪
Hey Demo User!
Here's your weekly fitness roundup and what's coming up.
4
Workouts
48,500
Total lbs
12
Day streak
You're on fire! 12 days straight. Keep that momentum going this week.
You're receiving this because you signed up for BAISICS.
Unsubscribe · Manage preferences
Email templates are in /src/lib/email/templates/. Full preview available at /admin/email-templates
Trigger: Cron job, weekly on Monday
File: weekly-summary.ts
Shows: Week stats, completion rate, streak, next workout
Issue #296: Review design and messaging
Trigger: Cron job, daily for users with pending workouts
File: workout-reminder.ts
Shows: Workout name, streak badge, motivational message
Trigger: When user finishes all program workouts
File: program-completion.ts
Shows: Program stats, volume growth, celebration
Trigger: After signup (free or premium)
File: welcome.ts
Two variants: Free tier, Premium tier