TypeSteps helps you stay motivated by setting daily typing goals and celebrating when you achieve them. This guide covers goal setting, progress tracking, and milestone notifications.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/FALAK097/typesteps/llms.txt
Use this file to discover all available pages before exploring further.
Setting Your Daily Goal
From the Dashboard
- Open the TypeSteps dashboard
- Navigate to Settings or the Goals section
- Enter your target number of daily keystrokes
- Your goal is automatically saved
Goals are stored in UserDefaults with the key
daily_goal. The app checks this value to track your progress throughout the day.Recommended Goals
Choose a goal based on your typing activity:- Light users (casual typing): 5,000 - 10,000 keystrokes/day
- Regular users (daily work): 15,000 - 25,000 keystrokes/day
- Heavy users (developers, writers): 30,000 - 50,000 keystrokes/day
- Power users (intensive coding/writing): 50,000+ keystrokes/day
How much is 10,000 keystrokes?
How much is 10,000 keystrokes?
- Approximately 2,000-2,500 words
- About 2-3 hours of active typing
- Equivalent to writing 3-4 pages of code or documentation
- Around 30-40 emails or messages
How Goals Work
TypeSteps tracks your progress in real-time. Here’s how the system works:Progress Tracking
Every keystroke is counted and checked against your daily goal (StorageManager.swift:75-77):- Increments your count with each keystroke
- Updates daily, hourly, and per-minute statistics
- Checks if you’ve reached any milestones
- Saves progress automatically
Milestone Detection
TypeSteps checks for goal completion (StorageManager.swift:79-93):- Currently tracks 100% goal completion (
milestones = [1.0]) - Can be extended to support 50%, 75%, 150% milestones
- Prevents duplicate notifications for the same day
- Tracks which milestones you’ve achieved per day
Notifications
Goal Completion Notification
When you reach your daily goal, TypeSteps sends a notification (StorageManager.swift:95-102):Notification Setup
TypeSteps requests notification permissions on launch (TypeStepsApp.swift:6-9):Viewing Your Progress
Menu Bar Stats
Quick progress view from the menu bar:- Today: Current keystroke count
- This Week: Weekly total
- This Month: Monthly total
Dashboard Insights
The dashboard provides detailed progress information:- Current count vs. goal percentage
- Streak tracking: Days in a row you’ve met your goal
- Best day: Your highest keystroke count ever
- Productivity badges: Earned based on consistency
Productivity Badges
TypeSteps awards badges based on your performance (StorageManager.swift:194-201):- ON THE RISE (Blue): Default badge, you’re building momentum
- GOAL GETTER (Green): Met today’s typing goal
- CONSISTENT (Orange): 7+ day streak of meeting goals
- UNSTOPPABLE (Red): 30+ day streak - elite status!
Streak Tracking
Your streak counts consecutive days where you’ve typed at least 1 keystroke (StorageManager.swift:305-322):- Counts backward from today to find consecutive active days
- Allows today to be “in progress” (doesn’t break streak if today has 0 yet)
- Powers productivity badge calculations
- Displayed prominently in dashboard
Goal Strategies
Progressive Goals
Work-Life Balance
Consider setting different goals for weekdays vs. weekends. You can manually adjust your goal in settings to match your expected activity level.
Advanced Goal Ideas
While TypeSteps currently supports daily goals, you could extend the system:Weekly Goals
Weekly Goals
Track total keystrokes across a week rather than daily. Good for people with variable schedules.
Project-Specific Goals
Project-Specific Goals
Set goals per project (TypeSteps already tracks projects via window titles).
Category Goals
Category Goals
Set goals for specific app categories (Code, Writing, Communication) - data is already tracked.
Multiple Daily Milestones
Multiple Daily Milestones
Add 50%, 75%, 125%, 150% milestones by modifying the
milestones array in checkMilestones():Next Steps
Data Management
Backup your goal data and statistics
WakaTime Integration
Compare typing goals with coding time