A clean and minimalist Pomodoro timer web application designed to help you stay focused and boost productivity. Built with vanilla HTML, CSS, and JavaScript, this project demonstrates modern web development workflow and deployment practices.
Clean, modal-style interface with 25-minute countdown timer and simple controls
🌐 View Live Site (Replace with your actual Vercel URL)
- 25-minute Pomodoro timer - Standard focus session length
- Three simple controls:
- 🟢 Start - Begin the countdown
- 🔴 Stop - Pause the timer
- ⚪ Reset - Return to 25:00
- Visual feedback - Status messages guide you through sessions
- Audio notification - Alert when timer completes
- Responsive design - Works seamlessly on desktop and mobile
- Clean UI - Distraction-free modal interface
- HTML5 - Semantic structure and accessibility
- CSS3 - Modern styling with Flexbox and responsive design
- Vanilla JavaScript - Timer functionality and DOM manipulation
- Git - Version control and project history
- GitHub - Repository hosting and collaboration
- Vercel - Automated deployment and hosting
- A modern web browser
- Git installed on your machine
- Code editor (VS Code recommended)
-
Clone the repository
git clone https://github.com/TaborDev/pomodoro-timer.git cd pomodoro-timer
-
Open the project
# Option 1: Open directly in browser open index.html # Option 2: Use a local server (recommended) # With Python 3 python -m http.server 8000 # With Node.js npx http-server
-
View in browser
- Direct: Open
index.html
in your browser - Local server: Visit
http://localhost:8000
- Direct: Open
pomodoro-timer/
├── index.html # Main HTML structure
├── style.css # CSS styles and responsive design
├── script.js # JavaScript timer functionality
├── .gitignore # Git ignore rules
├── README.md # Project documentation
└── preview.png # Screenshot for documentation
- Default State: Timer starts at 25:00 (25 minutes)
- Start: Click green "Start" button to begin countdown
- Stop: Click red "Stop" button to pause (can resume with Start)
- Reset: Click gray "Reset" button to return to 25:00
- Completion: Browser alert notifies when timer reaches 00:00
startTimer()
- Begins countdown with 1-second intervalsstopTimer()
- Pauses the current timerresetTimer()
- Resets to 25:00 and clears any running intervalsupdateDisplay()
- Updates DOM with current time values
- Modal-style container with subtle shadow for focus
- Color-coded buttons for intuitive interaction
- Large, monospace timer for easy readability
- Minimal interface to reduce distractions during focus sessions
- Vanilla JavaScript - No dependencies, fast loading
- CSS Flexbox - Simple, responsive layout
- Semantic HTML - Accessible and SEO-friendly structure
This project uses Vercel for automated deployment:
- Connect GitHub to Vercel
- Import repository
- Automatic deployment on every push to main branch
- Live updates with zero downtime
- Free hosting for static sites
- Automatic HTTPS
- Global CDN distribution
- Integration with Git workflow
- Fork the repository
- Create a feature branch (
git checkout -b feature/improvement
) - Make your changes
- Commit your changes (
git commit -am 'Add new feature'
) - Push to the branch (
git push origin feature/improvement
) - Create a Pull Request
Created for COMP 488 Assignment 2 focusing on:
- Basic web development fundamentals
- Git version control practices
- GitHub repository management
- Automated deployment with Vercel
- Professional documentation and workflow