A modern, feature-rich countdown timer built with Electron, HTML, CSS, and JavaScript.
- ⏰ Countdown Timer: Set and run countdown timers with hours, minutes, and seconds
- 💾 Save & Load: Save frequently used countdowns and load them with one click
- 🌙 Theme Switching: Toggle between light and dark themes
- ⌨️ Keyboard Shortcuts:
- Spacebar: Start/Pause timer
- Escape: Reset timer
- 🔔 Notifications: Audio notification when timer completes
- 📱 Responsive Design: Works on different screen sizes
- 💾 Data Persistence: Your saved countdowns and theme preference are remembered
- Install dependencies:
npm install- Start the application:
npm startFor development mode (with DevTools):
npm run dev- Enter hours, minutes, and seconds in the input fields
- Click "Set Timer" to configure the countdown
- Click "Start" to begin the countdown
- Set up your desired timer
- Enter a name for the countdown
- Click "Save Current" to save it
- Saved countdowns appear in the "Saved Countdowns" section
- Find your saved countdown in the list
- Click "Load" to set it as the current timer
- Click "Start" to begin
- Click the theme toggle button (🌙/☀️) in the top-right corner
- Your theme preference is automatically saved
- Spacebar: Start or pause the timer
- Escape: Reset the timer
electron-timer/
├── main.js # Main Electron process
├── preload.js # Preload script for secure API exposure
├── index.html # Main UI structure
├── styles.css # CSS styling with theme support
├── script.js # Timer logic and functionality
├── package.json # Project configuration
└── data.json # Saved data (created automatically)
- Electron: Cross-platform desktop app framework
- Security: Uses context isolation and preload scripts for secure API exposure
- Data Storage: JSON file-based persistence for saved countdowns and preferences
- Styling: CSS custom properties for easy theme management
- Accessibility: Proper ARIA labels and keyboard navigation
To build the application for distribution:
npm run buildThis will create distributable packages for your platform.
ISC License