Skip to content

Latest commit

 

History

History
205 lines (165 loc) · 8.08 KB

File metadata and controls

205 lines (165 loc) · 8.08 KB

Product Requirement Document: Workout Set Timer

Overview

Workout Set Timer is a minimalist workout timer tailored specifically for ab/core workouts, HIIT, and interval training. This open source project by Yusufhan Saçak demonstrates modern Flutter development practices while providing real value to the fitness community.

Current Version (1.0) - LIVE ✅

Successfully launched with core MVP features serving fitness enthusiasts who need focused, distraction-free workout timing.

Key Features (Implemented)

  1. Custom Set Count - Users can select number of sets (1-20)
  2. Custom Set Duration - Users can set duration per set (10-300 seconds)
  3. Auto Rest Feature - Users can define rest interval (every 1-5 sets)
  4. Rest Duration - Customizable rest periods (5-120 seconds)
  5. Auto Start Next Set - App automatically progresses through workout
  6. Progress Tracker - Shows current set / total sets with visual progress
  7. Sound Alerts - Complete audio feedback system
  8. Clean UI - Dark theme with modern gradients and animations
  9. Background Mode Support - Continues when screen locked or app backgrounded

Version 2.0 Roadmap: Enhanced Workout Experience

Target Audience Expansion

  • Primary: Current users seeking more workout variety
  • Secondary: HIIT enthusiasts, tabata practitioners
  • Tertiary: Gym-goers wanting structured rest periods
  • Developers: Flutter developers learning from open source best practices

Phase 1: User-Requested Features (Next 2-3 months)

A. Workout Presets & Templates

  • Quick Start Presets:
    • "Classic Tabata" (20s work, 10s rest, 8 rounds)
    • "Ab Destroyer" (45s work, 15s rest, 6 rounds)
    • "HIIT Intervals" (30s work, 30s rest, 10 rounds)
    • "Endurance Builder" (60s work, 20s rest, 5 rounds)
  • Custom Template Save: Users can save their configurations
  • Template Sharing: Share templates via QR codes or links

B. Workout History & Analytics 📊

  • Session Tracking: Date, duration, sets completed
  • Weekly/Monthly Stats: Total workout time, consistency streaks
  • Progress Insights: Average session length, most used presets
  • Achievement System: Workout streaks, total sets milestones
  • Data Export: CSV and JSON export for power users

C. Enhanced Audio Experience 🔊

  • Custom Sound Packs: Different themes (gym, nature, electronic, minimal)
  • Voice Coaching: Optional countdown voice ("3, 2, 1, GO!")
  • Music Integration: Play over Spotify/Apple Music with smart ducking
  • Haptic Feedback: Vibration patterns for different phases

Phase 2: Smart Features (3-6 months)

D. Adaptive Workouts 🧠

  • Smart Rest Adjustment: Learns user patterns and suggests optimal rest
  • Fatigue Detection: Extends rest if user frequently pauses
  • Progressive Overload: Gradually increases intensity based on consistency

E. Social & Motivation 👥

  • Workout Challenges: Weekly community challenges
  • Friend Connections: Share progress with workout buddies
  • Leaderboards: Anonymous ranking by consistency/total time
  • Coach Mode: Send workout templates to friends/clients

F. Apple Watch & Wearables ⌚

  • Native Watch App: Full timer control from wrist
  • Heart Rate Integration: Track intensity during work/rest periods
  • Health App Sync: Export workouts to Apple Health/Google Fit

Phase 3: Advanced Features (6-12 months)

G. Advanced Workout Types 🏋️

  • Circuit Training: Multiple exercise types with different timers
  • Pyramid Workouts: Ascending/descending interval lengths
  • EMOM Training: Every minute on the minute protocols
  • Custom Sequences: Complex workout structures

H. Integration Ecosystem 🔗

  • Fitness App Sync: MyFitnessPal, Strava, Nike Training Club
  • Smart Home: Philips Hue lighting changes during phases
  • Workout Equipment: Integration with smart dumbbells/mats

Technical Roadmap

