Build a Project Management System

Build a linked Projects and Tasks workspace in Notion with Kanban views.

Introduction

30 Second Summary

Every project starts as a big idea, but without a system to break it into smaller pieces, things slip through the cracks. Sticky notes get lost, mental to-do lists get forgotten, and deadlines sneak up on you.

In this project, you will build a complete project management system in Notion that tracks projects, breaks them into tasks, and shows your progress at a glance.

What You'll Build

A project management workspace in Notion with linked databases, Kanban boards, filtered views, and automatic progress tracking.

By the end of this project, you'll have:

  • A Projects database with status tracking, priority scores, and a progress bar that updates automatically as you complete tasks.
  • A Tasks database linked to your projects with assignees, due dates, and priority levels for deciding what to work on next.
  • Multiple views of the same data including a Kanban board for workflow tracking and a filtered list for your personal tasks.
  • Secret Mission: Add a Sprint database to organize tasks into time-boxed iterations.

Are there any prerequisites?

None at all. This project uses Notion's free web app, so there is nothing to install. You will create a free Notion account as part of the first step.

Set Up Your Notion Workspace

Before you can build a project management system, you need a workspace to build it in.

In this step, you will create a free Notion account, explore the interface, and set up a dedicated page to house your entire system.

In this step, get ready to:
  • Sign up for a free Notion account.
  • Navigate the Notion interface and understand how pages work.
  • Create a top-level "Project Management" page in your sidebar.
Sign up for a free Notion account

Notion is a web-based productivity tool that lets you build databases, wikis, and project boards all in one workspace. The free plan gives you unlimited pages and blocks, which is everything you need for this project.

  • Open your browser and go to notion.com.
  • Click the sign-up button on the homepage.
  • Sign up using your email address, Google account, or Apple account.
  • Follow the prompts to create your workspace. Notion will ask you a few questions about how you plan to use it. Select options that feel right for you.

What is a workspace?

A workspace is your top-level container in Notion. Everything you create (pages, databases, notes) lives inside it. Think of it like a folder that holds your entire digital office.

✔️ I see my Notion workspace

You are in your new workspace. You should see a sidebar on the left and a blank or starter page in the main area. You are ready to move on.

ⓧ I'm stuck on the sign-up page

  • Make sure you are using a valid email address that is not already associated with another Notion account.
  • Check your email inbox (and spam folder) for a verification link from Notion.
  • Try a different sign-up method (Google or Apple) if email verification is not arriving.
Navigate the Notion interface

Notion's interface is split into two main areas. Understanding them now saves confusion later when you start building databases.

  • Look at the left side of your screen. This is the sidebar. It is your navigation system where all your pages and databases appear.
  • Look at the right side of your screen. This is the editor. It is the blank canvas where you write content and build databases.
  • In the sidebar, find the Private section. Pages you create here are visible only to you.

What are the sidebar sections?

Your sidebar organizes pages into sections. The Private section holds pages only you can see. Shared holds pages you have shared with other people. Favorites shows pages you have starred for quick access.

For this project, you will work in the Private section since you are building a personal system.

Create your Project Management page

You need a single top-level page to hold your entire project management system. This page will act as a container for the databases you build in upcoming steps.

  • In the sidebar, find the Private section.
  • Click the + icon that appears next to Private when you hover over it.
  • A new blank page opens in the editor. Click into the title area at the top of the page.
  • Type Project Management as the page title.
  • Press Enter to confirm the title. Leave the page body empty for now.

Why a top-level page?

Notion lets you nest pages inside other pages, creating a hierarchy. By making "Project Management" a top-level page in your sidebar, you keep it easy to find. All the databases you build next will live inside this page as sub-pages.

Confirm your new page appears in the sidebar under Private. You should see "Project Management" listed there.

Don't see your page in the sidebar?

  • Make sure you clicked the + next to Private specifically. If you used the pencil icon at the top of the sidebar, the page may have been created but not yet placed under Private.
  • Click the Private section name to expand it if it appears collapsed.
  • If the page was created somewhere else, drag it into the Private section.

help me find my page in the Notion sidebar

Your workspace is ready and your Project Management page is waiting for content. Next up, you will build your first database to track projects.

