YouTube video summary

Notion Masterclass: Build a Task Manager from Scratch

Thomas Frank Explains
17 min summary

Key points

  • The Notion task manager is built around a master tasks database that can power inbox, seven-day, priority, and project-specific linked views.
  • Tasks use properties for due date, next due, recurring interval, type, created time, created by, assignee, Kanban state, tags, priority, and inbox status.
  • A self-relation in the tasks database creates parent task and sub tasks fields so tasks can be organized hierarchically.
  • Recurring tasks are distinguished from one-time tasks with a formula that checks whether a recurrence interval exists, and the next due formula depends on that type field.
  • A separate projects database is linked to tasks so one task can belong to multiple projects and project templates can embed filtered task views.
  • Linked views act as forcing functions because filters can automatically assign properties like project, parent task, priority, or Kanban stage when new tasks are created.

System Setup and Master Database Creation

  • This tutorial provides instructions for building an advanced task and project management system in Notion from scratch, intended to serve as a replacement for applications like Todoist or Asana. 0s
  • A pre-built version of this system is available as a public template for users who prefer to use the tool immediately rather than building it themselves. 25s
  • The construction process begins by creating a new, blank page and setting the layout to full width to maximize workspace. 1m25s
  • Customizing the page with a cover image is recommended to improve the aesthetic quality of the template. 1m45s
  • The system relies on a master tasks database, which allows for the creation of various linked database views, such as an inbox, a seven-day view, or a priority view. 2m6s
  • A full-page table is created to serve as the master database, which is named "all tasks - scratch" to distinguish it from existing databases in the user's workspace. 2m25s
  • An icon is added to the master database to help identify it as an archive for all tasks. 2m55s

Defining Task Properties

  • The "Task" property serves as the primary identifier for each entry and functions as the page that allows for the creation of additional sub-pages. 3m15s
  • A checkbox property named "done" is created to manage one-time tasks, though it is noted that this method is not used for recurring tasks due to current limitations within Notion. 3m35s
  • A "state" property is initiated as a formula block to further categorize or manage task status. 3m55s
  • A "due" property is created as a date type, which serves as a fundamental component for the task manager 15s.
  • A "next due" property is established as a formula type to facilitate the recurring tasks function 25s.
  • A "recur interval in days" property is created as a number type to determine when the next due date should occur based on the initial due date 45s.
  • A "type" property is set up as a formula that displays "recurring" if the "recur interval" property contains a number, or "one time" if it does not 1m20s.
  • A "created" property is added using the "created time" type, and a "created by" property is added to track the user who generated the task 1m35s.
  • An "assignee" property can be included to allow tasks to be assigned to specific members of a workspace, enabling the creation of filtered views for team-based task management 1m55s.

Kanban and Categorization Properties

  • A "Kanban state" property is created using a "select" type, which restricts entries to a single option at a time, with the designated options being "to do," "doing," and "done" 2m35s.
  • The "to do," "doing," and "done" options are assigned specific colors, with "done" set to blue and "to do" set to green 2m50s.
  • A "task tags" property is created to allow for the categorization of tasks, which supports organizing projects by specific task types such as design, copy, speed, or security 3m0s.
  • The Kanban tag property is established as a select property, initially left blank to allow for the creation of project-specific tags on an as-needed basis 0s.
  • A priority property is created using a select format with three options: medium, low, and high 35s.
  • The priority options are assigned specific colors, with medium set as the first option to facilitate the use of filters as forcing functions, which automatically assign a default priority to new tasks 48s.

Relational Database Configuration

  • A self-referencing relation is created within the "all tasks" database to enable the linking of tasks to one another 1m25s.
  • The self-relation is configured to create two distinct properties: "sub tasks" and "parent task," allowing for a hierarchical structure where a parent task can be associated with multiple sub-tasks 1m55s.
  • A checkbox property named "inbox" is added to the database to support the creation of a filtered view that displays only tasks marked as inbox items 2m35s.
  • The inbox property is intended to be used with a filter that automatically checks the box for any new rows created within the inbox view 2m45s.

