Getting a Writer's Work Journal Running in Notion
I set up my first journal system for tracking writing sessions, scene drafts, and revision notes about three years ago. It started as a single database with properties for date, word count, project, and mood. Within two weeks I realized I was spending more time maintaining the database than actually writing, so I stripped half the properties away and let the remaining ones do the heavy lifting. The system that followed is the one I still use today, and it looks nothing like the polished templates you find online. Most people approach this the wrong way. They build databases first, then worry about what they actually want to capture. Start with a blank page and write down the questions you need to answer after each session: how many words, which scene, any blockers, what the next action is. Once you have those four questions, the structure writes itself.
Work Journal Notion For Writers
The core of this system is a single database called Journal Entries. Each row represents one writing session. Here are the properties that matter: Date — Date type, with a template button that auto-fills "today" so you're not manually entering anything. This alone saves you from breaking your streak because the entry is hard to create after 11pm when you're half asleep. Project — Relation property linking to a second database called Projects. This second database only needs a name and a status property. Nothing more. You do not need chapter databases nested inside unless your workflow demands it.
Session Length — Number property in minutes. Track this because you will underestimate how long a session takes by about forty percent consistently. Knowing the actual average helps you plan realistic writing blocks. Word Count — Number property. Simple. Do not add a separate "revised words" property unless you are doing a revision pass, which happens on different days. Blockers — Text property, multi-line. This is the most important property in the entire database. When you come back to a project two weeks later, your brain has forgotten why you stalled. A one-line note saying "protagonist motivation unclear in chapter seven" is worth more than any word count metric.
Status — Select property with options: Draft, Blocked, Completed, Archived. The Archived option is what keeps your dashboard clean. Mark a session Archived when you're done with it. Do not delete entries. Delete is the enemy of continuity. Below the Journal Entries database, I created a dashboard page that is just a set of filtered views. The view I check every morning is called Today's Session. It filters by Date equals Today. If the entry doesn't exist yet, I click the template button and type. If it does exist, I update the Blockers and Word Count fields and close the tab. The whole thing takes about ninety seconds. On good days that's all the maintenance this system requires. Here is a piece of advice that will not appear in any tutorial: do not connect the Journal Entry database to a task management system unless you are already managing tasks in Notion. When I linked my writing sessions to a separate project management board, I spent roughly twenty minutes per session deciding which checkbox to mark. That twenty minutes came directly out of writing time. The solution was to use a simple text field instead of a relation. Type the next action in the Blockers property and move on. You can always look it up later.
Get the Full Details

There is a specific edge case that broke my system for about three weeks. I was using a calendar view to track sessions across an entire month, and Notion started throwing query timeout errors whenever I tried to filter past July. The issue was that I had accidentally created a linked view of another database inside each journal entry page, and those links compounded the query load exponentially. The workaround was removing all embedded child databases from the entry pages and moving them to separate pages entirely. The journal entry pages should contain only the properties and text blocks relevant to that single session. Keep them flat. The Projects database deserves its own explanation because it is where most people build unnecessary complexity. I use three properties: Name, Status (Active, Paused, Completed), and Current Chapter. That is it. When a project reaches Completed status, I do not delete it. I archive the project and start a new one. Archiving preserves word count totals and historical data without cluttering the active dashboard. The dashboard filters for Active status only. One counter-intuitive thing about tracking sessions is that word count is a poor indicator of progress on its own. A hundred words can represent an hour of work if the scene was blocked. I added a second dashboard view called Output Quality that filters by Session Length greater than sixty minutes and sorts by Word Count descending. This view surfaces the sessions where real progress happened, separate from the sessions where I just kept typing to hit a number. The distinction matters more than people realize when reviewing monthly progress.
Templates are where this system becomes fast. I created two templates inside the Journal Entries database: one called "First Session" and one called "Continue Session." The First Session template pre-fills the Project relation with a dropdown of active projects, sets the Status to Draft, and includes a block quote asking "What is the goal of this session?" The Continue Session template does the same but adds a reference link to the previous session in the same project so I can read my own notes before starting. Both templates share a common footer block that says "End of session: what happened and what needs to happen next." This forces a two-line reflection at the end of every session, which is non-negotiable for the system to work long-term. Here is what this system does not do well. It will not help you write faster. It will not motivate you to write. It is a tracking layer, nothing more. If you skip sessions, the database fills with gaps that are annoying to look at but harmless to ignore. If you spend more than five minutes per session updating properties, the system has become too heavy for your workflow. The symptom is usually an over-engineered database with too many relations and rollups. Strip it back. The fewer properties you touch each day, the more likely you are to keep using it past the two-week mark. Another limitation: Notion's mobile app handles this journal poorly. The date picker is slow, the relation dropdowns are cramped, and the template buttons are nearly invisible on a phone screen. If you plan to log sessions from your phone, reduce the number of properties you need to fill in to three: Project, Word Count, Blockers. Everything else can wait until you're at a desk. I learned this after losing three weeks of entries because the mobile friction was too high to overcome consistently.
The dashboard also benefits from a simple filter I found works better than any automated summary: a view showing only sessions where Blockers is not empty, sorted by Date descending. This gives you a running list of every unresolved problem across all projects. When you feel stuck on a scene, you open this view and read the last ten entries. Half the time the solution was already written down but you had forgotten it. If you are already using a dedicated writing app like Scrivener or Ulysses, this Notion system is a supplement, not a replacement. The journal tracks what you did, not what you wrote. They serve different purposes. If you are starting from zero and want a single system to handle both planning and tracking, it can work, but you will need a separate outline database linked to the Projects database. That adds complexity that most writers do not need until their project reaches roughly fifty thousand words. The download link for a clean version of this system is straightforward. Open Notion and create a new database from a blank template, or duplicate a shared template if one is available from a reliable source. The essential structure is minimal enough that building it from scratch takes about twenty minutes, and building it yourself ensures you understand every property and filter when something goes wrong three months from now.
What happens after six months of consistent use is the real test. At that point you will have enough data to run weekly summaries using Notion's built-in formulas or a simple rollup. The rollup property on the Projects database can sum word counts and session lengths across all journal entries for that project. This replaces any manual spreadsheet work and gives you a clear picture of average output without needing third-party integrations. Set the rollup to calculate once per week. Do not set it to recalculate in real time. Real-time rollups slow down the database noticeably. I stopped using this journal for about four months during a non-writing period, then restarted it with a fresh database instead of trying to carry over old entries. That was the right call. Old entries from a different project phase clutter the dashboard and create false comparisons. Starting fresh with the same structure but a clean slate kept the system usable from day one again.
