Guide
Keep one dated file, add a line at each break, write outcomes rather than activities, and close the day with a five-minute review. A plain Markdown file is enough. Add Toggl if you bill clients by timer, Timing for automatic billable records on a Mac, ActivityWatch for a free open-source raw record, or Dayflow if you want AI to draft the day's timeline for free.
A daily work log is a short, dated record of what you did each workday, kept somewhere you can search later. The payoff comes weeks after you start. You can answer a standup without scrolling Slack. You have real examples for a performance review. You can back up an invoice. On Friday, you can say where the week went.
It usually goes wrong at the same point. You plan to write it all up at 6 p.m. By then you remember the big meeting and the main task, and the rest is gone: the small fixes, the thread that turned into a spec, the hour lost to an urgent bug. After a week of thin entries, the log feels like homework that proves nothing, and you stop.
This guide gives you a method that works with a text file and nothing else. It then shows where software can fill the gaps memory leaves.
Disclosure: Dayflow, one of the apps covered here, is our product. The method behind the app comparisons is a review of each vendor’s own documentation as checked on October 4, 2026. Dayflow details come from its published 2.2.0 documentation.
Pick one location and one format, and keep both for at least a month.
Plain text or Markdown is the safest choice. It opens in any editor, survives app switches, and can be searched in seconds. One file per month works well: long enough to scroll back through, short enough to stay fast.
Use the same headings every day so a scan takes seconds. The daily work log template gives you a ready layout to copy into your file or notes app.
Illustration: a single day in a Markdown file might look like this.
## 2026-10-05 Mon
Plan: ship invoice export fix, review Sam's PR
Done:
- 09:10-10:40 Fixed rounding bug in invoice export, PR #412 open
- 10:40-11:15 Standup + sprint planning, agreed to cut CSV import from v2
- 13:00-14:30 Reviewed Sam's PR, two change requests
Blocked: waiting on API key from finance
Tomorrow first: merge #412 after CI
Mistake to avoid: spreading the log across a notes app, Slack messages to yourself and sticky notes. If you have to assemble the log before you can read it, you won’t read it.
Write at natural breaks, not at the end of the day. A break is any point where your attention switches: a meeting ends, you finish a task, you go to lunch, you change projects, you close the laptop.
One line is enough. You are leaving a marker for later, not writing a report.
The reason is simple. At a break, the thing you just did is still in front of you, with the ticket number, the file name and the person you talked to. By evening, the morning has blurred into one item.
Illustration: you finish a call with a client. Before opening email, you type: “11:20 Call with Acme, they want launch moved to Nov 3, I owe them a revised timeline by Thu.” That takes a few seconds and captures a deadline you would otherwise have to hunt for.
Mistake to avoid: logging every few minutes. If the log interrupts the work, you will drop it within a week. Aim for a handful of entries a day, not dozens.
Each line should answer four questions: what changed, on what, roughly when, and where the evidence lives.
Activities like “worked on API” are easy to write and useless to read later. Outcomes like “fixed pagination on /orders, PR #418” tell future you what happened and where to look.
A good line has four parts:
Include work that produced nothing visible. That means dead-end investigations, a long debug that ended in “not our bug,” and slow code reviews. These are the hours that vanish from memory. They are also the ones you most need when someone asks why something took so long.
If you are unsure how good your sense of elapsed time is, try the time estimation test. It is a short exercise that compares your guess with a clock. It is not a diagnostic, just a quick way to see whether your time blocks need a clock’s help.
Illustration: compare “Research, meetings, emails” with “14:00-15:45 Traced checkout timeout to Redis config (not our code), filed INFRA-221.” The second line still makes sense in three months.
Mistake to avoid: writing to look busy. A log full of “meetings” and “emails” is just a list of verbs. If a meeting produced a decision, write down the decision.
Even with entries at each break, some hours slip through. Interruptions chain together, a quick question becomes an afternoon, and the log has a hole from 1 to 3.
You can fill holes by hand from records you already have: your calendar, sent mail, git commits and browser history. That is free and often enough.
The alternative is an app that keeps a record while you work, so you fill the gap from evidence instead of guessing. On a Mac, there are three distinct approaches.
Toggl (formerly Toggl Track) is built around manual and real-time timers, timesheets and calendar integrations. The vendor also lists automated background tracking and a timeline in the desktop app. It states that it does not take screenshots or record keystrokes. Data lives in the cloud and syncs across web, desktop and mobile.
The Free plan covers up to 3 users. Starter is $9 per user per month billed annually, or $12 billed monthly. See our Toggl for Mac comparison.
A timer only works if you remember to start it. That is the same habit problem as the log itself.
Timing records time automatically across apps, websites and documents on the Mac, down to specific URLs and Mail threads. It lists AI activity summaries and AI-powered suggestions for time entries. Tracked times stay on your Mac unless you opt into sync.
There is no free tier. Professional is $9 per month billed annually, or $11 billed monthly. There is a 30-day trial with no credit card required. More in our Timing comparison.
ActivityWatch is free and open source (MPL-2.0). It records the active app, the window title and whether you are away from the keyboard. Browser extensions add tab titles and URLs, and editor plugins add coding time. Data stays on your device.
ActivityWatch lists no AI summaries, so you read its charts and write the log lines yourself. See ActivityWatch vs Dayflow.
Dayflow records your screen at one frame every 10 seconds and has AI write the day into a readable timeline. It is free and MIT licensed, with an optional Pro plan at $20 a month. It runs on macOS 14 or later.
Recordings and the timeline are stored on your Mac. Analysis can run in three places:
The local and cloud processing page spells out what leaves your Mac in each mode.
You can export a date range as Markdown from Settings → Export and paste it into your log. The export work history workflow walks through it.
Illustration: at 5 p.m., your log jumps from “13:00 lunch” to “15:30 sent revised timeline to Acme.” The record for that window shows a spreadsheet, the Acme folder and a long doc session. That is enough to write: “13:45-15:20 rebuilt Acme launch timeline around new Nov 3 date.”
Mistake to avoid: pasting raw tracker output and calling it a log. “Google Chrome, 47 minutes” is evidence, not an entry. Turn it into what you actually did. Check AI summaries before you share them, because they can miss or misread work.
Spend five minutes before you stop. Read the day’s entries and fill any gap longer than about an hour. Then add three things:
The “tomorrow first” line does more than it looks like. The next morning starts with a decision already made, not with a scan of your inbox.
Illustration:
Mattered: #412 ready to merge, Acme timeline sent
Blocked: finance API key (asked Priya, follow up Wed)
Tomorrow first: merge #412, then start CSV import spike
Mistake to avoid: turning the review into a planning session or a verdict on your productivity. Fill the gaps, note what is next, close the file. If this regularly takes more than ten minutes, the format is too heavy.
On Friday, or whenever your team expects an update, read the week’s entries. Copy the outcome lines into a short summary with four parts: shipped, in progress, blocked and next week.
Because the daily lines already name outcomes and link evidence, this is editing, not remembering. The weekly status report template gives you a structure. The same daily lines can also feed your standup updates.
You may want a rough sense of how your week splits between meetings, focused work and everything else. The where does my week go calculator lets you compare your guess with what the log says.
Illustration: from five days of entries, you pull: “Shipped invoice rounding fix (#412). Sent Acme revised launch timeline for Nov 3. Blocked on finance API key since Mon. Next: CSV import spike.” Four lines, all traceable.
Mistake to avoid: writing the weekly report from memory and checking the log afterward. Start from the log. Otherwise the last two days and the most stressful task crowd out everything else.
| Approach | Effort | What you get | Cost |
|---|---|---|---|
| Manual (text file + template) | A line at each break, five minutes at day end | Exactly what you choose to write, with gaps where you forgot | $0 |
| Toggl (formerly Toggl Track), timer | Start and stop timers, or edit timesheets | Timed entries per project, cloud sync; billable rates on paid plans | Free for up to 3 users; Starter $9 per user per month billed annually or $12 billed monthly |
| Timing (automatic) | Review and assign recorded time | App, website, document and URL time on the Mac, plus AI activity summaries | No free tier; Professional $9 per month billed annually or $11 billed monthly; 30-day trial |
| ActivityWatch (automatic) | Install, read charts, write entries yourself | Active app, window title, away time, optional URLs, stored locally | Free, MPL-2.0 |
| Dayflow | Read and correct the AI timeline, export to your log | AI-written timeline from a screen frame every 10 seconds, Markdown export | $0 (MIT); optional Pro $20 a month |
Again, Dayflow is our product, so weigh our description accordingly. It is built for the “what did I actually do” half of a work log. It does not do invoicing, payroll, team reports or website blocking. The manual method in steps 1 to 6 works the same whether you use it or not.
A daily work log is a habit problem, not a software problem. Keep one file in one format, write a line at each break, describe outcomes instead of activities, and close each day with five minutes and a first task for tomorrow. On Friday, the weekly report mostly writes itself from those lines.
Software helps with one specific failure: the hours you forget. Toggl fits if you bill clients and will run timers. Timing fits if you want automatic, billable-ready records on a Mac and are fine with a subscription. ActivityWatch fits if you want a free, local, open-source record and will write the summaries yourself. Dayflow fits if you want AI to draft the day’s timeline for free and are comfortable with screen frames stored on your Mac.
If you are still choosing a time tracker for Mac, start with the daily work log template this week, see where the gaps show up, and pick a tool for those gaps.
Each entry should name the outcome, the thing it applies to, a rough start and end time, and a link or ID such as a ticket or document. At the end of the day, add what mattered most, anything blocked and who it waits on, and the first task for tomorrow. Leave out play-by-play detail you would never reread.
With the method in this guide, it takes a few seconds at each natural break plus about five minutes at the end of the day. If it regularly takes longer than ten minutes, the format is too detailed. Cut fields until the log is easy to keep on a bad day. A short log you keep beats a thorough one you abandon.
No. A timesheet records hours against projects, usually for billing or payroll. A work log records what you did and what came of it, in your own words. The two overlap when you add time blocks to log entries, and a good log makes a timesheet faster to fill. A timesheet alone rarely tells you what was achieved.
Yes, and it is often the best choice. A Markdown or text file opens in any editor, is easy to search, and does not depend on an app staying in business. Use one file per month, with a dated heading for each day and the same sections every time. The free Dayflow daily work log template gives you a layout to copy.
Not Dayflow, which has no invoicing, billing status or billable rates. Timing is a strong fit on a Mac. It has billing status tracking, report rounding and GrandTotal invoicing integration depending on plan, from $9 per month billed annually. Toggl (formerly Toggl Track) offers billable rates and team reports on paid plans, from $9 per user per month billed annually, and also runs on Windows and the web.
Yes. ActivityWatch is free and open source under MPL-2.0. It records your active app, window title and away time and stores them locally, though it lists no AI summaries. Dayflow is free and MIT licensed. It records the screen at one frame every 10 seconds and has AI write a timeline, with an optional Pro plan at $20 a month. With either one, you still need to check the result.
No. Dayflow runs only on macOS 14 or later. On Windows or Linux, ActivityWatch is a free, open-source option that records your active app and window title locally, and it also runs on Android. If you prefer a timer that syncs across devices, Toggl runs on the web, Windows, Mac, iOS and Android.
Share summaries, not the raw log. The daily file is a working document that can include half-formed notes and personal reminders. Pull the outcome lines into a weekly update or standup instead. That keeps the useful part and leaves out what does not need an audience. If you use an AI-written timeline, check it before sending, since summaries can miss or misread work.
AI can draft it, but you should edit the draft. Timing lists AI activity summaries, and Dayflow has AI write a timeline from screen frames that you can export as Markdown. Either gives you a record to work from. Neither knows why a task mattered or what was decided on a call, so add outcomes and decisions yourself and correct anything the summary got wrong.
Recordings and the timeline are stored on your Mac. With local AI through Ollama or LM Studio, screenshot analysis stays on-device. If you configure your own provider, selected screenshots go to that provider under its terms. With Dayflow Pro, Dayflow handles cloud analysis. Under its privacy policy, Pro deletes screenshots after processing and may retain activity data for sync.
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