Build Your Projects Database

Your Project Management page is ready. Now you need a structured place to track all your projects.

A database in Notion is more than a simple list. Each entry is its own page with properties that describe it, like status, priority, and deadlines. In this step, you will build a Projects database with the fields a real project manager would use.

In this step, get ready to:
  • Create a Projects database with tracking properties.
  • Add a Board view for visual status tracking.
  • Add a sample project to test the system.
Create your Projects database

Every project management system starts with a place to store projects. You will create a database and add properties that capture the key information for each project: its status, who owns it, how important it is, and when it starts and ends.

  • Open the Project Management page you created in the previous step.
  • Click anywhere on the empty page body and type /database.
  • Select Database - Full page from the dropdown that appears.
  • Notion creates a new database with a default Table view. Click the title at the top and rename it to Projects.

What is a Notion database?

A Notion database is a structured collection of pages. Each row is its own page, and each column is a property that gives that page context. Think of it like a spreadsheet where every row can also hold rich content inside.

Your database starts with a default Name column. Now you will add the remaining properties one by one.

  • Click the + button to the right of the last column header to add a new property.
  • Name it Status and select Select as the property type.
  • Notion prompts you to add options. Type Planning and press Enter.
  • Repeat for Active, On Hold, Completed, and Archived. Press Enter after each one.
  • Click outside the property editor to close it.

Now add the Owner property so you can assign projects to people.

  • Click + again to add another property.
  • Name it Owner and select Person as the type.

Next, add the Priority property to mark how important each project is.

  • Click + to add a new property.
  • Name it Priority and select Select as the type.
  • Add three options: High, Medium, and Low. Press Enter after each.

Add two date properties to track the project timeline.

  • Click + to add a new property.
  • Name it Start Date and select Date as the type.
  • Click + once more to add another property.
  • Name it Due Date and select Date as the type.

Finally, add a text property for project descriptions.

  • Click + to add a new property.
  • Name it Description and select Text as the type.

Your Projects database now has seven properties: Name, Status, Owner, Priority, Start Date, Due Date, and Description.

Don't see all your columns?

Scroll horizontally in the table to reveal columns that extend beyond the screen. If a property is missing, click + to add it again.

help me check if my Projects database properties are set up correctly

Add a Board view grouped by Status

A table is great for seeing all details at once, but a Kanban board gives you a visual way to see which stage each project is in. You will add a Board view that groups projects into columns by their Status.

  • In your Projects database, click the + button next to your current view name in the top-left area of the database.
  • Select Board from the layout options.
  • Notion creates a Board view and automatically groups it by a select property. Confirm it is grouped by Status by checking the column headers. You should see columns for each of your status options (Planning, Active, On Hold, Completed, Archived).

Why use a Board view?

Board views turn your database into a Kanban board. Each column represents a status, and you can drag project cards between columns as their status changes. This is the same workflow used in tools like Jira, Linear, and Trello.

The same data powers both views. Changing a card's column in the Board view automatically updates its Status property in the Table view.

Board is grouped by a different property?

If the board columns do not match your Status options, open the settings menu at the top of the database and select Group. Choose Status as the property to group by.

help me fix my Board view grouping in Notion

Add a sample project entry

An empty database is hard to learn from. Adding a real sample project lets you see how properties work together and confirms everything is set up correctly.

  • Switch back to your Table view by clicking the view name tab at the top-left of the database.
  • Click in the first row under the Name column and type Launch Personal Website.
  • Click the Status cell for this row and select Active.
  • Click the Owner cell and select your own name from the dropdown.
  • Click the Priority cell and select High.
  • Click the Start Date cell. In the date picker, select today's date.
  • Click the Due Date cell. In the date picker, select a date two weeks from today.
  • Click the Description cell and type Build and launch a personal portfolio website.

Now switch to your Board view to verify your sample project appears in the correct column.

  • Click the Board view tab at the top of the database.
  • Confirm you can see a card labelled Launch Personal Website in the Active column.

What should I see?

Your Board view should show five columns (Planning, Active, On Hold, Completed, Archived). The Active column contains one card: Launch Personal Website. The other columns are empty for now.

