Skip to content

The Terminal Pomodoro Timer is a minimalist PowerShell tool, boosting developer focus by eliminating GUI distractions. It's 100% free, no-installation-required, and runs instantly in your terminal for a seamless workflow. Easily customize work/break durations and sounds to tailor your Pomodoro rhythm.

Notifications You must be signed in to change notification settings

justduyen/Pomodoro-Timer-PowerShell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 

Repository files navigation

🍅 Terminal Pomodoro Timer - Focus Booster for Developers

PowerShell Script No Installation Free Terminal Based Productivity Cross Platform

🍅 Terminal Pomodoro Timer - Focus Booster for Developers

A beautiful terminal-based Pomodoro timer with visual progress bars and sound notifications.

Features

  • 🎨 Animated progress bars with bordered design
  • 🔔 Sound notifications for session transitions
  • ⏯️ Pause/resume functionality
  • 🕒 Configurable durations for work/break sessions
  • ⌨️ Keyboard controls during operation

💡 Why I Created This Tool

After trying countless Pomodoro apps with distracting interfaces, premium paywalls, or complex setups, I built this lightweight PowerShell solution to solve three key problems:

  1. Minimalist Workflow
    ⌨️ No GUI distractions - just pure terminal focus
    💻 Works instantly in any Windows environment
    🚫 No installations or dependencies required

  2. Zero-Cost Productivity
    🆓 100% free (no "Pro version" nonsense)
    🔓 Full control over your timer settings
    📝 No registration or tracking

  3. Deep Work Optimized
    🔕 Runs silently in your existing terminal
    ⏱️ Visual countdown keeps you accountable
    🔄 Seamless pause/resume for interruptions

"What makes this special is how it disappears into your workflow while actively improving your focus." - Developer testimonial

🧠 The Science Behind It

This implementation follows core Pomodoro technique principles:

  • ✅ 25-minute focused work sprints (adjustable)
  • ✅ 5-minute mental breaks (adjustable)
  • ✅ Audible cues for state transitions
  • ✅ Strict no-multitasking enforcement

Studies show the Pomodoro method can:

  • ↑ Increase focus duration by 120-200%
  • ↓ Reduce context-switching fatigue
  • ↑ Improve task completion rates

🏆 Key Benefits

Feature Advantage
Terminal-native No alt-tabbing to check timers
Customizable Adapt to your personal rhythm
Tactile Keyboard-controlled for flow state
Portable Runs from USB or cloud drives

🛠️ How It Helps You Focus

  1. Eliminates Decision Fatigue
    The timer dictates your work/break rhythm automatically

  2. Creates Urgency
    Visual countdown prevents procrastination

  3. Structured Breaks
    Enforces proper rest periods to maintain peak cognition

Try it for just 3 sessions and you'll notice:

  • Fewer unintended social media checks
  • More consistent coding flow
  • Clearer task completion awareness

🚀 Basic Usage

Run the timer:

.\PomodoroTimer.ps1

Available Commands:

Command Action Shortcut Key
work Start 25-minute work session -
break Start 5-minute break -
- Pause timer P
- Resume timer R
exit Quit the application E

⚙️ Customization

1. Changing Time Durations

Edit these values in the script:

# Work duration in seconds (default: 25 minutes)
$workDuration = 25 * 60

# Break duration in seconds (default: 5 minutes)
$breakDuration = 5 * 60

2. Customizing Sounds

Option A: Use System Sounds Replace these lines to use different system sounds:

$soundWorkEnd = [System.Media.SystemSounds]::Exclamation  # Try ::Beep, ::Hand, etc.
$soundBreakEnd = [System.Media.SystemSounds]::Asterisk

Option B: Use Custom WAV Files

  1. Add these lines to the script:
$soundWorkEnd = New-Object System.Media.SoundPlayer "C:\path\to\work_sound.wav"
$soundBreakEnd = New-Object System.Media.SoundPlayer "C:\path\to\break_sound.wav"
  1. Download WAV files (recommended from Freesound.org)

Recommended Sound Pairs:

Purpose Example 1 Example 2
Work Start Gentle Chime Soft Beep
Work End Alarm Buzzer Bell Ring

🛠️ Troubleshooting

If you get execution errors, run:

Set-ExecutionPolicy Bypass -Scope Process

📊 Example Session

pomodoro> work
Starting work session for 25 minutes...
WORK TIME remaining: 24:59  # Counts down every second
[Press P] 
Timer paused. Press 'R' to resume or 'E' to exit.
[Press R]
Timer resumed.
...
Work session completed! Time for a break.

📜 License

MIT License - Free for personal and commercial use


Made with ❤️ for Windows users | JustDuyen

About

The Terminal Pomodoro Timer is a minimalist PowerShell tool, boosting developer focus by eliminating GUI distractions. It's 100% free, no-installation-required, and runs instantly in your terminal for a seamless workflow. Easily customize work/break durations and sounds to tailor your Pomodoro rhythm.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published