Buddy Pomodoro banner

Buddy Pomodoro

4 devlogs
4h 19m 16s

I built this because I realized I was "doing Pomodoro" but actually just staring at my screen and getting distracted. Buddy Pomodoro doesn't just time you; it holds you accountable. After every focus block, it forces a quick check-in to log what y…

I built this because I realized I was “doing Pomodoro” but actually just staring at my screen and getting distracted. Buddy Pomodoro doesn’t just time you; it holds you accountable. After every focus block, it forces a quick check-in to log what you actually finished and what distracted you. It keeps everything in your browser’s local storage, so no accounts are needed—just pure focus.

This project uses AI

I used AI to help polish the CSS theme and to structure the AudioContext beep logic. All the core functionality, data persistence, and the actual application architecture were written by me from scratch.

Demo Repository

Loading README...

axel.zapien1831

Shipped this project!

I built Buddy Pomodoro because I realized I was often ‘doing Pomodoro’ but actually just staring at my screen or getting lost in distractions. This isn’t just a timer; it’s a tool for accountability. After every focus block, it requires a quick check-in to log what was actually accomplished and what got in the way.
The biggest challenge was moving from a static UI to a fully persistent system using localStorage so that no data is lost if the tab closes. I’m particularly proud of the ‘I’m drifting’ button—a feature I built for my own distracted brain to provide a tactical reset when things get overwhelming. It’s built with vanilla JS and a modern dark theme, keeping things fast, private, and focused.

axel.zapien1831

Pushed through the finish line! 🚀 Just finished the complete logic for Buddy Pomodoro. I implemented the full timer cycle with automated focus/break switching and a ‘Panic’ mode for quick resets. The biggest win was getting the LocalStorage persistence layer solid—now focus blocks, streaks, and check-in logs stay saved even if the browser closes. Also hooked up the AudioContext for a custom beep notification and built the history UI to track progress throughout the day. It’s officially alive and functional! 💻🍪🔑

Attachment
0
axel.zapien1831

Focusing on that ‘Caffeinated’ sidequest. Got the core logic moving today for Buddy Pomodoro. Tbh, setting up the state variables and the vanilla JS selectors felt a bit caveman-style, but it works! 😂 I successfully implemented the basic LocalStorage persistence for saving settings like the goal and focus/break times, which feels like a huge foundation.

Attachment
0
axel.zapien1831

Woke up still tired, but Buddy Pomodoro is ALIVE! Alive I tell you! 🧟‍♂️ Tbh, the fatigue is definitely still real today. Operation Sueño was only moderately successful. But, I woke up thinking about how I actually got the JS logic working for Buddy Pomodoro. Start, pause, reset, modes, all persistent in LocalStorage! Knowing that core logic is done and saved is a huge relief. It was a brutal push but so worth it.

Attachment
0
axel.zapien1831

Finally got the base structure down for Buddy Pomodoro. Set up the repo and got the HTML and CSS deployed. Tbh I’m super tired and the fatigue is real today, so I need to crash. Tomorrow I’m tackling the JavaScript timer logic. 😴

Attachment
0