Your Projects database is ready with structured properties and a visual Board view. Next up, you will build a Tasks database and link it to your projects so you can break each project into actionable work items.

Build Your Tasks Database and Link It to Projects

Your Projects database is set up and has a sample project ready to go. Now you need a way to break that project down into individual, actionable tasks.

In this step, you will create a Tasks database that tracks each piece of work separately. Then you will connect it to your Projects database so that tasks roll up into project-level progress automatically.

In this step, get ready to:
  • Create a Tasks database with properties for status, assignee, due date, priority, and task type.
  • Link your Tasks and Projects databases with a Relation property.
  • Add a Rollup property that calculates project completion percentage automatically.
Create the Tasks database

Each project is made up of smaller pieces of work. A separate Tasks database lets you track individual assignments, priorities, and deadlines independently from the project itself.

  • Navigate back to your Project Management page in the sidebar.
  • Click below the Projects database to place your cursor in an empty area of the page.
  • Type /database and select Database - Full page from the menu that appears.
  • Title the new database Tasks.

Why a full-page database?

Full-page databases give you room to work with multiple views and properties without feeling cramped. You will add Board and filtered views to this database in the next step, so having it as a full page keeps things clean.

Now add the properties that give each task its context. You will add six properties total.

  • Click the + button to the right of the last column header to add a new property.
  • Name it Status and choose Select as the property type.
  • Add these options one by one: To Do, In Progress, In Review, Done, Blocked.
  • Add another property. Name it Assignee and choose Person as the type.
  • Add another property. Name it Due Date and choose Date as the type.
  • Add another property. Name it Priority and choose Select as the type.
  • Add these options: P0, P1, P2, P3.
  • Add one more property. Name it Task Type and choose Multi-select as the type.
  • Add these options: Feature, Bug, Research, Design.

What do these properties do?

Status tracks where a task is in your workflow. Priority uses the P0-P3 scale common on engineering teams, where P0 is the most urgent and P3 is nice-to-have.

Task Type is a multi-select because a single task can be both a Feature and a Design task at the same time. This helps you filter by category later.

Your Tasks database should now show columns for Task Name, Status, Assignee, Due Date, Priority, and Task Type.

Don't see all your properties?

Make sure you are in the Table view (the default). If a column is missing, click the + at the far right of the header row and check whether you accidentally named a property twice or missed one.

help me find my missing database properties in Notion

Link Tasks to Projects with a Relation property

Right now your Tasks and Projects databases live on the same page but have no connection to each other. A Relation property links items across databases so every task knows which project it belongs to.

  • In your Tasks database, click the + button to add a new property.
  • Name it Project and choose Relation as the property type.
  • In the configuration panel, search for and select the Projects database.
  • Toggle on Show on Projects to make this a two-way relation.
  • Name the corresponding property Tasks so it shows up clearly in your Projects database.
  • Click Add relation to confirm.

What is a two-way relation?

By default, relations are one-way. Toggling on Show on Projects creates a corresponding column in both databases. When you link a task to a project, that project automatically shows the linked task too.

You should now see a Project column in your Tasks database. Navigate to your Projects database and confirm you also see a new Tasks column there.

Don't see the Tasks column in Projects?

Make sure you toggled on Show on Projects before clicking Add relation. If you missed it, click on the Project property header in your Tasks database, select Edit property, and toggle the option on from there.

help me set up a two-way relation between my Tasks and Projects databases in Notion

Now add a Rollup property to your Projects database. This will automatically calculate what percentage of linked tasks are marked as Done.

  • Navigate to your Projects database (click it in the sidebar or use the back button).
  • Click the + button to add a new property.
  • Name it Progress and choose Rollup as the property type.
  • In the configuration panel, set the Relation dropdown to Tasks (the relation you just created).
  • Set the Property dropdown to Status.
  • Set the Calculate dropdown to Percent not empty. This shows the percentage of related tasks that have a Status value assigned.

How does the Progress rollup work?

A Rollup aggregates data from related items. In this case, it looks at all tasks linked to a project and calculates what percentage have a Status value filled in. Once you populate your tasks and mark some as Done, you will be able to track how much of the project has been addressed.

