This blog post series deconstructs my most popular Notion template: the Ultimate Freelancer Dashboard. This template has evolved significantly over the years, incorporating new Notion features. As a freelancer myself, I understand the struggles we all face and have found ways to address them in Notion.
In this post, we will explore how to build a task and project management system that lasts. We will also cover how to manage clients and meeting notes. And, as a bonus, we will look at creating and tracking business goals in Notion.
If you don’t want to spend time recreating the same system, I understand. It can be time-consuming, and you may prefer to focus on what you do best. In that case, here’s the link to purchase the template:
The controversy of task management
Task management may be the most controversial subject we’ll discuss in this post. Everyone has their own philosophy, some advocating for pen and paper only, while others use specific to-do apps. In our case, we’ll be using Notion. You could externalize task management to another tool, but if you’re managing your entire business from Notion, why not include tasks?
One of the advantages of managing tasks in Notion is that you can connect your Tasks database to your Projects and CRM databases. Having all these databases interconnected will save you a ton of time.
Building a task manager in Notion
A task management system essentially consists of several components that will become properties in our database:
- Task name (title)
- Deadline (date)
- Status (status)
Once you have the basics, you can add some additional features to enhance the system:
- A link to your Projects database (relation)
- Time spent on each task (number)
- An indication of lateness (formula)
Now that all the properties are set up, you can create different views that serve different purposes. In my Freelancer Dashboard template, you’ll find the following views:
- Ongoing tasks: filters tasks with a status of not “completed” or “archived”
- Per status: a Kanban view
- This week: filters tasks with a deadline for the current week
- Late: contains all overdue tasks
- Completed: filters tasks with a status of “completed”
- Archived: filters tasks with a status of “archived”
Building your projects database
As previously mentioned, the Tasks database needs to be linked to the Projects database. However, to establish this link, you first need to create a Projects database.
This database should contain all information related to each project. Here are the different properties that you should set up:
- Name (title)
- Timeframe (date): Unlike tasks, projects often have a start date and an end date.
- Client (relation): Each project can be associated with a client from the CRM database.
- Price (number or formula): This represents the project price that was billed to the client.
- Status (status)
- Time spent (rollup): This data is rolled up from the Tasks database.
- Add hours (number): Use this property to manually add hours that have not been counted in Tasks.
- Hourly rate (formula or number): If you work on a project basis, this is a formula that provides an indication of your hourly rate per project. However, if you work hourly, you can keep it as a number property and input your predefined hourly rate for this project (and then modify the price property to a formula that multiplies your total number of hours by your hourly rate).
- Tasks (relation): This property establishes the link between Tasks & Projects.
- Meeting notes (relation): Use this property to retrieve all meeting notes related to the project.
One of the great features of Notion is called “self-referential filtering.” Although it may sound intimidating at first, once you understand how it works, it can be a gamechanger when it comes to linked databases.
For instance, let’s say we have a Tasks database and a Projects database that are related to each other. Now, what if we want to retrieve all the tasks associated with any project? While the relation property allows us to see all the related tasks, it can quickly become overwhelming when dealing with a large number of tasks. We can use self-referential filtering to retrieve the same views we’ve built in the Tasks database, making it easier to manage.
Follow these steps to create the best project management system using self-referential filtering:
- Add a new database template to the Projects database and name it [new project].
- Add the first linked view of the Tasks database (ongoing) inside this template.
- Add all the other previously built views (per status, this week, late, etc.).
- For each of these views, filter the “Projects” property by your template name (in our case, [new project]).
- Finally, enable this template to be used by default.
The key step is to filter the “Projects” property by your template name. This will automatically filter the “Projects” property from the Tasks database by the newly created project. This is called self-referential filtering. It saves you from having to add the filter to all your views each time you add a new project to your database.
If you need a visual aid, watch this short video that shows you exactly how to do it: https://youtu.be/xTFfupEtwsQ
Managing Leads & Clients in Notion
Building a CRM database
If you’re a freelancer, chances are you have multiple clients and leads. A CRM is the perfect tool to manage them all and make sure you don’t forget anyone. Notion is a great option for this, as it has everything you need at a fraction of the cost of other CRM tools.
As with everything in Notion, your CRM should be a database. In this database, you’ll want to include a few indispensable properties:
- Client Name (title): Input the name of your point of contact (POC) instead of the name of the company.
- Company (text)
- Website (URL): Company website (if available)
- Email (email): POC’s email
- Phone (phone): POC’s phone number (if available/needed)
- Status (status): This is the most important property for managing clients/leads. It lets you know which step of your process a lead is in. The status options I use are “to contact,” “contacted,” “lead,” “client,” and “discarded.” You can use whichever options work best for your workflow.
- Last Contacted (date): Input the date of your last contact with any lead.
- Projects (relation): Useful for accessing all projects from any client.
- Meeting Notes (relation): Useful for accessing all meeting notes from any client. Since this database is linked to Projects, you can also see meeting notes per project.
- Invoices (relation): Useful for accessing all invoices from any client.
- Testimonials (relation): If you have a testimonials database, you can link it to the CRM database to retrieve testimonials from each client.
To achieve the same layout as shown in the screenshot above, go to each relation properties settings and select “Show as page section” under display. You can also opt to display additional information such as invoice status or meeting note date.
After using it for many years, I found the “Last contacted” property challenging to maintain. However, with Notion’s new database automations feature, you can now record the date of any change that happens to a status (or other properties).
Watch the video below to understand how to set it up: https://youtu.be/3WmELqKePtc
Meetings notes in Notion
If you run your business asynchronously, this feature may not be necessary, but most freelancers tend to have meetings with their leads and clients. Despite trying to avoid meetings during a project and using communication tools like Notion and Slack, calls are often necessary at the beginning and end of a project.
Forgetting what was discussed during a meeting can lead to misunderstandings and negative outcomes. Therefore, having a meeting notes database is essential. My database is simple: it’s linked to my CRM and Projects databases, there’s a “Last edited time” property, and I roll up some information from the CRM for quick access. I also added a status to note which notes need to be processed and which ones have already been processed.
I prefer using the gallery view in Notion because it displays the first few lines of page content, making it easier to find what I’m looking for quickly. Note that if there’s an image at the very beginning of the page, it will display that image instead.
Multiple views can be created, but I tend to stick with the Gallery view, a Kanban view grouped by status (to find unprocessed notes easily), and a per-client view.
Bonus: Tracking Business Goals in Notion
In the template, there’s a section for OKRs (Objectives & Key Results) to help you manage your goals and break them down into small tasks. It’s easy to set up for yourself.
If you need more detailed instructions, I have another post that explains the process of building it step-by-step.
This covers part 1 of building a Notion freelance template for yourself. We’ve covered project and task management, client management, and OKRs. Next week, we’ll see how to manage finances as a freelancer, create customizable invoices and proposals to send to clients, and manage all your products and/or services.
If you’re feeling discouraged by the process, don’t worry! You can download the template here.
Start now & create your Notion account🙃