TaskTime — Pomodoro Task Manager
·2 mins
Table of Contents
Status: actively in progress — the REST API, JWT auth, and core task workflow are working; the web UI and AI assistant page are evolving.
The problem #
Task lists are easy to create and hard to actually work through. TaskTime pairs lightweight task capture (priority, pomodoro estimate) with a Pomodoro timer and a daily focus list, so planning and execution live in the same tool instead of a task list and a separate timer app.
Architecture #
The project is built around a REST API and a single web frontend:
- Backend (
tasktime/) — Java 21, Spring Boot, JWT authentication, H2 database, some server-rendered views via Thymeleaf alongside the REST API. - Frontend (
frontend-web/) — SvelteKit 2, Vite,adapter-static, including an AI assistant page for natural-language task interaction.
Key design decisions #
- Pomodoro-first task model. Tasks carry a pomodoro estimate and priority as first-class fields, not bolted-on metadata — the data model reflects the Pomodoro workflow directly instead of treating it as a UI convention.
- Shared enums across components.
ActivityStatus,Priority, andRecurrencevalues are kept in sync across backend and frontend by convention, highlighting a real tradeoff of a multi-component architecture without a shared schema package.
Stack #
Java 21 · Spring Boot · JWT · H2 · SvelteKit 2 · Vite