↓Skip to main content

TaskTime — Pomodoro Task Manager

·2 mins

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, and Recurrence values 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