Formula Implementation and Logic

  • Tasks in the database should be assigned names to avoid having blank entries 0s.
  • Formulas for the "state," "next due," and "type" columns can be copied from the "Ultimate Tasks" template rather than being coded from scratch 15s.
  • A "change log" toggle at the bottom of the template provides access to a metadata page containing both compressed and expanded versions of the formulas 35s.
  • The expanded versions of the formulas are generated using an online tool that formats Notion formulas for easier study 50s.
  • The "state" formula uses a long nested "if" statement chain to determine the status color based on the due date: white for no date, green for today, red for yesterday, and blue for tomorrow 1m15s.
  • The master task database can be sorted by "done" status, with completed tasks moved to the bottom, and by "due" date in ascending order 1m45s.
  • The "type" formula identifies tasks as "recurring" if a recurrent interval is specified, otherwise defaulting to "one time" 2m25s.
  • The "next due" formula is the most complex of the three and relies on the "type" column to function correctly 2m45s.

Project Database and Template Design

  • A new "projects" database is created using an inline gallery table to establish a relation with the "all tasks" database 3m5s.
  • A template is created within the projects database to allow for the consistent generation of new project entries 3m20s.
  • A relation is established between the "all tasks" database and the newly created "projects" database 3m40s.
  • A relation to the projects database can be created within the tasks database, allowing a single task to be associated with multiple projects simultaneously 0s.
  • A project template can be established by selecting the arrow next to the "New" button within the projects database 24s.
  • An "archive" property can be added to the project template to help manage and hide old projects, preventing clutter within the database 36s.
  • Unnecessary properties, such as tags, can be removed from the project template to streamline the interface 52s.
  • A linked view of the tasks database can be embedded into the project template, allowing tasks to be displayed and managed directly within a project page 1m0s.

Forcing Functions and Filter Logic

  • Linked database views in Notion allow for unique sorting, filtering, and column configurations that do not affect the original master database or other linked instances 1m15s.
  • By applying a filter to a linked database view—such as setting the project relation to the current project template—Notion creates a "forcing function" 2m6s.
  • When a new task is created within a linked view that has a forcing function filter, the task automatically inherits the properties defined by that filter, such as the project association 2m20s.
  • Forcing functions can be utilized to automate the assignment of parent tasks, priorities, and Kanban stages for new entries 2m45s.
  • Additional filters can be implemented in the project template to manage task visibility, such as hiding completed tasks 3m5s.
  • Icons can be added to templates to provide visual distinction for different project pages 3m20s.
  • Forcing functions are used to automatically assign properties to new tasks, and while grouping these functions is not strictly necessary, it provides visual organization 0s.
  • When configuring a Kanban stage filter, setting the criteria to "is not empty" allows for the automation of task status 15s.
  • The order of items within the Kanban stage property determines the default status for new tasks; the top-most item becomes the default selection for any new row created 35s.
  • Board views do not need to match the order of the Kanban stage property, as the forcing function relies on the property's internal order rather than the visual layout of the board 1m5s.
  • Adding multiple forcing functions, such as priority, ensures that new tasks are automatically assigned specific values, such as "medium" priority, provided that value is at the top of the list 1m35s.
  • Filters can be used to hide completed tasks by creating groups and subgroups, which allows for the combination of "and" as well as "or" logic 2m15s.
  • A specific filter configuration is required to manage both one-time and recurring tasks, ensuring that one-time tasks disappear when marked as done or moved to a "done" column, while recurring tasks remain visible based on their date 2m45s.
  • The filter logic for hiding tasks involves checking that the "done" checkbox is not selected, the task type is not recurring, and the Kanban stage is not "done" 3m0s.

View Management and Customization

  • Notion currently lacks the ability to directly duplicate a view, which is a limitation when building out templates with multiple views 3m35s.
  • To create a board view in Notion, duplicate an existing table view, rename it, and change the view type to "Board" 0s.
  • The board view inherits the filter criteria of the original table view 15s.
  • By setting the "Group by" option to "Kanban stage," the board organizes tasks into columns such as "To Do," "Doing," and "Done" 22s.
  • Because of the established forcing function, new tasks created within the board will automatically be assigned a stage 32s.
  • Once the board view is established, the initial temporary view used to create it can be deleted 55s.
  • Sorting criteria can be applied to views to determine the order of rows, such as sorting by "Due" date in ascending order 1m5s.
  • When a new task is created within a filtered project template, it automatically inherits the project's default properties, including Kanban stage, priority, and project association 1m20s.
  • Users can customize which properties are visible in the database view and adjust the order and size of these columns to suit personal productivity needs 1m35s.
  • It is recommended to hide the relation property within a project-specific view, as the association is already implied by the context of the page 2m15s.
  • Project templates can be enhanced by adding call-out blocks for project overviews and toggle blocks for project details, allowing for research, notes, and task management to coexist on the same page 2m30s.

