Inspiration
KiroweenHackathon26 asked for something wicked — so we asked: what if staying focused felt like growing a pumpkin?
We wanted a Pomodoro timer that gives real visual payoff for a day of deep work, and we wanted to build it the Kiro way: spec first, code second.
What it does
Pumpkin Focus Timer is a zero-dependency web app. Pick a focus block (15/25/50 min), start the timer, and watch a seed grow into a sprout, a small pumpkin, a big pumpkin, and finally a glowing jack-o'-lantern as your focused seconds accumulate through the day. Finishing a session triggers a spooky Web Audio chime and a celebration overlay. Daily stats persist in localStorage and reset at midnight.
How we built it (the Kiro way)
We ran Kiro's full spec-driven workflow before writing any code:
- requirements.md — user stories + EARS-format functional requirements
- design.md — architecture, state machine, data model, growth-stage thresholds
- tasks.md — the task breakdown, then implementation against the spec
The complete spec ships in the repo under .kiro/specs/pumpkin-focus-timer/. Kiro's spec-first loop was the biggest win: instead of guessing what 'make a timer app' means, requirements get reviewed and steered before any code exists, and implementation stays accountable to them.
Challenges we ran into
- Making the timer robust to browser tab throttling — solved with endAt timestamps compared against Date.now() instead of counting intervals.
- Audio autoplay policies — the chime context is created lazily on the first user gesture.
- Graceful degradation — an in-memory fallback keeps the app working when localStorage is unavailable.
Accomplishments that we're proud of
A fully offline, responsive, zero-dependency app built entirely from a reviewed spec.
What we learned
Writing EARS-style requirements forces you to answer edge-case questions (tab throttling, storage failures, date rollover) before they become bugs.
What's next for Pumpkin Focus Timer
A 3-minute demo walkthrough, plus optional ambient Halloween soundscape mode.
Social post (build log): https://dev.to/yuxing1228/joining-kiroween-2026-spec-driven-building-with-kiro-1o01
Built with vanilla JavaScript, HTML, CSS, Kiro, and the Web Audio API. Happy shipping, and happy Halloween.
Built With
- javascript
- kiro