Skip to content

A clean, distraction-free Pomodoro Timer application to boost productivity and maintain focus using the time-tested Pomodoro Technique.

License

Notifications You must be signed in to change notification settings

Jinomee/pomodoro-timer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minimalist Pomodoro Timer

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.

Live Demo

✨ Features

  • 🕒 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

🚀 Getting Started

Prerequisites

  • Node.js (version 14.0.0 or later)
  • npm or yarn

Installation

  1. Clone this repository:
git clone https://github.com/Jinomee/pomodoro-timer.git
cd pomodoro-timer
  1. Install dependencies:
npm install
# or
yarn install
  1. Start the development server:
npm start
# or
yarn start
  1. Open http://localhost:3000 to view it in the browser.

Building for Production

To create an optimized production build:

npm run build
# or
yarn build

The build artifacts will be stored in the build/ directory.

Deployment

You can deploy this application to platforms like:

  • GitHub Pages
  • Netlify
  • Vercel
  • Firebase Hosting

Example for GitHub Pages:

npm install -D gh-pages

Then 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

📋 How to Use

  1. Start/Pause: Begin or pause the timer for the current session
  2. Reset: Reset the current session and work session counter
  3. Skip: Move immediately to the next session
  4. Settings: Click the gear icon (⚙️) to customize timer durations
  5. Theme: Toggle between light and dark mode with the sun/moon icon (☀️/🌙)

🍅 The Pomodoro Technique

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.

Basic Process:

  1. Decide on the task to be done
  2. Set the timer (traditionally to 25 minutes)
  3. Work on the task until the timer rings
  4. Take a short break (5 minutes)
  5. After four pomodoros, take a longer break (15-30 minutes)

🔧 Technologies Used

  • 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

📱 Responsive Design

The application is fully responsive and works well on:

  • Desktop computers
  • Tablets
  • Mobile phones

🔮 Future Enhancements

  • Task labeling for each Pomodoro session
  • Optional ambient background sounds
  • Weekly statistics (optional)
  • Custom themes
  • PWA support for offline usage

🤝 Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments


Made with ❤️ by [Your Name]

About

A clean, distraction-free Pomodoro Timer application to boost productivity and maintain focus using the time-tested Pomodoro Technique.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published