Project Template Maintenance

  • Tasks must be cleared from a project template before use to ensure that new project instances do not inherit pre-existing, unwanted task data. 0s
  • When a new project is generated from a template, Notion automatically associates new tasks created within that project instance to the specific project rather than the template itself. 35s

Daily Tasks Scratchpad Setup

  • A "daily tasks" database serves as a virtual scratchpad for jotting down quick tasks or planning daily activities without requiring the full detail of a primary database. 1m25s
  • To create a daily tasks section, an inline gallery database is added to the workspace. 1m55s
  • Because Notion does not natively support placing inline databases side-by-side, a workaround involves creating temporary header blocks, nesting the databases underneath them, and then deleting the headers to maintain the column layout. 2m15s
  • Visual settings for the database can be adjusted by changing the card size to small and setting the card preview to page cover. 2m45s
  • The daily tasks database requires specific properties, such as a date property and a tag property labeled "archive," to facilitate filtering and the removal of old notes. 3m15s
  • A forcing function is established for the task view by setting filter criteria where the archive property is unchecked and the date is on or before today, which automatically assigns the current date to new rows 0s.
  • Tasks can be created using the left bracket and right bracket syntax to generate to-do checkboxes, and time reminders can be added to tasks using the "@" symbol 25s.
  • Tasks disappear from the current view once the archive property is checked 48s.
  • A "daily tasks archive" page is created using a linked database to the "daily tasks scratch" database, sorted by date in descending order to maintain a history 55s.
  • An Unsplash cover photo featuring a library is added to the archive page for visual identification 1m25s.

Inbox and Task Management Views

  • To complete the task manager, additional views are required, including an inbox, a "today" view, a "next seven days" view, and a priority view 1m38s.
  • An "inbox" page is created using a linked database to "all tasks scratch," set to full width with an inbox icon 1m55s.
  • Forcing functions are applied to the inbox to ensure new tasks are automatically categorized and to allow for the removal of tasks once they are sorted into projects or assigned a date 2m15s.
  • The inbox utilizes an "inbox" checkbox property; when checked, the task appears in the inbox, and when unchecked, the task is removed from the view 2m45s.
  • Unnecessary properties such as assignee, created by, and Kanban states can be hidden from the view without disabling the underlying forcing functions that require those properties to be filled 3m15s.
  • The inbox view is organized with columns for inbox, state, done, task, do, type, projects, parent tasks, and recurring tasks to allow for efficient task management 0s.
  • Forcing functions are implemented by filtering the inbox view to include only items where the inbox is checked, the Kanban stage is not empty, and the priority is not empty 35s.
  • A double-nested filter system is used to clear tasks from the inbox, separating one-time tasks from recurring tasks 1m5s.
  • One-time tasks are filtered to exclude items where the "done" checkbox is marked or the Kanban stage is set to "done" 1m15s.
  • Tasks moved to the "done" stage in a Kanban view remain visible in that view, but they disappear from the table view once the "done" checkbox is manually checked 1m30s.
  • Recurring tasks are filtered based on their specific type designation 2m6s.
  • When a task is assigned a due date, the state property updates its color automatically: green for today, red for overdue (yesterday), and blue for future dates 2m15s.
  • Unchecking the inbox box removes the task from the inbox view 2m45s.
  • A separate linked database is created for daily tasks, filtered to show items where the archive is not checked and the date is on or before today 3m0s.
  • The daily tasks view is converted from a table to a gallery view with small card sizes 3m25s.
  • A column header trick is used to format the daily tasks view 3m45s.

Mobile Optimization and Advanced Filtering

  • Users can create multiple views of a database by duplicating an existing view and modifying its settings 0s.
  • A list view is recommended for mobile devices because it prevents the horizontal scrolling required by table views by squishing content into a vertical format 15s.
  • When configuring a list view for mobile, users should select only the most important properties and arrange them in a preferred order for better accessibility 35s.
  • A "Today" view can be created by duplicating an existing view and updating the filter to show tasks where the due date is on or before today, which captures both current and overdue items 1m15s.
  • Because these views are pages rather than simple database rows, they remain easily accessible via the Notion sidebar 1m45s.
  • Notion’s built-in date filters for "on or before" are limited to specific presets like today, one week from now, or one month from now, making it difficult to create custom ranges like a 14-day view without using advanced formulas 2m0s.
  • It is more efficient to establish a sort order, such as ascending by due date, before duplicating views to avoid having to manually apply the sort to every new page 2m30s.
  • When a new task is added to a filtered view, the database's forcing functions will automatically apply the relevant criteria, such as setting a default due date 3m0s.

