Details

Track tasks, manage your time, and review your daily progress.

What you can do

  • Set timers for focused work, breaks, and everyday tasks.
  • Add a task with a name, description, and duration, or fill it from a saved preset.
  • On mobile, add tasks with the floating Add Task button above the bottom controls. Desktop keeps Add Task in the toolbar.
  • Press Shift+N on Timer to open a blank task form when no field or dialog is active.
  • Start, pause, resume, edit, or finish tasks early.
  • The slim floating player shows remaining time, Done, and Play/Pause. Switch tasks when multiple timers are available.
  • On mobile, scrolling down docks each player’s title and Play/Pause between minimized navigation and Search. Scroll up or expand navigation to restore full controls. Pages without bottom navigation keep full controls.
  • Press Space on Timer to pause the most recently started task or resume it when no floating control takes priority.
  • Space activates the topmost notification, retry, floating Music, or floating Timer, in that order.
  • Every task advances by one second per real second.
  • While a task runs, the Timer page’s browser tab shows its name and remaining time. With multiple tasks, it shows the one finishing soonest.
  • Windowed tasks warn ten minutes before the latest safe start, using their remaining duration. A pulsing warning icon appears before Edit, turning red when there is not enough time to finish, with one reminder toast per task each day across devices. The red reminder stays visible until dismissed or the warning clears, showing the full task name and deadline guidance.
  • Use Multitask to run tasks together or Autoplay to start the next unfinished task.
  • Save your own duration and task presets.
  • Task cards show controls beside the title and description. Mobile uses a progress ring beside stacked elapsed and remaining times; larger screens use a linear progress bar.
  • Optionally show the schedule in 6-hour pages with floating buttons to the neighbouring hours; the full 24-hour timeline remains the default. A “Follow now” setting instead scrolls the full 24-hour timeline inside the available screen height, opening just before the current time, with a Now button to return.
  • Timer logic and data shape are covered by bun run test:timer (engine, date and time math, validation of old and new data, backups, and an upgrade of an old database). A git pre-push hook runs it; update the matching test whenever you change Timer logic or fields.
  • Keep timers visible across the site and enable ticking sounds or completion notifications.
  • Review daily history in Statistics. Switch between 7, 30, and 90 days to see Work and Leisure time stacked against each day’s budget, a 7-day average, and a weekday heatmap. Every chart has a table view.
  • Export your task history as a backup.