For a more precise progress calculation that counts only tasks with Status equal to Done, you can upgrade to a Formula property later. For now, this rollup gives you a quick sense of overall completion.

The Progress column will show 0% right now because you have not added any tasks yet. You will fix that next.

Populate your Tasks database with sample tasks

An empty database does not teach you much. Adding realistic tasks shows how the system works end-to-end, from individual task status all the way up to project progress.

  • Navigate back to your Tasks database.
  • Click New to create your first task.
  • Name it Choose domain name.
  • Set Status to Done, Priority to P1, and Task Type to Research.
  • In the Project column, click the cell and select Launch Personal Website from the list.
  • Set the Assignee to yourself and pick a due date in the past (since this task is done).

Repeat this process to create four more tasks. Use different statuses and priorities to make the system realistic.

  • Create Design homepage layout with Status In Progress, Priority P0, and Task Type Design.
  • Create Write About page content with Status To Do, Priority P2, and Task Type Feature.
  • Create Set up hosting with Status Blocked, Priority P1, and Task Type Feature.
  • Create Test on mobile with Status To Do, Priority P3, and Task Type Feature.
  • Link every task to Launch Personal Website in the Project column.
  • Assign yourself to each task and set due dates spread across the next two weeks.

Why vary the statuses?

In a real project, tasks are always at different stages. Having a mix of Done, In Progress, To Do, and Blocked tasks gives you a realistic view when you create Board and filtered views in the next step.

Navigate back to your Projects database. Your Launch Personal Website entry should now show a Progress value (since all five tasks have a Status assigned, it will display 100%).

Track only Done tasks with a formula

The Percent not empty rollup counts any task with a Status value. If you want progress to reflect only tasks marked Done, you can replace the rollup with a Formula property later. For now, having all statuses filled gives you a working progress indicator.

Progress still showing 0%?

Open any task and check that the Project field actually links to Launch Personal Website. If you forgot to link them, the rollup has nothing to calculate.

help me fix my Rollup progress bar in Notion

Your databases are now connected and tracking progress automatically. Next up, you will create different views of this data so you can see your tasks organized by status, by project, and filtered to just your own work.

Create Useful Views for Day-to-Day Work

Your Tasks database contains all the raw information you need. But scrolling through a flat table of tasks every morning is not a practical way to manage your work.

Different moments call for different perspectives on the same data. A morning standup needs a status board. Deep work time needs a personal task list. A project check-in needs a per-project breakdown. In this step, you'll create three views that each serve one of these needs.

In this step, get ready to:
  • Create a Kanban Board view grouped by task status.
  • Create a filtered "My Tasks" view for personal focus.
  • Create a "By Project" view for project-level task breakdowns.
Create a Board view grouped by status

A Kanban board shows tasks as cards arranged in columns by status. It gives you a visual snapshot of work flowing from left to right.

  • Open your Tasks database inside the Project Management page.
  • Click the + button next to your existing view tab at the top of the database.
  • Select Board from the menu that appears.
  • Name this view Kanban Board by clicking on the view's tab name and typing the new name.

Your tasks should now appear as cards in columns corresponding to your Status options: To Do, In Progress, In Review, Done, and Blocked.

What is a Kanban board?

A Kanban board organizes work into columns that represent stages of progress. You move cards from left to right as work advances. It originated in manufacturing but is now the standard way software teams track tasks in tools like Jira, Linear, and Trello.

The power of this layout is that you can see bottlenecks at a glance. If the "In Review" column is overflowing, you know the team needs to focus on reviews before starting new work.

Don't see columns for every status?

Notion only shows columns that have at least one task in them by default. If a column like "Blocked" is missing, drag a task card into that status or add a task with that status to make the column appear.

Also check that the board is grouped by the Status property. Open the settings menu at the top of the database, look for Group, and confirm it is set to Status.

help me set up my Kanban Board view in Notion

Create a filtered "My Tasks" view

