Timely

timelyapp.comcontributed by Samuele Ongaro

ALMOST

A weekend of work, and real gaps remain.

Automatic time tracking: a background app records which applications and documents you used, then proposes timesheet entries from that history.

Promptfree, for everyone, and the only version there is
Build me automatic time tracking that replaces Timely — and know why this is ALMOST.

The idea is **a memory of what you actually did**: the software records everything, and at the end of the day you turn that memory into timesheet entries rather than trying to remember. What makes it hard is agents on every platform, a categorisation layer that stays current, and the fact that this watches everything you do — so read the privacy section first.

STACK
- A small native agent per platform, plus a browser extension for per-site detail
- Node 20+ with Fastify, SQLite through better-sqlite3
- Caddy in front, on a private network

THE PRIVACY POSITION, FIRST
- This records your whole working day. Store the application and the domain by default; window titles only where you have opted in per application, because a title often contains a client's name or a document's
- The memory is private to the person until they draft an entry from it. Nobody else — not a manager, not an administrator — sees the raw timeline. That single rule is what makes people willing to run it
- No team dashboard of individuals' raw activity. The moment this is used to watch employees it stops being a memory aid and becomes surveillance
- A pause that is obvious and immediate, and private browsing never recorded

THE DATA MODEL
- devices: id, user_id, platform, token_hash, last_seen_at
- spans: id, device_id, at, duration_ms, app_name, domain, window_title, is_idle, is_private — one row per focused span, not per second
- calendar_events: id, user_id, external_id, starts_at, ends_at, title, attendees_json — meetings are hours too, and they are the easiest to forget
- documents: id, span_id, kind, ref — a file or a ticket identifier, where the agent can see one
- draft_entries: id, user_id, local_date, project_id, task_id, description, started_at, ended_at, duration_seconds, confidence, source_span_ids_json, status — the proposal
- entries: id, user_id, project_id, task_id, description, started_at, ended_at, duration_seconds, is_billable, is_locked, invoice_ref — the confirmed record
- entry_revisions, rates with effective dates, projects, clients, budgets — the ordinary tracking model underneath

FROM MEMORY TO TIMESHEET, WHICH IS THE PRODUCT
- At the end of the day, the timeline is grouped into blocks: contiguous spans on related applications, documents and domains, plus the calendar's meetings
- Each block is proposed as a draft entry with a project, a description and a duration. The project comes from rules and from what you chose last time for similar activity
- **Nothing is recorded as time worked until a person confirms it.** The proposal is a draft; the entry is a decision. That distinction is the whole ethical and practical basis of the tool
- Confirming or correcting a draft trains the matching for next time — the same domain, the same document, the same meeting title
- The description is generated from what was actually in the block and is editable. A generated description nobody edits is fine; one nobody can edit is not
- Show the confidence, and put low-confidence drafts last

THE AGENT
- Poll the focused window every few seconds and emit a span on change. Spans, not samples, or the storage is enormous
- Idle detection from the operating system's own idle timer, recorded as idle rather than attributed to whatever was on screen
- Queue locally when there is no network, so a laptop on a train loses nothing
- Small and quiet: it runs all day and must be invisible in memory and processor use

RATES AND BILLING
- Rates with an effective date, so an entry bills at the rate in force when the work happened. Changing a rate must never restate last quarter
- Billable and cost rates both, because the gap is margin
- Rounding applied at report or invoice time only. The raw seconds are the record
- Approval locks a period; a locked entry cannot change without a logged unlock
- Everything computed from rows at query time. No stored totals

WHAT IT SHOWS
- The day as a timeline, with the drafts beside it
- Hours by project, client and person; planned against actual if you also plan
- Unbilled work, which is the report that finds the money you forgot to invoice
- Time not accounted for, honestly shown rather than quietly filled

OPERATIONS
- .env: DATABASE_PATH, BASE_URL, SESSION_SECRET, RETENTION_DAYS, ENCRYPTION_KEY
- Migrations on boot, each once; raw spans on a stated retention with a sweeper, shorter than the entries they produced
- Nightly backup off the machine, encrypted
- Health endpoint reporting each device's last contact

WHAT MATTERS MOST
Spans rather than samples, and confirmation before anything counts. The first keeps it cheap; the second is what makes a memory of your day acceptable to have.

What you lose

  • A background recorder across every device that captures what you worked on without you starting a timer
  • Suggestions that turn that raw activity into billable entries
  • A privacy model where the raw record stays yours until you approve an entry

If you would rather not build

  • Toggl Track, for manual timers
  • A text file with start and stop times, which many people prefer

What it costs

read from their page 15 Aug 2026

PlanBilled monthlyBilled yearlyLast read
—$11/mo—15 Aug 2026

Their pricing page is where these came from. Seeing a different price? Tell us.

The escape hatch

open source · no votes, no paid placement

ActivityWatch

$0

Cross-platform automatic activity tracking that keeps data on your machine.

ActivityWatch/activitywatchfree · open source

Kimai

$0

Self-hosted time tracking with projects, rates and invoicing.

kimai/kimaifree · open source

Why this verdict

our own opinion · changed only by a person

56/100

Verdict kinda at 56. ActivityWatch removes the hardest part; mapping window titles to projects well is what takes the weekend.

History

tracked since 10 Aug 2026 · nothing is ever overwritten

Interest · last 30 dayspeak 3/day
views012330 Aug4 Sept9 Sept14 Sept19 Sept24 Sept28 Sept
— views— prompt copies none yet— votes none yet

Questions about Timely

answered from the record above

Is Timely free?

No — the plan we track is $11 a month. Starter at around $11 per user per month billed monthly, cheaper annually.

Can you replace Timely by building your own?

ALMOST. A weekend of work, and real gaps remain. Replacement score 56 out of 100, build time a weekend. Read what you lose before you decide.

How much does Timely cost?

$11 a month on Starter — $132 a year. Recorded 10 Aug 2026.

What do you lose by replacing Timely?

A background recorder across every device that captures what you worked on without you starting a timer; Suggestions that turn that raw activity into billable entries; A privacy model where the raw record stays yours until you approve an entry. If any of those carry weight for you, keep paying.

Is there an open-source alternative to Timely?

Yes: ActivityWatch, Kimai. The prompt on this page is for when you want it your way instead.

Related entries

same category first, most replaced first

All 18 in Time tracking & invoicing

Not sending yet

Every week, something stops being worth paying for.

New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.

free forever · no tracking pixel · stored here, never passed to anyone

Esc