Dev.to WebDev πŸ›  Dev πŸ‘ 0

I Built a Sleek Pomodoro Timer with Pure Vanilla JS & Web Audio API (No External Audio Files!)

Hey everyone! πŸ‘‹ Following up on my last UI component project, I just built FocusPulseβ€”a zero-dependency Pomodoro focus timer built with pure HTML, CSS, and Vanilla JavaScript. πŸ’‘ Why I Built It Most simple w

Hey everyone! πŸ‘‹

Following up on my last UI component project, I just built FocusPulseβ€”a zero-dependency Pomodoro focus timer built with pure HTML, CSS, and Vanilla JavaScript.

πŸ’‘ Why I Built It

Most simple web timers rely on external .mp3 or .wav files for notification chimes, which can lead to broken audio links, CORS issues, or slow loading times. For this project, I wanted to build a clean, self-contained productivity tool that generates its own chimes programmatically right inside the browser.

✨ Key Features

  • Web Audio API Synthesizer: Plays crisp notification tones generated dynamically with codeβ€”no external audio assets required.
  • SVG Progress Ring: A dynamic, circular timer progress indicator powered by CSS and JavaScript.
  • Customizable Intervals & Persistence: Set your own Focus, Short Break, and Long Break durations, which save automatically to localStorage.
  • Zero Dependencies: No Tailwind, React, or external sound librariesβ€”just lightweight, high-performance web standards.

πŸ“¦ Source Code

You can grab the full source code (HTML, CSS, and JavaScript files with setup instructions) for free or pay-what-you-want on Gumroad:

πŸ‘‰ https://yomna67.gumroad.com/l/focus-pulse

I'd love to hear your feedback or suggestions for features to add in the next version!

πŸ“° Read the original article on Dev.to WebDev

Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes β€” full credit and traffic to the original publisher.