A timer with projects, tags, billable rates and a weekly report is small: one running entry in a database, an editable timesheet and a few GROUP BY queries. The weekend goes on the habit around it: a start button within reach of every tab, idle detection that asks whether to keep the time you spent away, a phone that stops the same timer, and calendar events that turn into entries. A copy you have to remember to open tends to get abandoned.
Before you buildToggl's Free plan covers a few users with timers and personal reports. If you work alone, try it before building.
Build me a personal time tracker to replace Toggl Track. Requirements: - Node.js 22 + TypeScript: a Fastify API and a React front end built with Vite, installable as a PWA. `npm start` serves http://localhost:4950, and `npm run cli -- start "write docs" -p Client/Project` starts a timer from the terminal. - Storage: better-sqlite3 in ./data/time.db: clients, projects (client, color, hourly rate, billable default, archived), tags, and entries (description, project, start, end NULL while running, billable, tags). A unique partial index allows one running entry at most, so the timer lives in the database and closing a tab never stops it. - Timer bar at the top: description, project picker, tags, start and stop, the elapsed time ticking. Starting a new entry stops the running one at the same second. Shortcut: s toggles the timer. - Timesheet: a week view with a list per day, inline edits of start, end and duration, a manual entry form and "duplicate yesterday". Overlapping entries need a confirmation. - Reports: pick a date range, group by project, client, tag or day; show hours, billable hours and amount (hours x rate); export the filtered entries as CSV. - Import a Toggl detailed-report CSV: map columns by header name, preview the first 20 rows and skip entries that already exist. - Browser extension (Manifest V3, in ./extension): a popup to start and stop, a badge with elapsed minutes, and `chrome.idle` with a 5-minute threshold that asks whether to keep or discard idle time. It talks to the server with a token from .env. - Single user, one password for the web app. No accounts, no telemetry, local-first. - Out of scope: teams, approvals, invoices, calendar sync, native desktop and phone apps. - README: loading the extension unpacked, reaching the server from a phone over HTTPS (Tailscale or a tunnel), and backing up ./data.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Toggl Track.
Add calendar suggestions to the time tracker in this folder. Requirements: - CALENDAR_ICS_URL in .env (the secret iCal address of a calendar); fetch it every 15 minutes and parse it with `node-ical`. - Show yesterday's and today's events that have no matching entry as suggestions on the timesheet, each with one click to create an entry for the event's start and end. - Remember dismissed suggestions so they don't return. - Read-only: never write to the calendar. Update the README.
Add a weekly summary to the time tracker in this folder. Requirements: - Every Monday at 08:00 server time, email last week's hours by project, billable amount and the five longest entries, through SMTP settings in .env (nodemailer). - Include a comparison with the previous week and flag a project that went over an optional weekly hour budget set on the project. - A "send now" button in settings for testing. Update the README.
Add client statements to the time tracker in this folder. Requirements: - For one client and a date range, produce a PDF (`pdfkit`) with a line per project: hours, rate and amount, plus an optional appendix listing every entry with date and description. - Round each entry up to a step set per client (1, 5, 15 or 30 minutes), and show both the tracked and the billed time. - Mark entries as invoiced after export so the next statement skips them. - Update the README.
Teams pay for numbers they can bill from: rates per person and project, approvals on Premium and a tracker in the browser, on the desktop and on the phone, so entries are complete. Solo users often stay on the free plan, and a community thread where a long-time personal user asked for unlimited reports back shows how much the limits are felt.
Estimate · Runs on your machine or a $5 VPS. The build is token usage on your agent plan.
Checked 2026-10-14 against Toggl Track's docs: 1, 2, 3, 4, 5, 6
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0/user | $0/user | Manual and live timers, focus mode, calendar integrations, tasks, boards, task estimates and personal reports. The pricing FAQ says up to 3 users; another Toggl page says 5. |
| Starter | $12/user | $9/user | Billable rates, timeline views, tags, milestones, time off and public holidays, flexible hours and team-level reports. |
| Premium | $24/user | $16/user | Starter plus labor-cost and profitability reports, fixed-fee projects, project dashboards, timesheet approvals, Jira and Asana integrations and single sign-on. |
| Enterprise | custom | — | Personal onboarding, a dedicated customer success manager, custom roles, priority support and multiple workspaces under one organization. |
A free plan for a limited number of users covers timers, tasks, boards and personal reports.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: The desktop apps, the Timeline of tracked activity and the iPhone and Android apps, Team features: approvals, labor-cost reports, project dashboards, capacity planning.
About $12 a month on the Starter plan per seat, $144 a year (checked 2026-10-14).
The desktop apps, the Timeline of tracked activity and the iPhone and Android apps; Team features: approvals, labor-cost reports, project dashboards, capacity planning; Jira, Asana and other integrations that start a timer from inside those tools; Calendar integrations with Google and Outlook; Time off and public holiday tracking. If any of those matter to you, keep paying.
Yes: Kimai (open source), solidtime (open source), ActivityWatch (open source).