Notion Masterclass: Build a Task Manager from Scratch
Based on Thomas Frank Explains's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.
Build an “All Tasks” master database first, then create all other workflows as linked database views filtered from that single source of truth.
Briefing
A full task-and-project management system can be built in Notion from a blank page by centering everything on one “master” database and then using linked database views, relations, and formula-driven properties to make tasks automatically route into the right workflows. The payoff is a Todoist/Asana-style experience—complete with inbox capture, due-date views, priority boards, project templates, and recurring tasks—without relying on separate apps.
The build starts with an “All Tasks” master database (named uniquely with “- scratch” to avoid confusion later). Core columns include a checkbox for completion (“done”), a due date (“do”), and formula columns that power task status and recurrence (“state,” “next do,” and “type”). Recurring behavior is driven by additional numeric and formula inputs such as “recur interval” and “recur interval days,” which determine when “next do” should be calculated. The database also includes select properties for Kanban workflow (“kanban state” with to-do/doing/done) and “priority” (medium/low/high), plus metadata like “created” and optional team fields like “assignee.”
To connect tasks to workstreams, the system adds relations: tasks relate to “projects,” and tasks relate to themselves to support subtasks. The self-relation is split into two properties—“subtasks” and “parent tasks”—so each subtask can point to its parent while the parent can aggregate many subtasks. An additional “inbox” checkbox acts as a routing flag: tasks created in the inbox view are forced to start there, and they disappear from the inbox once the checkbox is cleared.
Next comes the “Projects” database and a “project template.” Each project page contains a linked database view of “All Tasks” filtered to only show tasks whose “project” relation matches that specific project template. This is where linked views become powerful: filters act as forcing functions. When a new task is created inside a project’s linked view, Notion automatically assigns the correct project relation and sets default Kanban state and priority based on the top-most options in the forcing filters (e.g., to-do and medium). The project template also includes logic to hide completed tasks while still allowing recurring tasks to remain visible via date-based filtering.
The tutorial then builds a dashboard-like layer on top of the master database: a “Daily Tasks” scratch database with an “archive” checkbox and a “date” property. Forcing functions set new daily items to today and keep archived items out of active views. Linked views are created for “inbox,” “today,” “next seven days,” and “priority,” each with tailored filters and sorts. Priority uses a board view grouped by “kanban state,” while due-date views rely on “do” being on or before today/one week from now.
Finally, subtasks are handled by creating a “task with subtasks” template inside the master tasks database. A linked database view filtered to “parent task contains task with subtasks” ensures subtasks created from that template automatically attach to the right parent. The result is a reusable Notion system that can be spawned per project, supports recurring schedules, and keeps tasks organized through defaults and filters rather than manual re-entry—while still letting users customize views for personal or team workflows.
Cornell Notes
The system builds an “All Tasks” master database in Notion and then uses linked database views, relations, and formula columns to create a complete task manager. Recurring tasks are handled with formula-driven properties like “next do” and “type,” based on inputs such as “recur interval days.” Projects are managed through a separate “Projects” database plus a project template that contains a linked view of tasks filtered to that project, using forcing functions to auto-set Kanban state and priority for new tasks. An “inbox” checkbox routes new tasks into an inbox view until they’re cleared. Additional linked views create “today,” “next seven days,” and “priority” boards, while self-relations (“subtasks” and “parent tasks”) enable subtask templates.
Why does the build start with a single “All Tasks” master database instead of separate databases for inbox, projects, and due dates?
How are recurring tasks made to work without manually updating due dates?
What makes project templates “force” new tasks into the right defaults?
How does the inbox view behave like a capture queue?
How are subtasks modeled using Notion relations?
Why do the due-date views rely on “do is on or before today” rather than more complex date ranges?
Review Questions
- What properties and formulas are required in the “All Tasks” database to support recurring tasks, and how does “type” determine one-time vs recurring?
- How do forcing functions in a linked project view ensure new tasks automatically get the correct project relation, Kanban state, and priority?
- In the inbox workflow, what exact filter logic determines when a task appears in the inbox and when it disappears?
Key Points
- 1
Build an “All Tasks” master database first, then create all other workflows as linked database views filtered from that single source of truth.
- 2
Use formula columns (“state,” “next do,” and “type”) plus recurrence inputs (“recur interval” / “recur interval days”) to automate recurring schedules.
- 3
Model projects with a separate “Projects” database and a project template that contains a linked tasks view filtered to the project, using forcing functions for defaults.
- 4
Implement an inbox capture queue with an “inbox” checkbox property and forcing filters so new tasks start in the inbox and disappear when cleared.
- 5
Enable subtasks with a self-relation split into “subtasks” and “parent tasks,” then add a “task with subtasks” template to attach new subtasks to the right parent.
- 6
Create date-based views (“today,” “next seven days”) using “do” filters like “on or before today,” and use board views for priority-style organization.
- 7
Use additional scratch databases (e.g., “Daily Tasks”) with “archive” and “date” properties to maintain a lightweight daily checklist history.