βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β βββββββ βββββββββββ βββ ββββββββββββββββ ββββββββββββ
β βββββββββββββββββββ βββ βββββββββββββββββ βββββββββββββ
β βββ βββββββββ βββ βββ βββ ββββββββββββββββββββ
β βββ βββββββββ ββββ ββββ βββ ββββββββββββββββββββ
β ββββββββββββββββ βββββββ βββ ββββββ βββ βββββββββββ
β βββββββ ββββββββ βββββ βββ ββββββ βββββββββββ
β
β [STATUS: ACTIVE] [VERSION: 2.0] [MODE: PRODUCTION]
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
A military-grade 15-minute sprint timer engineered for maximum productivity and uninterrupted focus sessions.
Precision-engineered focus timer built for developers who demand reliability, accuracy, and zero distractions. No bloat. No bullshit. Just pure, focused development sprints.
[β] 15-minute sprint timer with millisecond precision
[β] Pomodoro cycle: Enforced 10-min breaks after 4 sessions
[β] Web Worker background execution (tab-independent)
[β] Persistent state across page reloads/crashes
[β] Enforced audio + visual notifications
[β] Smart extension warnings (2nd & 3rd+ extensions)
[β] Session counter tracking (X/4 to break)
[β] Dark/Light theme with localStorage persistence
[β] Active task tracking with pulsating indicators
[β] One-touch keyboard shortcuts (Enter to start)
[β] Task completion logging & history
[β] Zero external dependenciesFrontend: Pure Vanilla JavaScript (ES6+)
Styling: CSS3 with CSS Variables
Threading: Web Worker API
Storage: localStorage API
Notifications: Web Notifications API + HTML5 Audio
Architecture: Event-driven, stateful persistence# Clone the repository
git clone https://github.com/bobvasic/Rapid-Development-Timer-Assistant.git
# Navigate to directory
cd Rapid-Development-Timer-Assistant
# Serve locally (Python 3)
python3 -m http.server 8080
# OR use any static server
npx serve .
# Access at: http://localhost:8080ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Session 1 (15 min) β Complete/Extend β
β Session 2 (15 min) β Complete/Extend β
β Session 3 (15 min) β Complete/Extend β
β Session 4 (15 min) β BREAK ENFORCED β
β β
β βοΈ Break Modal β Start 10-Minute Break β
β Break Timer (10 min) β Notification + Audio β
β β Cycle resets β Start new session β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Break Enforcement Logic:
- After 4 completed sessions (1 hour), break modal appears
- User must start break before continuing
- Complete/Extend buttons hidden until break taken
- Break completion resets session counter to 0/4
- All state persists across page reloads
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 1st Extension β β Normal (no warning) β
β 2nd Extension β β οΈ ORANGE WARNING (focus!) β
β 3rd+ Extension β π¨ RED ALERT (finish it!) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββ
β Different Tab β β Timer continues β
β Different Window β β Notification appears β
β Different App β β OS-level alert + audio β
β Page Reload β β Timer restores β
β Audio Playback β β Enforced after user act β
βββββββββββββββββββββββββββββββββββββββββββββββββββ
- System Notifications: OS-level alerts appear regardless of active window
- Audio Enforcement: Unlocked on first interaction, bypasses autoplay policies
- Persistent Alerts: Notifications require manual dismissal
- Multi-Attempt Playback: Retry mechanism ensures audio plays
- Timestamp-Based: Accurate time tracking using
Date.now() - Auto-Save: State saved every second to localStorage
- Crash Recovery: Automatically restores timer on page reopen
- Elapsed Calculation: Smart math recovers exact remaining time
Main Thread Web Worker Thread
β β
βββ[START TIMER]βββββββββββ>β
β β
β<ββββ[TICK UPDATE]ββββββββββ€ (every 1s)
β β
β<ββββ[COMPLETE]βββββββββββββ€ (at 0s)
β β
π Dark Mode β Automatic theme switching
π Active Indicator β Pulsating orange status dot
π Task Log β Complete history with timestamps
β¨οΈ Keyboard Shortcuts β Enter to start, instant flow
π Visual Feedback β Real-time countdown display
- Enter Task Name β Type your focus objective
- Press Enter or click "Start 15-Minute Sprint"
- Stay Focused β Timer runs in background
- Get Notified β Audio + visual alert at completion
- Complete or Extend β Mark done or add 15 more minutes
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 1. Complete 4 focus sessions (15 min each) β
β 2. Break modal appears (enforced) β
β 3. Click "βοΈ Start 10-Minute Break" β
β 4. Break countdown begins (10:00 β 0:00) β
β 5. Notification: "Break Complete!" β
β 6. Enter new task and start next cycle β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Session Counter: Top-right displays Sessions: X/4
- Increments after each completed 15-minute session
- Resets to
0/4after break completion - Persists across page reloads
[Enter] β Start timer (when in task input field)
[Click] β Toggle dark/light mode (theme button)
| Feature | Status | Notes |
|---|---|---|
| Background Timing | [ACTIVE] |
Web Worker immune to throttling |
| Audio Playback | [ENFORCED] |
Multi-retry with user interaction unlock |
| State Recovery | [PERSISTENT] |
Survives crashes, reloads, closures |
| Cross-Tab Sync | [OPERATIONAL] |
Notification system OS-level |
| Accuracy | [Β±1s] |
Timestamp-based calculation |
β Chrome/Chromium 90+
β Firefox 88+
β Safari 14+
β Edge 90+
β Mobile Browsers (iOS/Android)
Rapid-Development-Timer-Assistant/
βββ index.html # Main application
βββ timer-worker.js # Web Worker for background timing
βββ favicon.svg # App icon
βββ README.md # This file
[β] No external API calls
[β] No tracking or analytics
[β] No cookies
[β] No data transmission
[β] 100% client-side execution
[β] localStorage only (local machine)Found a bug? Have an enhancement?
# Fork the repo
git fork https://github.com/bobvasic/Rapid-Development-Timer-Assistant.git
# Create feature branch
git checkout -b feature/your-enhancement
# Commit changes
git commit -m "feat: your enhancement description"
# Push and create PR
git push origin feature/your-enhancementMIT License - Use freely, modify as needed, attribution appreciated.
ββββββββββββββββββββββββββββββββββββββββββ
β System Status: [β] ONLINE β
β Timer Accuracy: [Β±1s] β
β Notification: [β] ACTIVE β
β Audio System: [β] OPERATIONAL β
β Web Worker: [β] RUNNING β
β State Persist: [β] ENABLED β
ββββββββββββββββββββββββββββββββββββββββββ
Stay focused. Ship code. Repeat. π
β Star this repo | π Report Bug | π‘ Request Feature
Made with β‘ by developers, for developers