Guide
Install WakaTime if you only want time inside your editor, sorted by project and language. Its free plan keeps one week of history. Use ActivityWatch for a free, local log of active apps and windows. On a Mac, use Dayflow to see the whole day, including docs, reviews and browser debugging, written up as a timeline. Timing is the better choice when you bill the hours.
You want an honest number: how many hours this week went into building software, and where the rest went. Most attempts fail in one of two ways. You install an editor plugin, see a daily total and treat it as your coding day, even though the debugging in browser devtools, the pull request review and the hour of reading docs never reached the editor. Or you start a timer, forget to stop it at lunch, and give up by Thursday.
This guide gives you a method that works with a notebook, an editor plugin or an automatic tracker. Disclosure: Dayflow is our product, and it is one option for one of the steps below. Competitor details come from each vendor’s own documentation as read on October 4, 2026. This guide compares what vendors publish. Nothing here comes from running the tools side by side.
“Coding” is not one activity. Before choosing a tool, write a short definition. A developer’s work usually falls into a handful of buckets:
Decide which of these count as “coding” in your numbers and which count as “around coding.” There is no right answer. There is only one you apply consistently.
Illustration: A backend developer decides that writing, debugging and agent sessions count as coding. Review and research go in a separate bucket called “engineering support.” Meetings stay out of both.
Mistake to avoid: Letting a tool’s default become your definition. An editor plugin measures editor time, and a window tracker measures app focus. Neither one knows what you meant by coding.
Tools capture work at three levels, and each level has a different blind spot. Match the level to the buckets you defined in step 1. For a wider survey, see our roundup of Mac time trackers.
WakaTime uses open source plugins for more than 100 editors, IDEs and terminals. They record coding time per project, language and editor and send it to a web dashboard. It also tracks AI coding usage across tools such as Claude Code, Cursor, Copilot and Codex. That includes adoption, model usage and spend, and AI-generated versus human-written lines.
Its limit is built into the design: it only captures activity inside supported editors and terminals. The data goes to WakaTime’s hosted dashboard. The free plan keeps 1 week of dashboard history, and full history requires Premium.
ActivityWatch records the active application, the window title and whether you are away from the keyboard. Browser extensions add the tab title and URL, and editor plugins add coding activity. It is free, open source under MPL-2.0, and stores everything on your device. We compare it directly in ActivityWatch vs Dayflow.
Timing is a Mac-only automatic tracker. It records apps, websites and documents, down to specific URLs. It lists AI activity summaries and stores data locally unless you opt into sync. See our Timing comparison.
Rize tracks apps and websites on Mac and Windows and uses AI to categorize and tag them. Its data is hosted on Amazon Web Services. See our Rize comparison.
These tools see the browser tab where you review a pull request. What they record is app names, titles and URLs, so you still have to work out which project a given hour belonged to.
Dayflow records the screen at one frame every 10 seconds and has AI write the day into a readable timeline. Because it works from what was on screen, it can describe a debugging session that moved between editor, terminal and browser as one block of work. Recordings and the timeline stay on your Mac. Analysis can run locally through Ollama or LM Studio, through a cloud provider you configure, or through Dayflow Pro. The details are in local and cloud processing.
Illustration: The backend developer from step 1 spends a lot of time debugging in the browser. An editor-only tool would miss that bucket entirely, so they choose an app-level or screen-level tool, or run one alongside WakaTime.
Mistake to avoid: Choosing a tool whose blind spot is your biggest bucket. If most of your week is review and debugging, an editor plugin will undercount it every day.
Raw time with no project attached tells you very little. Set up naming before the week starts.
Illustration: A freelancer has two clients with repos named api and web. They rename the local folders to acme-api and northwind-web so every tool, and their own end-of-day notes, can tell the clients apart.
Mistake to avoid: Putting everything into one “Work” bucket. If you lump it together, you cannot learn which project is quietly eating your week.
Install on Monday morning and leave it alone until Friday evening. Do not try to look productive. Work the way you normally work, because the point is to see your real pattern.
Pick a representative week. A week with an offsite, an on-call rotation or a launch will give you numbers that describe that week and nothing else.
If you are using a screen-based tool on a laptop, it is reasonable to wonder about power. We cover that in screen recording and battery impact.
Illustration: A developer starts recording on a Monday after a holiday. Half the week is catch-up email and planning, so they discard that week and start again the next Monday.
Mistake to avoid: Changing behavior mid-week because the numbers look bad. That is the experiment working. Let it finish before you react.
Automatic data tells you where time went. A short note tells you why. At the end of each day, write two lines:
The daily work log template gives you a fixed place for these notes. Look at your tool’s view for the day while you write. That might be the WakaTime dashboard, the ActivityWatch timeline, or Dayflow’s written timeline. The log takes a minute when the data is in front of you and much longer when you work from memory. The same notes also help with standups, which we cover in automatic standup updates.
Illustration: “Moved: payment retry logic merged. Ate time: a flaky CI test, about two hours across three attempts, all in the browser and terminal.” An editor-only tool would show very little of that second line.
Mistake to avoid: Skipping days and filling them in on Friday. Memory compresses a whole afternoon of debugging into “fixed a test,” and the log loses its value.
On Friday, put three things side by side: your original guess, the measured totals per bucket, and your five daily notes.
Look for three patterns:
Save the week before it disappears. WakaTime’s free plan keeps only one week of dashboard history. Dayflow can export a date range as Markdown from Settings → Export, and we walk through that in export your work history. If you report upward, the weekly status report template turns the review into something you can send.
Illustration: A developer guessed they coded most of each day. The week shows long stretches of review and CI waiting. They change one thing: they batch reviews into two fixed slots a day.
Mistake to avoid: Treating the total as a score. More coding hours is not automatically better. The goal is to find time that went somewhere you did not choose.
| Approach | Effort | What you get | Cost |
|---|---|---|---|
| Manual log or start/stop timer | High. You must remember to start, stop and label. | Exactly the buckets you define, with gaps wherever you forgot | Free |
| WakaTime (editor plugin) | Low after installing plugins | Coding time per project, language and editor, AI usage metrics, goals | Free plan with 1 week of history. Premium for full history is $14/mo billed monthly, or $12.83/mo billed $153.96 yearly |
| ActivityWatch (automatic, local) | Low to set up, plus time to interpret window titles | Apps, window titles, AFK status, tab URLs with extensions, all stored locally | Free |
| Timing (automatic, Mac) | Low, plus project setup | Apps, sites and documents, AI activity summaries, billing-oriented reports | Professional is $9 per month billed annually, or $11 per month billed monthly. 30-day trial |
| Rize (automatic, cloud) | Low | AI-categorized app and website time, focus insights | Basic is $9.99/mo billed annually, or $12.99/month billed monthly. 7-day trial |
| Dayflow (screen-based, Mac) | Low, plus a daily check of the AI timeline | A written timeline of whatever was on screen, across editor, browser and terminal | $0, MIT licensed. Optional Pro at $20 a month |
As noted at the top, Dayflow is our product. It requires macOS 14 or later. It has no invoicing, payroll approvals, team reports or website blocking, and its AI summaries can miss or misread work. Check them before you share anything.
Decide what coding means for you before you pick a tool, then choose a tool that can see all of it. If coding means editor time, WakaTime is the direct answer, and its free plan is enough to start as long as you save your weeks. If you want a free, local record of every app and window, use ActivityWatch. If you bill clients from a Mac, Timing is built for that. If you want the whole day written up, including the debugging, review and research that never touch the editor, Dayflow does that at $0. Whichever you choose, record one ordinary week, write two lines a day, and change one thing on Friday.
WakaTime works through plugins for more than 100 editors, IDEs and terminals, and it only records activity inside the tools those plugins support. Reading documentation in a browser, reviewing a pull request on the web or talking a bug through in a meeting does not show up. To capture that work, pair it with an app-level tracker such as ActivityWatch or a screen-based tool such as Dayflow.
WakaTime has a free plan with 1 week of dashboard history, unlimited projects and 1 programming goal. Full history requires Premium, which costs $14/mo billed monthly, or $12.83/mo billed $153.96 yearly. Basic costs $9/mo billed monthly, or $8.25/mo billed $99 yearly. The Team plan has a 14-day trial with no credit card required.
Three options cost nothing. WakaTime's free plan covers editor time, but you only see one week of dashboard history. ActivityWatch is free and open source under MPL-2.0. It logs apps and window titles locally, and editor plugins add coding activity. Dayflow is $0 and MIT licensed. It records the screen at one frame every 10 seconds and writes the day into a timeline. Dayflow runs on macOS 14 or later only.
WakaTime is better if you want precise coding metrics: time per project, per language and per editor, plus programming goals, team dashboards and tracking of AI tool usage and spend. Dayflow has none of those breakdowns. Dayflow fits when the question is what the whole working day looked like, including browser research and reviews. If editor metrics are all you want, WakaTime alone is the better choice.
WakaTime lists AI coding usage tracking across tools such as Claude Code, Cursor, Copilot and Codex. It covers adoption, model usage and spend, and AI-generated versus human-written lines. Dayflow does not count lines or spend. Because it works from screen frames, its timeline can show when you were in a terminal or editor session with an agent. AI summaries can misread work, so check them.
ActivityWatch states that all data stays on your device. Timing stores tracked time locally unless you opt into sync. Dayflow keeps recordings and the timeline on your Mac, and its Local AI mode runs analysis on-device through Ollama or LM Studio. WakaTime sends activity to its hosted dashboard. Rize says its data is hosted on Amazon Web Services.
Dayflow does not produce invoices or billing records. Timing is built for this. It lists billing status tracking, customizable reports with rounding, and a GrandTotal invoicing integration depending on plan. Timing starts at $9 per month billed annually, or $11 per month billed monthly, with a 30-day trial. Rize offers client reports in PDF and CSV on Pro and above.
No. Dayflow requires macOS 14 or later. ActivityWatch runs on Windows, Mac, Linux and Android and is free. Rize runs on Mac and Windows, but its vendor says Linux is not yet available. WakaTime works anywhere one of its editor or terminal plugins runs, with a web dashboard.
There is no single honest number that applies to you, and figures quoted online rarely define coding the same way. The useful answer is your own. Write down what you count as coding, record one ordinary week with a tool that can see all of that work, and compare the result with your guess. That comparison is what tells you something.
Dayflow is $0 and open source. Full recordings stay on your Mac, with local AI available for on-device analysis.
Download for MacOS macOS 14+ · MIT licensed · no account required