A gentle timer with soft audio alerts built with Vue.js. Perfect for productivity, meditation, and time management with both single and multiple timer modes.
- Single Timer Mode: Simple, focused timer for individual tasks
- Multiple Timer Mode: Manage multiple timers with sequential or simultaneous execution
- Recurrent Alerts: Continuous, repeating timers that keep you on track with regular gentle reminders
- Soft Audio Alerts: Gentle, non-intrusive sounds that won't startle you
- Customizable Intervals: Set any interval from seconds to hours
- Maximum Time Limit: Optional total duration with different alert sounds for the last cycles
- Volume Control: Adjustable audio volume for each timer
- Real-time Status: Live countdown showing time until next alert
- Clean Interface: Simple, distraction-free design
- Multi-language Support: English, Spanish, and Portuguese (Brazilian)
- Language Selector: Easy switching between supported languages
- Localized Interface: All text and controls adapt to selected language
- Execution Modes: Sequential (one after another) or simultaneous (all at once) timer execution
- Warning System: Different alert sounds for the last few cycles before completion
- Persistent Storage: Settings and timers are saved and restored between sessions
- Sound Testing: Preview different alert sounds before starting
- Reset Functionality: Reset all timers with confirmation
- PWA Support: Install as a Progressive Web App on mobile and desktop devices
Set 25-minute work intervals with 5-minute breaks. Use multiple timers for different work sessions or the single timer for focused work periods.
Perfect for timed meditation sessions. The soft sounds provide gentle reminders without breaking your concentration. Use sequential timers for different meditation phases.
Set study intervals to maintain focus and take regular breaks. The different alert sounds help you know when you're approaching the end of your session. Multiple timers allow for complex study schedules.
Time your workout intervals, rest periods, or HIIT sessions with gentle audio cues. Use simultaneous timers for different exercise phases.
Use for sleep timers or relaxation exercises with soft, calming audio alerts. Sequential timers work great for bedtime routines.
Time cooking steps, baking, or brewing without harsh alarms that might disturb others. Multiple timers help manage complex recipes.
Perfect for timed exams, quizzes, and assessments. The gentle alerts help students stay aware of time without being disruptive during important tests. Great for controlling time allocation per question and maintaining focus throughout the assessment.
Use multiple timers to manage different tasks throughout your day, with sequential execution for structured workflows or simultaneous execution for parallel tasks.
-
Install dependencies:
npm install
-
Start development server:
npm run dev
-
Open your browser and navigate to
http://localhost:3000
- Set your interval: Choose minutes and seconds for your timer
- Adjust volume: Use the volume slider to set your preferred level
- Optional maximum time: Set a total duration if you want the timer to stop automatically
- Configure warnings: Enable warning sounds for the last few cycles
- Test sound: Use the "Test sound" button to preview the audio alert
- Start: Click the Start button to begin
- Add timers: Click the "+" button to create new timers
- Configure each timer: Set intervals, max time, volume, and warning settings for each timer
- Choose execution mode: Select between sequential (one after another) or simultaneous (all at once)
- Start execution: Use "Start All" or "Start Sequence" to begin
- Manage timers: Add, remove, or modify timers as needed
- Language selection: Use the language selector in the top-right corner
- Sound testing: Test different alert sounds before starting
- Reset functionality: Reset all timers and settings when needed
- Persistent storage: All settings are automatically saved and restored
- Regular alerts: Gentle, pleasant tones for normal intervals
- Warning alerts: Different sound for the last few cycles when maximum time is set
- Completion sound: Special tone when the maximum time is reached
- Sound testing: Preview all alert types before starting
- Volume control: Individual volume control for each timer
- Vue.js 3 with Composition API
- Vue i18n for internationalization
- Vite for fast development and building
- Web Audio API for high-quality sound generation
- Modern CSS with CSS custom properties
- Progressive Web App (PWA) support
- Local Storage for persistent settings
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run previewWorks in all modern browsers that support:
- ES6 modules
- Web Audio API
- CSS Grid
- Local Storage
Perfect for desktop and mobile use. Can be installed as a PWA on supported devices.
- Open the app in a supported browser
- Look for the "Install" button in your browser's address bar or menu
- Click "Install" to add the app to your home screen or desktop
- The app will work offline and behave like a native application
This project uses automated release workflows with version bumping and GitHub releases.
- Go to the "Actions" tab in the GitHub repository
- Select "Release" workflow
- Click "Run workflow"
- Choose the release type (patch/minor/major)
- Click "Run workflow"
# For a patch release (1.0.0 -> 1.0.1)
npm run version:patch
# For a minor release (1.0.0 -> 1.1.0)
npm run version:minor
# For a major release (1.0.0 -> 2.0.0)
npm run version:major
# Then push the changes and tags
git push origin main --tagsThe release process works in two stages:
- β Runs tests and builds the application
- β
Bumps the version in
package.jsonandpackage-lock.json - β Generates changelog from commits since last release
- β Creates a git commit with the version bump
- β Creates a git tag with the new version
- β Pushes changes and tags to the repository
- β Creates a GitHub release with dynamic changelog
- β Deploys to GitHub Pages when a release tag is pushed
The project uses three separate workflows:
test: Validates builds on pull requests
build-and-deploy: Deploys to GitHub Pages on tag pushes
release: Complete release process - test, build, version bump, changelog, create release (triggers deploy)
- Patch (1.0.0 β 1.0.1): Bug fixes, small improvements
- Minor (1.0.0 β 1.1.0): New features, enhancements
- Major (1.0.0 β 2.0.0): Breaking changes, major rewrites
This project uses modern web technologies and follows clean code principles. The codebase is organized with:
- Components: Reusable Vue components in
/src/components/ - Services: Business logic in
/src/services/ - Locales: Internationalization files in
/src/locales/ - Clean Architecture: Separation of concerns and SOLID principles
- Make your changes on a feature branch
- Test your changes thoroughly
- Create a pull request to
main - Once merged, create a release using the npm scripts above
For better changelog generation, use clear and descriptive commit messages:
- feat: New features (e.g.,
feat: add multi-timer support) - fix: Bug fixes (e.g.,
fix: resolve timer synchronization issue) - docs: Documentation changes (e.g.,
docs: update README with new features) - style: Code style changes (e.g.,
style: format code with prettier) - refactor: Code refactoring (e.g.,
refactor: extract timer logic to service) - test: Adding or updating tests (e.g.,
test: add unit tests for timer service) - chore: Maintenance tasks (e.g.,
chore: update dependencies)
The release changelog will automatically include all commits since the last release.