A clean, distraction-free Pomodoro Timer application to boost productivity and maintain focus using the time-tested Pomodoro Technique. This minimalist timer helps you work in focused intervals with proper breaks to maximize efficiency and prevent burnout.
- 🕒 Clear Timer Display: Large, readable countdown format
- 🔄 Session Tracking: Clear indication of current session (Work, Short Break, Long Break)
- 📊 Visual Progress: Subtle progress bar to visualize time passing
- ⚙️ Customizable Settings:
- Work session duration (default: 25 minutes)
- Short break duration (default: 5 minutes)
- Long break duration (default: 15 minutes)
- Number of work sessions before a long break (default: 4)
- Toggle sound notifications on/off
- 🔄 Automatic Cycling: Seamlessly transitions between work and break sessions
- 🌓 Dark/Light Theme: Toggle between light and dark modes for comfortable viewing
- 💾 Persistent Settings: Your preferences are saved locally
- 🎨 Minimalist Design: Clean UI focused on essential functionality
- Node.js (version 14.0.0 or later)
- npm or yarn
- Clone this repository:
git clone https://github.com/Jinomee/pomodoro-timer.git
cd pomodoro-timer- Install dependencies:
npm install
# or
yarn install- Start the development server:
npm start
# or
yarn start- Open http://localhost:3000 to view it in the browser.
To create an optimized production build:
npm run build
# or
yarn buildThe build artifacts will be stored in the build/ directory.
You can deploy this application to platforms like:
- GitHub Pages
- Netlify
- Vercel
- Firebase Hosting
Example for GitHub Pages:
npm install -D gh-pagesThen add these to your package.json:
"homepage": "https://yourusername.github.io/pomodoro-timer",
"scripts": {
"predeploy": "npm run build",
"deploy": "gh-pages -d build",
...
}And deploy with:
npm run deploy- Start/Pause: Begin or pause the timer for the current session
- Reset: Reset the current session and work session counter
- Skip: Move immediately to the next session
- Settings: Click the gear icon (⚙️) to customize timer durations
- Theme: Toggle between light and dark mode with the sun/moon icon (☀️/🌙)
The Pomodoro Technique is a time management method developed by Francesco Cirillo in the late 1980s. The technique uses a timer to break down work into intervals, traditionally 25 minutes in length, separated by short breaks. Each interval is known as a "pomodoro" (Italian for tomato), named after the tomato-shaped kitchen timer Cirillo used as a university student.
- Decide on the task to be done
- Set the timer (traditionally to 25 minutes)
- Work on the task until the timer rings
- Take a short break (5 minutes)
- After four pomodoros, take a longer break (15-30 minutes)
- React.js: Frontend UI library
- TypeScript: For type safety and better developer experience
- CSS3: Custom styling with modern CSS features
- localStorage API: For persisting user settings
The application is fully responsive and works well on:
- Desktop computers
- Tablets
- Mobile phones
- Task labeling for each Pomodoro session
- Optional ambient background sounds
- Weekly statistics (optional)
- Custom themes
- PWA support for offline usage
Contributions are welcome! Feel free to open issues or submit pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some 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 the Pomodoro Technique
- React team for the amazing library
- Create React App for project setup