Pomodoro Focus Timer — Web App with Task Management & Analytics

Замовник: AI | Опубліковано: 18.12.2025
Бюджет: 250 $

I want a lightweight, browser-based Pomodoro timer my team can leave open on their desktops all day. The core flow should mirror the classic 25-minute focus / 5-minute break cycle, yet still let anyone tweak those numbers for their own rhythm. I do not need mobile support—optimise strictly for desktop so the layout can stay simple and distraction-free. Key functions • Timer: start, pause, resume and reset, with an optional short chime or soft ding when each session or break ends. • Task management: add, edit and mark tasks complete, then link each running Pomodoro to a specific task. • Weekly analytics: a small dashboard summarising total focused minutes and a task-by-task breakdown, ideal for quick Monday stand-ups. • Custom intervals: although 25/5 is the default, users should be able to enter any work and break lengths that suit them. • Local data: save tasks, settings and history in the browser (IndexedDB or localStorage) so no login or server is required. • Design: ultra-clean UI—think muted palette, clear typography and a panel that can sit in the corner of the screen without stealing attention. Deliverable A single-page web app (React, Vue, Svelte or vanilla JS—your call) packaged for easy drop-in hosting, along with minified production build, unminified source, and a brief README covering setup and any third-party libraries you used. Acceptance check 1. Run locally, load in a desktop browser and remember data across refreshes. 2. Default 25/5 cycle works out of the box; entering 50/10 or 90/20 in settings updates both UI and notifications immediately. 3. At least three tasks can be created, assigned Pomodoros, and reflected accurately in the weekly report. 4. Sound plays (or can be muted) at the end of each session. 5. Interface remains functional at 1024×768 and higher without scroll bars or clipped content. If you have a preferred JS framework or UX idea that keeps the footprint tiny, let me know when you share your approach.