Deploy Now

Stars

1,808

Forks

170

Watchers

18

TimeTagger

Freelancers, consultants, and solo workers get an accurate record of their hours from TimeTagger, a time tracker that logs tagged tasks on an interactive timeline and summarizes them as billable reports. Press S, type a description, and hit Enter to start the clock without the mouse, or drag across the timeline to log finished work. Hashtags in a description become autocompleting tags, with no projects to set up. Renaming a tag updates every record that uses it. Drag a record's edges to fix its times, then zoom the timeline out to a week or month with mouse, touch, or arrow keys. An overview panel totals time per tag combination for the selected range, and the Report button saves it as a client-ready PDF or a CSV with decimal hours. Daily, weekly, and monthly targets track progress toward your goals, and an optional Pomodoro timer alternates work and break periods with an alarm and a notification. Settings add a dark theme, local date notations, a Monday-to-Friday week, and a day offset for night shifts. The interface adapts from desktop to phone, installs as a progressive web app, works offline, and syncs records across devices once the connection returns. A web API and a command-line client let you query, create, and update records from scripts or the terminal. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. GPL-3.0 licensed.

TimeTagger
TimeTagger
TimeTagger
TimeTagger
TimeTagger
TimeTagger
TimeTagger
TimeTagger

Benefits

  • Track hours without project overhead
  • Hashtags typed into a record's description create tags on the fly, with autocomplete and case-insensitive matching, so you can start tracking immediately instead of configuring clients, projects, and tasks first.
  • Invoice-ready reports in two formats
  • Select any range and tag filter, then export a formatted PDF for clients or a CSV with decimal-hour durations that opens cleanly in Excel or LibreOffice for further processing.
  • Your data stays on your server
  • Records are stored in a SQLite database inside a data directory you control, protected by BCrypt-hashed logins for several users or by reverse-proxy authentication such as Authelia.
  • Automate and integrate through the API
  • A documented web API and a command-line client let scripts and editor extensions track time and query records, and changes appear in the web interface within about ten seconds.

Features

  • Interactive zoomable timeline
  • Drag across the timeline to create records, drag record edges to adjust start and stop times, and zoom between day, week, and month views with mouse, touch, or keyboard.
  • Hashtag-based tag system
  • Words starting with # in a record description become case-insensitive tags with autocomplete, color coding, rename support, and filtering in the overview panel.
  • PDF and CSV reporting
  • The Report dialog builds a table for the chosen range and tags, saved as PDF or CSV; a full export lists every record's start, stop, tags, and description.
  • Targets and Pomodoro timer
  • Set daily, weekly, or monthly time targets and follow progress, or enable the experimental Pomodoro mode to alternate work and break periods with alarms and notifications.
  • Offline-capable responsive client
  • The responsive client caches data locally, keeps working when the server is unreachable, installs as a progressive web app, and syncs with the server roughly every ten seconds.
  • Docker and pip deployment
  • Run the ghcr.io/almarklein/timetagger image in root or nonroot variants, or install the Python package with pip, configured through TIMETAGGER_ environment variables.

Apps Similar to TimeTagger