// automatic time tracking for developers

Your timesheet is a side effect of saving files.

No timers to start. No Pomodoro guilt. No alt-tabbing to a tracker you forgot to feed. Temporalist reads filesystem events and assembles your sessions, projects and invoices while you just work.

Free with unlimited folders · no credit card

~ temporalist
$ temporalist watch ~/code/client-site --project client-site
watching 247 files (node_modules excluded)
$ # …you just work…
14:02:11 save src/api/sessions.ts +4 min
14:05:48 save src/api/invoice.ts +5 min
14:09:02 save tests/invoice.test.ts +6 min
$ temporalist today
client-site ████████████░░░ 4h 36m
mobile-app ██████░░░░░░░░░ 2h 12m
docs ██░░░░░░░░░░░░░ 0h 41m
───────────────────────
7h 29m · invoice-ready
$

# reads inotify / FSEvents / ReadDirectoryChangesW — timestamps only, never contents

// 01 · how-you-bill-time

Delete the manual timesheet.

workflow.diff — how you bill time
@@ -manual,4 +temporalist,4 @@
1 -start timer (forget)
2 -stop timer (forget harder)
3 -reconstruct Tuesday from git log + Slack scrollback
4 -bill 80% of what you worked
1+save files like you already do
2+sessions assemble from timestamps
3+invoice generated from sessions
4+bill 100% of what you worked
Ship the new workflow

Free with unlimited folders · no credit card · 3-minute setup

// 02 · no-plugins-required

Works with everything that writes to disk.

Temporalist doesn't hook into your editor — it listens to the filesystem. If your tool saves a file, it counts. No plugin to install, no plugin to break on the next major version.

vimneovimVS CodeJetBrainsZedSublimeEmacssed -i …anything, really
desktop app
WindowsmacOSLinux
browser ext.
ChromeFirefoxEdgeSafari
for the tab half of your job — PRs, issue trackers, staging

// 03 · man temporalist

The feature list, as a man page.

TEMPORALIST(1) User Commands TEMPORALIST(1)

NAME

temporalist — turn file saves into billable hours

SYNOPSIS

temporalist watch <folder> [--project <name>]

temporalist today | report | invoice

DESCRIPTION

Sits in your tray. Watches the folders you point it at, assembles sessions from save timestamps, ends them when you go idle, and rolls them up into reports and invoices. You do nothing.

OPTIONS

--folders

One folder per client or project. Sessions attach themselves to the right job.

--urls

Browser URL patterns track the half of your work that happens in a tab.

--idle-timeout 15m

Sessions end themselves when you stop. No orphaned nine-hour entries.

--offline

Local SQLite first. Work on a plane for a week; it syncs when you are back.

--invoice

Auto-numbered invoices built from tracked time. Exports PDF, CSV and JSON.

--privacy

Timestamps and paths only — no contents, no screenshots, no keylogging.

OAuth2 PKCE authlocal-first SQLite · syncs when onlineEU serversexport everything as JSONdelete account self-serve

Read the privacy doc — it's founder-signed, and shorter than your eslint config.

/*
* I used to lose 30 minutes a day to timesheet archaeology.
* Now `temporalist today` is my standup prep and my invoice draft.
*
* — Marcus Chen, freelance developer
*/

// 04 · pricing --currency=eur

Pick a plan. Bill more hours.

solo

€0/forever

for your own folders

  • +unlimited folders & URLs
  • +basic dashboard
  • +30-day history
  • +weekly reports
start free

recommended

pro

€8/mo

or €80/yr — 2 months free

€8/mo ≈ 7 minutes of billable time.

  • +everything in Solo
  • +unlimited history
  • +analytics
  • +client & project tags
  • +invoice generation
  • +exports — CSV / PDF / JSON
start free

team

€6/user/mo

min 4 seats

  • +everything in Pro
  • +team dashboard
  • +manager reports
  • +billable rates
  • +client portal
  • +DPA
start team trial

No credit card to start. Cancel anytime — your data exports as JSON either way.

// 05 · faq

Objections, handled.

Does it read my code?

No. The watcher consumes filesystem event timestamps and paths — inotify on Linux, FSEvents on macOS, ReadDirectoryChangesW on Windows. File contents are never read, and nothing except timestamps, paths and session metadata ever leaves your machine.

What does it cost me in CPU and RAM?

It is a file watcher — the watchdog pattern, not a daemon farm. Idle CPU is effectively zero and memory stays in tens-of-megabytes territory. A single Slack tab costs you more.

I work offline. On planes, even.

Everything lands in a local SQLite database first. Track for a week without a connection; sessions sync to the dashboard the moment you are back online.

What about time not spent in an editor — PRs, reviews, docs?

The browser extension tracks URL patterns you define: GitHub PRs, issue trackers, staging environments, documentation. For anything else, sessions can be added or adjusted manually.

Can I fix a misattributed session?

Yes. Automatic does not mean read-only — every session is editable. Reassign it to another project, trim it, split it, or delete it.

~ you, three minutes from now
$ open https://temporal.ist/register # takes 3 minutes, free plan
Start free no credit card · cancel anytime