What to know

  • Only the site owner can sign in to manage personal tasks; visitors can explore read-only examples.
  • Deadline warnings clear while a running task can finish on time, when it finishes, or when its window closes. If too little time remains, the message becomes “Not enough time.” The icon stays still with reduced motion. Reminders are silent, require an open, visible page, and appear on reopening if already due; they do not use system notifications or a background service.
  • New Jakarta days start with your saved Daily Tasks, paused with fresh progress. Existing dates are preserved, and running tasks stop at midnight.
  • Task names allow 25 characters and descriptions allow 36 when adding or editing. Durations range from one second to 24 hours.
  • Settings → Daily Tasks lets you add, remove, reorder, and schedule up to 10 tasks in your routine. Save applies to future days; Cancel discards the draft. Daily descriptions allow up to 38 characters.
  • Every task has a Type, Work or Leisure, set in the task form, Presets, and Daily Tasks. Choosing a preset also sets its Type. Scheduled blocks in Day, Week, and Month are violet for Work and amber for Leisure. Running blocks turn green, and finished or missed blocks fade in their own color. Tasks saved before Type existed count as Work.
  • Unscheduled daily tasks start manually. Editing a card changes only today’s task, including its period. Future-day definitions stay the same. In task forms, the Period’s All day switch keeps a task off the timeline. Turn it off and set From and Until to move the task onto the timeline, or turn it back on to remove its time. Daily cards cannot be deleted. Finished daily tasks move to History; early Done tasks can be restored while their window is open.
  • Open History beside Settings to review today’s finished and missed tasks. Period shows each scheduled period in Jakarta time, or All day for tasks without one.
  • Day shows available tasks alongside an hourly schedule, stacked below the list on mobile. Blocks show scheduled availability windows in 15-minute increments, at least 15 minutes long. Cards stay in the timeline all day, including completed and missed tasks. Running cards turn green; other active cards stay purple. Select an active card’s edit icon to edit today’s task. Cards show descriptions for windows of 30 minutes or longer. The red line marks the current Jakarta time.
  • Month shows a Monday-first calendar of scheduled tasks. Select a date to open Day, or use the arrows and Today shortcut to navigate. Past days show saved activities and a read-only schedule. Future days show recurring daily tasks and saved plans. Drag the timeline to add a task for that date, then move, resize, or edit it as needed. Add Task also works on future dates. Changes stay specific to the selected date; other dates and daily definitions stay the same. Only today has playback controls. On these days the list shows only tasks without a scheduled period; scheduled tasks appear on the timeline, with time spent on past days. Calendar cells show two task labels on mobile, three on larger screens, and a count for the rest.
  • Week shows Monday to Sunday as read-only hourly schedules. Select a date to open Day for editing or playback, or use the arrows and Today shortcut to change weeks. Weeks that cross months load both.
  • Year shows twelve Monday-first mini calendars, with the current month in red and today circled. Select a month to open it, or use the arrows and Today shortcut to change years. Year loads no task data.
  • Drag empty future time to create New Task with no description. Elapsed time today is shaded; pressing it explains that planning in the past is not possible. Selection snaps to 15-minute slots, and the timer duration matches the selected window. On touchscreens, hold then drag; ordinary swipes scroll. With the timeline focused, use arrow keys to move, Enter to begin and save, and Escape to cancel. Scheduled task descriptions are optional. Their editor has separate Duration and Period controls, so planned work can be shorter than the period. Failed additions can be recovered through Add Task.
  • Drag a card up or down to move its period in 15-minute steps, keeping the period length. Use the icon beside the title to edit. Drag a card’s top or bottom edge to expand or shorten its period in 15-minute steps. The timer duration follows the resized period. Hover an edge to see the resize cursor; on touchscreens, hold the edge before dragging. Focus an edge and use arrow keys, then Enter to save or Escape to cancel. Resizing stays in future time and keeps at least 15 minutes, longer than any time already spent. Failed resizes can be recovered in the task editor.
  • Scheduled tasks start when their window opens, or when you return during an open window. Multitask starts all due tasks. Otherwise, the latest opening wins, ties follow saved order, and the current task pauses. Other overlapping tasks remain available for manual start during the visit. Paused tasks stay paused. Starts within a minute of opening count from the opening; later starts count from now, without adding time while the app was closed. The red line crosses above timeline cards; running tasks also appear first in the list with green progress.
  • When you open the page, running tasks come first, followed by available tasks with progress and unstarted tasks. Higher percentages come first within each group; ties retain their saved order. Running tasks move to the top and stay ordered by percentage during your visit. Other cards keep their relative positions within the available group. Upcoming tasks are placed by opening time in the timeline. The order resets when you reopen the page or a new Jakarta day begins.
  • Availability follows Jakarta time. Before its window, a task appears in the timeline. At closing, unfinished tasks move to History as Missed, preserving time spent without marking them complete. A running task pauses at closing.
  • Starting a task pauses the others unless Multitask is on; turning it off keeps the most recently started task running.
  • Done saves the time actually spent, while Met means the full duration was used.
  • Editing a task requires a duration longer than its time spent, and restoring a Done task keeps its progress paused.
  • Autoplay prefers paused ordinary tasks, skips daily tasks, and needs an open page; completion alerts may be delayed if the browser closes or suspends.
  • Tasks, presets, and preferences sync across signed-in devices when connected; ticking sounds stay local to each browser.
  • If sync drops, loaded tasks remain visible while Timer reconnects automatically. Repeated failures show a Retry control. Failed saves keep your drafts and are never resent automatically.
  • After a refresh, your browser may require a click, tap, or key press before ticking sounds resume. The countdown continues independently of sound.
  • Saving needs a connection; failed saves restore confirmed data and keep form drafts available for retry.
  • Backups contain task history as paused tasks. The command-line migration tool can restore them and rejects conflicting dates.

Task states

Red marks running tasks; other tasks use neutral colors.

  • Running

    Time is counting toward the duration.

    7:30/15:007 minutes 30 seconds remaining
  • Paused

    Time is saved. Continue when you are ready.

    5:00/15:0010 minutes remaining
  • Not started

    The activity is ready to start.

    0:00/15:0015 minutes remaining

How it works

Timer and its floating controls share one task state across the site. Timestamps keep progress accurate without saving every second, while the server checks access and saves changes in Turso.

Timer data flow diagram
Rendering diagram…

Changelog

Messages mentioning Timer or its components, oldest first; dates and times use Jakarta time (WIB).

Loading change history…