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:

  1. requirements.md — user stories + EARS-format functional requirements
  2. design.md — architecture, state machine, data model, growth-stage thresholds
  3. 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

Share this project:

Updates

Submission history