When you sit down to work, you don't need to see everyone's tasks. A filtered view lets you focus only on what's assigned to you, sorted by what matters most.

  • Click the + button next to your existing views at the top of the Tasks database.
  • Select List from the menu.
  • Name this view My Tasks.
  • Open the settings menu at the top of the database.
  • Select Filter under View settings.
  • Choose the Assignee property and set it to match yourself (your Notion account name).
  • Click Save for everyone so the filter persists on this view.

Now add sorting to surface the most important tasks first.

  • Open the settings menu again and select Sort under View settings.
  • Add a sort on the Priority property in ascending order (so P0 appears first).
  • Add a second sort on Due Date in ascending order (earliest deadlines first).
  • Click Save for everyone to persist the sort.

Why sort by Priority then Due Date?

When you add multiple sorts, the first sort takes precedence. Tasks are first ordered by priority level (P0 at the top, P3 at the bottom). Within each priority group, tasks are then ordered by due date so the most urgent deadline surfaces first.

This gives you a clear answer every morning: "What should I work on next?"

Assign yourself to tasks first

If your "My Tasks" view looks empty, make sure you've assigned yourself to some tasks. Open a few tasks and set the Assignee property to your own name. The filter only shows tasks where Assignee matches you.

Create a "By Project" view grouped by project

When checking in on project progress, you need to see how many tasks remain for each project. Grouping tasks by their linked project gives you this breakdown instantly.

  • Click the + button next to your existing views at the top of the Tasks database.
  • Select List from the menu.
  • Name this view By Project.
  • Open the settings menu at the top of the database.
  • Look for Group in the settings and select it.
  • Choose the Project relation property as the grouping field.

Your tasks now appear grouped under their linked project name. You should see all your "Launch Personal Website" tasks listed together under that heading.

Why is this useful?

As you add more projects to your system, this view automatically separates tasks by project. You can quickly scan how much work remains for each one without switching between individual project pages.

In a professional setting, this is the view a project manager opens during a weekly sync to report on progress across all active projects.

Tasks not grouping correctly?

Make sure the Group setting is using the Project relation property, not another property like Status or Priority. If your tasks show up under "No Project", go back and check that each task has a linked project in its Project relation field.

help me group my Notion tasks by their linked project

You now have three purpose-built views that show the same task data in completely different ways. Next up, you'll put the whole system to the test by walking through a realistic workflow.

Test Your System with a Real Workflow

Your databases are built, your views are configured, and your sample tasks are ready. Now it's time to put the whole system through a real workflow and confirm everything connects end-to-end.

A project management system only proves its value when you can move tasks through stages and watch project-level progress update automatically. In this step, you'll simulate the daily rhythm of a working team.

In this step, get ready to:
  • Move a task through the full Kanban workflow and watch the progress rollup update.
  • Add a new task mid-workflow to simulate a scope change.
  • Confirm project-level status reflects the work being done at the task level.
Move a task through the Kanban workflow

The core loop of any project management system is moving tasks through status columns as work progresses. You'll drag a task from start to finish and confirm the system tracks that progress automatically.

  • Open your Tasks database and switch to the Kanban Board view using the view tabs at the top.
  • Find a task that is currently in the To Do column (for example, "Choose domain name").
  • Drag that task card from the To Do column into the In Progress column.
  • Now drag that same task from In Progress into the Done column.

What is happening behind the scenes?

When you drag a card between columns, Notion updates that task's Status property automatically. The Board view is just a visual representation of the underlying database property.

Because your Projects database has a Progress rollup that calculates the percentage of linked tasks with Status equal to "Done", moving a task to Done increases that percentage immediately.

  • Navigate to your Projects database by clicking it in the sidebar or going back to your Project Management page.
  • Open the Launch Personal Website project entry.
  • Look at the Progress property. You should see it displaying a percentage greater than 0%, reflecting the task you just marked as Done.

Progress shows as a bar

If your Progress rollup is configured to show as a percentage, Notion displays it as a filled progress bar. The bar fills proportionally as more tasks reach "Done" status.

Progress still showing 0%?

Make sure the task you moved to Done has the Project relation property set to "Launch Personal Website". If the task is not linked to the project, the rollup cannot count it.

Also confirm your rollup is calculating the percentage of tasks where Status equals "Done". Open the Progress property settings to double-check the filter condition.

help me figure out why my Progress rollup isn't updating

Add a new task mid-workflow

In real projects, new tasks appear constantly. Requirements change, bugs surface, and new ideas emerge. Your system needs to handle scope changes gracefully.

  • Go back to your Tasks database and switch to the Kanban Board view.
  • Click the + New button at the bottom of the To Do column to create a new task.
  • Name it Add contact form to homepage.
  • Open the new task and set the Priority property to P1.
  • Set the Assignee to yourself.
  • Set the Project relation to Launch Personal Website.
  • Set the Task Type to Feature.

Why simulate a scope change?

On real teams, the backlog is never static. New tasks get added mid-sprint, priorities shift, and the system has to accommodate changes without breaking existing workflows.

By adding a task now, you confirm that new work immediately appears in all your views (Kanban Board, My Tasks, By Project) without any manual syncing.

  • Switch to your My Tasks view and confirm the new task appears in your filtered list.
  • Switch to the By Project view and confirm the new task appears grouped under "Launch Personal Website".
Confirm project status from the Board view

The final check is to zoom out and see your project from a high level. The Projects Board view shows whether the work happening at the task level is reflected at the project level.

  • Navigate to your Projects database.
  • Switch to the Board view using the view tabs at the top of the database.
  • Find your Launch Personal Website card in the Active column.
  • Confirm that the card shows a progress indicator reflecting completed tasks.

What should I see?

Your "Launch Personal Website" project card should sit in the Active column with its Progress rollup visible. The percentage should reflect the ratio of Done tasks to total tasks (for example, if you have 6 tasks and 1 is Done, you would see roughly 16-17%).

You have now validated your system end-to-end. Tasks flow through statuses, new work integrates seamlessly, and project progress updates automatically.

Secret mission

Add Sprint Planning

Your project management system tracks projects and tasks, but how do you decide what to work on THIS week? Build a Sprints database to organize your tasks into time-boxed iterations, just like professional engineering teams do.

Clean Up Your Resources

Clean Up Your Resources

Decide whether to keep your resources running, pause them to come back later, or delete them entirely. This project runs entirely in Notion on the free plan, so there are no ongoing costs.

Resources you used:

  • Notion account (free plan).
  • Project Management page (contains Projects and Tasks databases).
  • Sample project data (tasks, views, and database entries).

Keep everything running

No action needed. Choose this if you plan to keep using this project management system for real projects or want to extend it further.

  • Your Notion workspace and all pages stay exactly as they are.
  • The free plan has no time limits or ongoing costs for individual workspaces.
  • You can continue adding projects, tasks, and views at any time.

Pause - I'll come back to this later

Since Notion is a web app with no running processes, there is nothing to pause. Your workspace stays available whenever you return.

  • Your pages and databases persist indefinitely on the free plan.
  • When you are ready to come back, log in at notion.com and everything will be where you left it.

Delete - I don't want to use this again

Remove all project resources and your account entirely. This is permanent.

  • Delete the Project Management page by hovering over it in your left sidebar, clicking the ••• icon, and selecting Delete.
  • This moves the page and all its sub-pages (Projects database, Tasks database, and all sample data) to Trash at the bottom of your sidebar. Items in Trash are permanently deleted after 30 days.
  • To delete your Notion account entirely, click Settings in your sidebar.
  • Click your name, then select Delete my account.
  • Enter your account email to confirm, then click Permanently delete account and workspaces.

Nice Work!

Nice Work!

You just built a professional-grade project management system from scratch in Notion. This is the same structure teams use at startups and enterprises to ship products on time.

Here's what you accomplished:

  • Built a Projects database with status tracking, priority scoring, and automatic progress calculation via rollups.
  • Built a linked Tasks database with a Kanban workflow, assignees, due dates, and priority levels.
  • Created multiple views (Board, filtered list, grouped by project) to see the same data from different angles for different workflows.
  • Secret Mission: Added sprint planning to organize work into time-boxed iterations.

The mental models you practiced here transfer directly to any project management tool. Whether you end up using Jira, Linear, or Asana in a team setting, you now understand how databases, relations, views, and prioritization work under the hood.

Ready to quiz yourself?