Skip to main content
Timesheet
Self-hosted · Your data, your servers

Time tracking your team owns, end to end.

A tray-resident desktop timer, a web portal for projects, attendance and approvals, and reports managers can act on. Self-hosted on your own PostgreSQL, so your data stays with you.

Deploy
1 binary
Reports
5
Roles
4

Everything in one place

From the first click to the approved timesheet.

Desktop tracker

Start and stop from the system tray. Heartbeats, activity and idle periods are captured in the background.

Offline-safe

Everything captured goes through a durable local queue and syncs with retry, so a dropped connection loses nothing.

Projects and tasks

Plan work on a kanban board with priorities, estimates and assignees, then attribute tracked time to tasks.

Attendance and timesheets

Attendance is derived from the timer. Weekly timesheets are submitted, approved or rejected, then locked.

Reports that answer questions

Project, time-use, timesheet, screenshot and activity reports with shareable filters and CSV export.

Multi-organization

One account, many organizations. Owner, admin, manager and employee roles, with managers scoped to their department.

See all features

How it works

Four steps, no manual clock-ins.

  1. 1

    Start the timer

    The employee presses Start on the desktop app. One running timer per person, across every organization.

  2. 2

    Capture quietly

    Activity counts, idle time and optional screenshots flow to the server while the timer runs.

  3. 3

    Attribute to work

    On the web, time segments are tied to projects and tasks for accurate reporting.

  4. 4

    Submit and approve

    Weekly timesheets go to a manager for approval. Approved periods are locked.

Privacy by design

Monitoring that respects the people being monitored.

Keystrokes are counted, never recorded. Employees see a consent gate before capture begins. Tracked time can be corrected, but never silently overwritten.

Read how it works
  • Keystroke and mouse counts only. Never content.
  • Per-organization data isolation enforced in PostgreSQL.
  • Locked timesheet periods are immutable.

Run it on your own infrastructure.

One binary, one PostgreSQL database, one port. Your data stays on your own servers.