Communications Demo

Review all modals, notifications, and email templates. Related to issues #295 and #296.

1Modals & Celebrations

Recovery Screen (5+ Days)

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

First Workout Celebration

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

First Week Complete

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

Milestone: First Workout

Trigger: User completes 1st workout

Location: After workout completion

Badge: WORKOUT_1 - Day One

Features: Journey badges, next milestone progress

Milestone: 10 Workouts

Trigger: User completes 10th workout

Location: After workout completion

Badge: WORKOUT_10 - Double Digits

Features: Journey badges, share options

Milestone: 25 Workouts

Trigger: User completes 25th workout

Location: After workout completion

Badge: WORKOUT_25 - Quarter Century

Features: Journey badges, share options

Program Completion

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

Week 2 Check-in

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

Streak: 7 Days

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

Streak: 30 Days

Trigger: User maintains 30-day workout streak

Location: After workout completion

Icon: Flame (orange/red gradient)

Tone: Recognizing habit formation

Actions: Share, Keep Going

Streak: 90 Days

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

Post-Workout Summary

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

Almost Done Nudge

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

Mid-Program Check-in (Week 4/6)

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

2Dashboard Components (Non-Modal)

Rest Day Dashboard

Trigger: User visits dashboard on a scheduled rest day

Location: Replaces normal dashboard content

R

Rest Day

Your muscles are growing right now

3/4this week

Weekly Progress

1 more to complete the week

Total Workouts

18

Volume Lifted

234.0K lbs

🔥3 day streak

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)

Start Workout

PR / Personal Best Callouts

Trigger: User sets new weight/rep/volume PR during workout

Location: Inline during workout logging, also in post-workout summary

Bench Press+10 lbs
PR
Squat+2 reps
PR
Deadlift+700 lbs
PR

Weekly Digest Email Preview

Trigger: Monday morning (cron job)

Location: User's email inbox

BAISICS Weekly

[email protected]

To: demo.user@email.com
Date: Tuesday, February 24

Your Week in Review + What's Ahead 💪

Hey Demo User!

Here's your weekly fitness roundup and what's coming up.

Last Week Highlights

4

Workouts

48,500

Total lbs

12

Day streak

Program Progress42%

This Week's Schedule

MonUpper Body A
Chest & Triceps
WedLower Body A
Quads & Glutes
FriUpper Body B
Back & Biceps
SatLower Body B
Hamstrings

You're on fire! 12 days straight. Keep that momentum going this week.

View Your Dashboard

You're receiving this because you signed up for BAISICS.

Unsubscribe · Manage preferences

3Email Templates

Email templates are in /src/lib/email/templates/. Full preview available at /admin/email-templates

Weekly Summary Email

Trigger: Cron job, weekly on Monday

File: weekly-summary.ts

Shows: Week stats, completion rate, streak, next workout

Issue #296: Review design and messaging

Workout Reminder Email

Trigger: Cron job, daily for users with pending workouts

File: workout-reminder.ts

Shows: Workout name, streak badge, motivational message

Program Completion Email

Trigger: When user finishes all program workouts

File: program-completion.ts

Shows: Program stats, volume growth, celebration

Welcome Emails

Trigger: After signup (free or premium)

File: welcome.ts

Two variants: Free tier, Premium tier

!Known Issues

#295: Recovery Modal Issues

  • 1-day recovery screen removed - too aggressive
  • Threshold bumped from 3 days to 5 days
  • Quote marks removed from encouragement
  • Cheesy quotes replaced with supportive messaging
  • Wrong stats: Shows 6 workouts when user has done 4 (needs API fix)
  • Wrong program %: Shows 50% when user is at ~15% (needs API fix)

#296: Email Issues

  • Weird trigger logic
  • Weird statement (says completed incorrectly)
  • Questionable stats
  • Design needs polish