Version 2.0 Architecture Updates

  • Backend Services: Firebase for user data, analytics, and sync
  • State Management: Upgrade to Riverpod for better scalability
  • Local Storage: SQLite for workout history and offline functionality
  • API Integration: REST APIs for social features and challenges
  • Push Notifications: Workout reminders and achievement notifications

New Dependencies

# Analytics & Backend
firebase_core: ^2.24.0
firebase_analytics: ^10.7.0
firebase_auth: ^4.15.0
cloud_firestore: ^4.13.0

# Local Storage
sqflite: ^2.3.0
hive: ^2.2.3

# Charts & Visualization
fl_chart: ^0.65.0

# Social & Sharing
share_plus: ^7.2.0
qr_flutter: ^4.1.0

# Audio & Media
audioplayers: ^5.2.0
flutter_tts: ^3.8.0

# Wearables
health: ^10.1.0
wear: ^1.1.0

# State Management
flutter_riverpod: ^2.4.9

Success Metrics & KPIs

Version 1.0 (Current)

  • ✅ App Store rating: Target 4.5+ stars
  • ✅ Daily active users: Growing steadily
  • ✅ Session completion rate: Monitor drop-off points
  • ✅ User retention: Day 1, 7, 30 retention rates

Version 2.0 Goals

  • User Engagement: 40% increase in average session duration
  • Retention: 25% improvement in 30-day retention
  • Growth: 100K+ total downloads within 6 months
  • Community: 10K+ custom templates shared by users
  • Developer Showcase: Strong portfolio piece demonstrating Flutter expertise
  • Open Source Impact: Active contributor community and GitHub stars

Competitive Analysis

Direct Competitors

  • Tabata Timer: Strong brand but complex UI
  • Seconds: Feature-rich but overwhelming for beginners
  • HIIT Workouts: Good exercises but poor timer UX

Workout Set Timer Advantages

  • Simplicity First: Easiest timer setup in market
  • Background Reliability: Superior background performance
  • Modern UI: Most beautiful interface in category
  • Focus on Sets: Only app optimized specifically for set-based training
  • Open Source: Transparent development and community-driven improvements

Implementation Priority

Immediate (Next Sprint)

  1. Workout Presets - High impact, low complexity
  2. Basic History Tracking - User's #1 request
  3. Custom Sound Packs - Easy wins for user satisfaction

Short-term (1-3 months)

  1. Template Sharing - Viral growth potential
  2. Apple Watch App - Platform differentiation
  3. Achievement System - Increase engagement

Long-term (3-12 months)

  1. Advanced Workout Types - Comprehensive functionality
  2. Social Features - Community building
  3. Smart Adaptations - AI-powered personalization

Out of Scope (Maintaining Focus)

  • Full workout video content (too complex, different market)
  • Nutrition tracking (outside core competency)
  • Equipment-specific workouts (dilutes simplicity)
  • Real-time multiplayer (technical complexity vs. benefit)

Risk Assessment

Technical Risks

  • Firebase costs: Implement usage monitoring and optimization
  • Cross-platform Consistency: Maintaining UI/UX parity
  • Apple Watch Development: New platform complexity

Open Source Risks

  • Feature Creep: Losing simplicity advantage
  • Community Management: Balancing feature requests with vision
  • Competition: Established players copying features

Mitigation Strategies

  • Gradual feature rollout with A/B testing
  • Strong focus on core use case in all decisions
  • Clear contribution guidelines and roadmap communication
  • Emphasis on unique features that showcase developer skills

Success Definition

Version 2.0 is successful if:

  1. User Satisfaction: Maintains 4.5+ star rating with new features
  2. Developer Portfolio: Demonstrates advanced Flutter development skills
  3. Market Position: Becomes the definitive open source set-based timer app
  4. Technical Excellence: Scales smoothly to 100K+ users
  5. Community Health: Active user-generated content and sharing
  6. Personal Branding: Establishes Yusufhan Saçak as a skilled Flutter developer

Project Owner: Yusufhan Saçak Next Review: Every 2 weeks during development Community Input: Continuous through GitHub discussions and app store reviews User Feedback Integration: Continuous through in-app feedback and analytics