Priority Views and Task Organization

  • Tasks can be assigned a due date, such as November 3rd, and associated with specific projects, which allows the task to appear within the corresponding project view 0s.
  • A priority view can be created by duplicating an existing view and changing the layout to a board view 1m15s.
  • The priority board view is organized by priority levels, and the "No priority" column can be hidden to ensure only tasks with assigned priorities are displayed 1m45s.
  • Creating a task within a specific column in a board view automatically assigns that task the corresponding priority level 2m15s.
  • Forcing functions, such as requiring a priority to be set, ensure that tasks created in table views are properly categorized, even if they are not created within a board view 2m0s.
  • The priority view can be customized by removing date-based filters, such as the "due on or before a week from now" filter, to allow for a broader view of all tasks 3m0s.

Subtask Management and Template Integration

  • Subtasks are managed using a self-referencing relation between the "task" and "parent task" properties within the master database 3m20s.
  • A subtask can be linked to a parent task by selecting the parent task in the subtask's "parent task" property or by selecting the subtask in the parent task's "sub tasks" property 3m40s.
  • A more efficient method for managing subtasks involves creating a template within the master database that utilizes a self-relation, similar to the structure used for project templates 4m15s.
  • A new task template titled "task with sub tasks" can be created by adding an emoji for visual recognition and setting the page to full width 0s.
  • To display subtasks within the template, a linked database to the main task list is created and filtered so that the "parent task" property contains the name of the template 15s.
  • The template can incorporate "forcing functions" and "done functions" to automatically clear items from specific areas and ensure that new subtasks are correctly related to the parent task 42s.
  • Because Notion does not currently support copying filters between linked databases, users must either recreate filters manually or duplicate an existing linked database that already contains the desired configuration 1m15s.
  • When duplicating an existing view to use as a template, the user must update the filters to remove unnecessary criteria, such as date filters, and ensure the parent task filter is correctly set to the new template name 2m6s.
  • Once the template is configured, it can be applied to any new row in the task database, allowing subtasks to be created and associated with the parent task automatically 2m35s.
  • Subtasks are visually identified in the database view by a small arrow icon 3m5s.
  • The interface can be further organized by using toggles to hide or group different views, and colors can be applied to these toggles to improve the visual presentation of the task manager 3m20s.

Resources and Community Feedback

  • The "Ultimate Tasks" template and other Notion resources are available for download on the website ThomasJFrank.com/templates 4s.
  • Available templates include the Ultimate Tasks and Projects template, an "Among Us" template, a note-taking template, and a video project tracker template 15s.
  • Future templates are currently in development for the platform 22s.
  • Feedback regarding template ideas can be submitted via YouTube comments or by tweeting to the handle @TomFrankly 25s.
  • Questions and feedback regarding the utility of the tutorial are encouraged 33s.
  • The tutorial was created in response to requests from individuals who wanted to understand the process of building a task manager from scratch 45s.
Free · no signup

Do this for your own videos and podcasts

You just got the key points without sitting through the whole thing. Paste a YouTube, Spotify, or Apple Podcasts link and get the same summary in under 30 seconds.

  • YouTube Videos
  • Spotify Podcasts
  • Apple Podcasts
Trusted by 700,000+ researchers, students, and professionals
FAQ

Questions this
video answers.

It is an advanced task and project management system built in Notion from scratch to replace apps like Todoist or Asana. The setup centers on a master tasks database, linked views for different workflows, and a separate projects database that connects tasks to projects.

See how Recall compares if you want a second brain without another database to maintain — start with our Notion alternative.

Browse all from Thomas Frank Explains →

Ready to get started?

Save, summarize and chat with your content.

GET STARTED
IT'S FREE

No credit card required · 30 Day Refund on Premium · 24 Hour Support

Recall web app on laptop, personal AI knowledge base for summarizing and chatting with your content