A modern, cross-platform Pomodoro timer application built with Tauri (Rust + HTML/CSS/JavaScript). Presto helps you boost productivity using the proven Pomodoro Technique with a beautiful, intuitive interface.
- Standard Pomodoro cycles: 25-minute work sessions
- Smart breaks: 5-minute short breaks, 20-minute long breaks every 4 cycles
- Daily goal: Track progress through 10 daily Pomodoro sessions
- Visual progress: Dot indicators showing session completion
- Flexible controls: Start, pause, reset, and skip functionality
- Visual feedback: Dynamic UI that changes based on session type (work/break)
- Audio noti E824 fications: Sound alerts for session transitions
- Desktop notifications: System notifications to keep you informed
- Task tracking: Add and manage tasks for each Pomodoro session
- Task completion: Mark tasks as completed with visual feedback
- Persistence: Tasks are automatically saved and restored
- Weekly statistics: Track your productivity patterns
- Session history: View detailed history of completed sessions
- Progress tracking: Monitor your daily and weekly Pomodoro completion
- Space: Start/Pause timer
- Cmd/Ctrl + R: Reset current session
- Cmd/Ctrl + S: Skip current session
- Cmd/Ctrl + H: Show/hide history modal
- Dark mode design: Easy on the eyes for long work sessions
- Responsive layout: Works on different screen sizes
- Smooth animations: Polished user experience
- Protection: Prevents accidental closure during active sessions
The easiest way to install Presto on macOS is through Homebrew:
brew install --cask murdercode/presto/presto
If you see this error when launching Presto for the first time, it's a temporary issue that occurs because the app lacks an Apple Developer signature (which requires paying $99 to Apple). This is a common situation for open-source applications. To resolve it, run this command in Terminal:
xattr -d com.apple.quarantine /Applications/Presto.app
Then you can launch Presto normally from your Applications folder or Spotlight.
If you prefer to build from source, you'll need:
-
Clone the repository
git clone https://github.com/murdercode/presto.git cd presto
-
Install dependencies
npm install
-
Run in development mode
npm run tauri dev
-
Build for production
npm run tauri build
tempo/
βββ src/ # Frontend source files
β βββ index.html # Main HTML interface
β βββ styles.css # CSS styles and animations
β βββ main.js # JavaScript application logic
βββ src-tauri/ # Rust backend
β βββ src/
β β βββ lib.rs # Tauri commands and data persistence
β βββ Cargo.toml # Rust dependencies
β βββ tauri.conf.json # Tauri configuration
βββ package.json # Node.js dependencies and scripts
βββ README.md # This file
- Pure vanilla JavaScript: No frameworks, lightweight and fast
- CSS Grid & Flexbox: Modern responsive layouts
- CSS Custom Properties: Consistent theming and easy customization
- Local Storage: Client-side data persistence
- Tauri framework: Secure, fast native app wrapper
- File-based storage: JSON files for data persistence
- Small bundle size: Efficient Rust backend
- Cross-platform: Works on Windows, macOS, and Linux
The application stores data in the following locations:
- Session data: Current timer state and progress
- Tasks: User-created task list
- Statistics: Daily and weekly productivity stats
- History: Historical session data
The Pomodoro Technique is a time management method developed by Francesco Cirillo:
- Choose a task to work on
- Set timer for 25 minutes (one "Pomodoro")
- Work on the task until timer rings
- Take a 5-minute break
- Repeat steps 1-4
- After 4 Pomodoros, take a longer 20-minute break
- Improved focus and concentration
- Better time estimation skills
- Reduced mental fatigue
- Enhanced productivity
- Better work-life balance
npm run tauri dev
- Start development servernpm run tauri build
- Build production appcargo check
- Check Rust code (in src-tauri/)cargo test
- Run Rust tests (in src-tauri/)
- macOS (10.13+)
- Windows (coming soon TBA)
- Linux (coming soon TBA)
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Francesco Cirillo for creating the Pomodoro Technique
- Tauri for the amazing framework
- The Rust and web development communities
Start your productive journey with Presto! π β¨
Presto includes an automatic update system that allows you to receive new versions directly from the app interface.
- Automatic checking: The app checks every hour for available updates
- Non-invasive notifications: Elegant notification that appears when an update is available
- Progressive download: Progress bar during download
- Automatic installation: Update is applied on restart
- Security: All updates are digitally signed
If you want to configure the update system for your fork:
-
Automatic setup:
./setup-updates.sh
-
Manual setup:
- Generate keys:
./generate-keys.sh
- Configure
src-tauri/tauri.conf.json
with your public key - Add GitHub secrets for the private key
- Update repository references in the code
- Generate keys:
-
Publishing:
git tag v1.0.0 git push origin v1.0.0
For more details see UPDATES.md.
- Updates are checked automatically
- You can disable automatic checking in settings
- You can manually check in the "Updates" section of settings
- Downloads happen in background without interrupting work