pomo

command module
v0.0.0-...-302ec04 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 27, 2025 License: MIT Imports: 12 Imported by: 0

README

Pomo

A beautiful terminal-based Pomodoro Timer written in Go with a sleek TUI interface and progress visualization.

Screenshots

Work Mode

Work mode

Pause Mode

Pause mode

Settings

Settings

What is the Pomodoro Technique?

The Pomodoro Technique is a time management method that uses a timer to break work into intervals, traditionally 25 minutes in length, separated by short pauses. These intervals are known as "pomodoros", named after the tomato-shaped kitchen timer that Francesco Cirillo used as a university student.

The technique helps improve focus and productivity by creating structured work sessions with regular pauses. After completing four pomodoros, you take a longer pause of 15-30 minutes.

Learn more about the Pomodoro Technique on Wikipedia.

Installation

Requirements
  • Go 1.21 or higher
  • Terminal with Unicode support
Install
# Clone the repository
git clone https://github.com/jpierer/pomo.git

# Navigate to the project directory
cd pomo

# Build the application
go build

# Run the app
./pomo

Or install directly with Go:

go install github.com/jpierer/pomo@latest

Features

  • Beautiful TUI Interface - Clean, modern terminal interface using Bubble Tea
  • Visual Progress Bar - Real-time progress visualization with color-coded modes
  • Customizable Timers - Set custom work and pause durations (1-60 minutes)
  • Auto-Iterate Mode - Automatically switch between work and pause sessions
  • Desktop Notifications - System notifications when sessions complete
  • Persistent Settings - Your preferences are saved automatically
  • Dynamic Mode Titles - Motivational titles that change with each session
  • Lightweight - Fast and minimal resource usage
  • Cross-Platform - Works on macOS, Linux, and Windows
  • Keyboard Shortcuts - Full keyboard navigation and controls
Controls
  • SPACE - Start/Stop timer
  • S - Open settings
  • R - Reset current timer
  • W - Switch to work mode
  • P - Switch to pause mode
  • Q - Quit application
  • ↑/↓ - Adjust values in settings
  • ←/→ - Navigate between settings fields
  • ENTER - Save settings and return to timer

Technical Details

Built with modern Go libraries:

  • Bubble Tea - Terminal UI framework
  • Lipgloss - Styling and layout
  • Bubbles - UI components (textinput, progress)
  • Beeep - Cross-platform desktop notifications

Support Me

Give a ⭐ if this project was helpful in any way!

License

The code is released under the MIT LICENSE.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL