How to Manage Complex Projects in Notion

I’m kind of embarrassed to admit, I used to manage projects like this in Notion. Over-complicated task list up top, random bits of important information spread out throughout the entire page and a very inefficient way to use checklists here at the bottom. Pretty sure if Thomas Frank saw this, he’d have a stroke. 

In this blog, I’ll show you how I turn this hot mess into this well organized beast. Using three very simple Notion features. I’ll go through the specific example and share the templates so you can follow along. Let’s get started. All right, the example professional ecommerce seo experts go through today is for planning a trip. Since that’s something we can all relate to but I’ll also show legit projects for work and life. So you can see that this workflow applies to everything. 

All My Trip Milestones

The trip template and a more generic project template down below. So check this out. This is what I call level one. I can see all my trips in this table view here. And if I click into a trip, command enter to enter full screen, this is what I call level two. Where I can see all my trip milestones and all the tasks associated with those milestones. 

Clicking into a milestone and this is level three. I see only tasks attached to this specific milestone here on the right, and adding a task here, automatically links this task to this specific milestone. Don’t worry, it’s actually simpler than it seems. I promise, I’ll explain everything. Huh? I said the same thing to my ex. Just kidding. Just, just kidding. 

Useful Links Which Includes Information

Going back to level one, I have useful links here that includes information that is relevant to all my trips. For example, ideas on places to visit. I also have the trips database as a page here to remind myself. The table view here on the right originates from this database. You’ll see why this is important in a little bit. Clicking into the marketing training trip, command enter full screen. 

I’m now on level two and the useful links on the left now only include information relevant to this specific trip as opposed to all trips, for example, what I need to pack. And now there are two separate databases. The first is a milestones database that corresponds to this top view and the task database that corresponds to this bottom view. 

What The Hell Are Milestones

Each milestone represents the end result after a group of tasks are completed. For example, in order for me to travel internationally, I need to first prepare all my travel documents. Which involves renewing my passport, booking appointments online, submitting information online and printing out confirmation emails in the office. And only after all these tasks are completed, can I mark this milestone as done. 

Now, the problem is, it doesn’t make much sense to only see the tasks after clicking into the milestone page. And that’s why I have the task view on the same page as the milestones. Better yet, I usually actually have the task list up top here. 

First Notion Feature Is Relations

Whoa. So it’s the first thing I see when I click in. The first Notion feature we need to talk about now is called relations. If I click on this property with the arrow icon here in the task database, at a property you’ll see that this is a relation type property. It is related to the milestones database. And I also have chosen to show the task database in the milestones database here. If that sounded confusing, here’s a drawing. 

All this feature does is connect two databases together through a property, which makes perfect sense here because we need to complete one or more tasks for each milestone. Once that’s set up, you can now attach a task to a milestone in this property. For example, colleagues and friends to see, this task right now it’s empty and you can see for personal tasks in Hong Kong, this is also currently empty. 

Select Personal Tasks In Hong Kong

If I click in and I select personal tasks in Hong Kong and click out, you can see this is also reflected in the milestones database. Now, the second thing we wanna do is to show the number of remaining tasks per milestone. So if you click into the undone trip tasks property in the milestones database, you’ll see that this is a roll up type property. And if we click edit property, we’re simply rolling up the relation we created in step one. 

The property we want to pull from the task database is simply the done or not check box. And we wanna calculate the number of unchecked boxes. So the number of undone tasks, and we click out. Step three, since the number by itself, isn’t very meaningful. We can now add a formula type property. I already did it, but if you just click in and click edit property and edit formula, you can simply copy what I have on screen right now. 

Property Name And Property Table

Just be careful to make sure you have the property name here and here. Add it correctly to correspond with your property title and click done. Now you can see the number of tasks left in a very user friendly way. At this point, I have to give a huge shout out to Thomas Frank. Since I learned all this from his Notion Database Blog, that covers everything from beginner to advanced tips. 

Now onto the last step, remember at the beginning of the blog where I showed you each milestone had a list of tasks attached to that specific milestone, and I can add a task directly from here. We’re gonna do that now, on level two, if you click the dropdown menu under the milestones database you already have a milestones template but let’s create one together. 

New Template And Milestones Template

New template, milestones template, new and command enter full screen, full with header three, useful links, and let’s make this yellow and then another header, tasks and make this green. All right, so let’s shift this to the right and push this over a little bit. So the task has a little bit more space. Move this under useful links and under task, let’s forward slash, table view here and I’m gonna select my trip tasks database, select the existing view we have. 

I’m just gonna clean this up in layout. Make sure the columns are not wrapped before proceeding to filters. The filter we’re gonna create is called a self-referential filter. Sounds fancy. Don’t worry about it too much for now, just follow along. Filter, we’re gonna select the relation we created back in step one and then we’re gonna select the milestones template new, the template we’re creating right now. Sounds weird, right? 

Date Ascending As A Default

Don’t worry about it too much. And then now you’re gonna click back and for sort we’re just gonna simply select, due date ascending as a default sort style. And then we can exit back to the main milestones page. To see what we just did, click the personal tasks in Hong Kong milestone and select the milestones template we just created and you’ll see the command enter full screen. 

Also Read: These 3 SEO Mistakes will Cripple your Traffic

The corresponding task appears automatically here and I can even add a personal HK task directly in this view. So everything is now interconnected. That’s pretty cool. To wrap this trip example up, before and during the trip, whenever I realize I have to do something, I come into this trip dashboard view, add a task, catch up with Jerry in New York City, select a due date for this and attach it to a milestone, like so. 

A Huge Benefit To This Setup Is Relevant Information

Pro tip, a huge benefit to this setup is relevant information is only surfaced when you need it. For example, in my catch up with Jerry New York city task, I remind myself, he’s staying in the Midtown area, I have to bring his present to lunch. I have to lock down a time slot on both of our calendars. If you watch my simple productivity system blog, you know that the best practice is to organize information by where it will be used. 

To prove this methodology works for more than just trip planning. Here’s how I’m managing my website project,, check it out. Information relevant to the entire website here on the left. For example, meeting notes I take, when working with freelancers and the databases on the bottom left, that correspond to the task and milestone views on the right. 

My Generic Project Template 

If you end up using my generic project template, you notice that under project database, I’ve already created a template for you, but you’ll also notice that the relations and roll up properties are missing because something weird happens to the naming when you make a duplicate in Notion. But honestly speaking, that shouldn’t affect you if you’ve been following along with this blog. 

Using another one of my projects as an example, project number one, you want to immediately change the names of the milestone and task databases, whenever you start a new project, because you don’t want to accidentally link project A’s milestone database with project B’s task database. And project number two, you can use the breadcrumb feature, for example, forward slash breadcrumb, to quickly navigate between the views. If you found this helpful, you might enjoy a blog on how I plan my week in Notion.