What your completed Todoist tasks say about your day
Here is a real-looking row from a completed-tasks export, with names changed:
09:14 Reply to Mei re. timeline Project: Work / Q3 Launch
09:31 Triage inbox Project: Work
09:47 Order new headphones Project: Personal
11:02 Prep slides for 2pm review Project: Work / Q3 Launch
11:58 Pick up dry cleaning Project: Errands
14:48 Walk through retro action items Project: Work / Q3 Launch
17:21 Sign up for ceramics class Project: Personal / Try this year
18:40 Finish chapter 7 Project: Reading / Currently reading
Eight rows. One day. If you stare at it long enough, a fairly specific person comes into view: someone with a launch in motion, someone who clears email early, someone who treats personal items as legitimate to-dos rather than guilt items, someone who is trying ceramics this year. The data is doing real work. It is just doing it under a layer of formatting that makes it look like nothing.
This is the situation most Todoist users are in. There is a record of how they spent themselves yesterday, and there is a way to view it, and the gap between the two is wider than it should be.
Where Todoist actually keeps the record
Todoist’s completed-tasks data lives in three places, depending on how you reach for it.
The Activity log (top-right avatar menu) shows every action across your projects: completed, added, updated, rescheduled, deleted. You can filter by project and by event type. The free Beginner tier keeps the log for the most recent week; Pro and Business plans keep it indefinitely.
Inside an individual project, the “Show completed tasks” toggle reveals a strikethrough list of what you have closed there. Same retention rules: about a week on Free, full history on paid plans.
Through the API, each completed task is a structured object with around a dozen fields: name, description, project, section, labels, priority, the time it was added, the time it was completed, and whether it was a subtask of another task. This is the same data the in-app views are drawing from, exposed without the formatting.
The information is not scarce. The structure is not thin. What is missing is a reading surface.
What the list says when you read it as a profile
Treat last Tuesday’s completed list less as a checklist receipt and more as a small profile of who you were that day. A handful of patterns reliably surface.
The shape of your attention. Five completions inside one project before lunch suggest a focused block. Eight completions across four projects in the afternoon suggest a fragmented one. The completion timestamps are the closest thing you have to a heatmap of where your effort actually went, regardless of where you intended it to go.
Which categories were active and which were not. Most Todoist users keep projects like Work, Personal, Errands, Reading, Side project. The mix on a given day is a portrait. A day that is 90% Work tells one story. A day that is half Work and half Personal tells another. The absence of categories that usually appear (Reading hasn’t been touched in three weeks) is its own quieter signal.
What got rescued from the list. A task whose added and completed timestamps are far apart is something that lived on your list. Two weeks of dragging “book the dentist” forward, then a checkbox. The completed view is a record of every postponed thing that finally moved, which is its own kind of biography.
Priority versus reality. If you mark priorities consistently, the completed list shows the ratio of urgent-to-routine work you actually did. It is rarely the ratio you would have predicted before the day began.
This is real information about you. It is also information almost nobody extracts, because the interface does not group, summarize, or narrate. It just lists.
What patterns show up over weeks
Zoom out from one day to four weeks of completions and the profile sharpens.
You see which projects are doing the work of carrying your effort and which are nominally active but rarely touched. You see your weekly rhythm: maybe Mondays are heavy on planning tasks, Wednesdays on execution, Fridays on cleanup. You see the long-tail tasks that have been on your list for a month, that you keep rescheduling and never finish, and the contrasting cluster of tasks added and closed inside the same hour.
You also see when life shifted. The week your Move apartments project lit up. The month Side project quietly stopped appearing. The two weeks where Personal items disappeared because Work had eaten them. None of these patterns are surprising once they show up, but they are invisible until something puts them in front of you, because the day-to-day list is too short for trends to register and the all-time list is too long to read.
Todoist’s Productivity view tries to gesture at this with daily and weekly task counts, streaks, and the Karma score. It is useful in a narrow way. It is also a bar chart of completion volume, which is not the same thing as a portrait of how you spent your week. A 47-task week and a 12-task week produce two different bars, and neither bar says anything about whether the week mattered.
Why the in-app reading is shallow
This is not a flaw in Todoist. It is a scope decision, and an honest one.
Todoist set out to be a fast, dependable place to capture what needs to be done and check it off. The activity record exists primarily so that the team can audit the past in narrow ways: did this task happen, did it happen on time, did the sprint close. The product was never trying to be a diary or a behavioral mirror. The Activity log is built for verification, not for memory.
The reading surface a list of completed tasks actually wants is something else. It wants to group by project and time, weight tasks by category rather than count them equally, weave in the meeting that started a thread of completions and the messages that explained the urgent priority, and produce a paragraph instead of a vertical scroll. That is a different product. It does not belong inside Todoist, and Todoist correctly does not try to build it.
Reading the same list as a day
deariary takes the same completed-tasks data, through the same Todoist API, and reads it differently. Connect Todoist (a 30-second OAuth step) and the previous day’s completions get folded into a diary entry every morning, grouped by project and time, mixed with whatever else you have connected.
The eight-row table at the top of this post becomes something more like:
The morning was Q3 Launch work: you worked through Mei’s timeline reply, cleared the inbox, and prepped slides for the afternoon review. A few personal items slipped in around the edges, ordering headphones before the deep work block, picking up dry cleaning at lunch. After the 2pm review you walked through retro action items with the team. The evening turned personal: you signed up for the ceramics class you had been putting off, and finished chapter 7 of the book you have been carrying since June.
The data is identical. The reading surface is not.
If you want the field-by-field breakdown of what gets pulled, the Todoist integration deep-dive covers the schema. If your aim is mainly faster weekly reviews, the weekly review post walks through that workflow specifically. The point of this one is narrower: the completed-tasks list you already have is more legible than Todoist’s interface lets you see, and the missing step is the reading.
The list is already yours
A year of completed Todoist tasks is several thousand small decisions: things you chose, did, and closed. Inside that record is a fairly precise picture of how you spent yourself, which projects accumulated time, which categories quietly faded, which tasks lingered before they finally moved.
You do not need a different task manager to get at it. The data has been sitting in your account this whole time. What it needs is a reading surface that treats a day as a paragraph instead of a row count, so that next Tuesday’s eight checkmarks are not just eight more lines on a list that nobody re-reads.