Transcripts
1. Intro: Hi, I'm Christa. I'm a certified
notion expert and system designer with a backhand software
development background. For the past five years, I've been building custom
setups and templates for people who want their tools to actually work for them, and I've helped thousands learn
to use notion in a clear, simple way with the help
of my educational content. This class is for
anyone who wants to understand where
their time goes, whether you're
tracking your own work or your whole teams. We'll build a convenient and thoughtful time
tracking system in notion with timers, buttons, dashboards, and smart formulas that
do the math for you. Within the class, you can either build everything from scratch or extend your existing
task management system with time tracking capabilities. You will be able to log
your sessions and see how much time every
task and project takes, and you will see
your time tracking analytics by month by
person, by project. And you won't have to figure
anything out on your own. We'll go step by step and you will have access to companion document
with all the formulas that we use in the class. Okay. Now let's take a look at the project that we are
going to build together.
2. Project Demo: So what is the system that
we are going to build here? By the end of this class, you'll have your own time
tracking system in notion. It will include
databases for sessions, tasks and projects
all connected, and you can also use your existing task and project databases if
you already have them. Buttons to start and
stop timers with the ability to return to the
same task multiple times. A way to see the total time spent on each task and project, as well as how much time
each person has contributed. Dashboard showing where your
time has been going over the past weeks and months with options for both free and
paid notion accounts. And since this is a
system for real people, we'll add a
convenient way to log forgotten sessions and college the ones you forgot to stop. You'll be able to follow the whole class with a
free notion account. It only gives access to one
chart, but don't worry. In this class, we'll
not only set up charts, but also alternative views to visualize the same
data without them. You can use the system by yourself or adapt
it for your team. If you want to extend your existing task
management system with time tracking capabilities instead of building the whole
project from scratch, just apply all the changes
to your existing tasks and projects databases
instead of creating new ones. To make things easier, I've prepared a page with all the formulas that
we're using in this class. So you don't have
to post the video and re type everything. You can just find a formula
by the number that you will see on the screen
every time we add a new formula and just
copy and paste it. After finishing this class, you're not only getting the ready to use time
tracking system, but you will also know how everything is working inside it. And this is the most valuable
because it will give you the freedom to change and to adopt the system for
yourself in the future, especially considering
that in this class, we're going to practice with every notion lock that
is essential for build smart, useful and
helpful systems. Okay, so time to start.
3. Time Log Setup: All right. This is our very
first practical lesson. Most likely, you've already
used notion for a while, since time tracking isn't exactly the first reason
people come to it. I'm guessing you already
have some kind of system for managing
tasks and projects, and now you just want to
add a time tracking module. If that's not the
case, no worries. In the next lesson,
we'll sketch out a basic setup for managing
tasks and projects in notion. But if you've worked
in notion before, then you probably know its most powerful feature is databases. That's
where we'll start. We're going to create
a database to track work sessions or anything else you need time tracking for. So let's create a new blank page and call it time tracking. This is where all the setup for this master
class will happen. Next, let's add a database. To do that, I type a slash, then table and choose TableView. You'll see it marked
as a database. Let's name it time log. Now that it's created, we can start editing
the columns. But first, I'll make
the page full width. Click the three dots in the top right corner
and choose full width. That gives us more room to work. Each session we track
needs a start time. So I add a date column name it start and change
the format to month, day, year, or whatever
format you prefer. Then I duplicate that
column and rename it end. This way, I don't have to change the format
settings again. Let's create a
quick sample entry, just to have something
to work with. Now I'll add another column. This time, formula. This formula will calculate how much time passed
between start and end. Formulas in notion are
incredibly powerful. They let you do some
really amazing things. Personally, I love them. But since this master
class isn't about learning formulas in depth,
I'll keep it simple. Some formulas, I'll
write from scratch, others, I'll just paste in. You already have access
to the formulas document. And every time I use one, I'll show you its
number on the screen. So you can quickly
copy and paste it. All right, let's
write the formula. We want to calculate
the number of minutes between end and start. Notion has a built in
function called date between. We give it end first, then start, and we set
the unit to minutes. Let's save the formula. Perfect. We can now see how
long this session lasted. And when I change the
dates, the result updates. Next, let's add
another formula to show the same value in hours, we'll name this column spent
hours to calculate it, I'll take the value from spent minutes and
divide it by 60. Save and set it to show
two decimal places. Nice. Now we can track time
both in minutes and in hours. Let's add a couple more columns. I'll create select property
and call it status. We'll use it to mark each
session as active or completed. I'll set completed to gray, so active stands out more. Sure, we could see if is filled in to know
if it's finished, but a status property
makes it faster to spot which ones are active
and which are done. I also want to add a way to indicate who worked
on this session. If you're going to
use this system for personal tracking, you
might not need that. But if you're part of
a team, obviously, you need to know who
logged the time, though you definitely want
to add a person property. I'll limit it to one person. Although if you're tracking
things like group meetings, you might want to
allow more than one. And with that, our
time log database is ready to connect with a
task and project system. This isn't the final version. We'll improve it later
in the master class, but this gives us the
essential structure to track how much time is spent
on each task or project. Right now, I don't have a task and project system
set up on this page. Of course, I have one in
my personal workspace, but for the sake of
this master class, I'll build a simplified version, and we'll do that
in the next lesson. If you already have your own
linked tasks and projects, feel free to skip ahead.
4. Tasks & Projects Setup: All right, tasks and projects. Now we're going to create
the simplest databases, one for tasks and
one for projects. We'll link them together, and in the upcoming lessons, we'll be working with
the structure and building everything related
to time tracking inside it. The process is very similar
to what we did before. Below the time log table, I'm creating another table view. I'm naming it tasks. Later I'll move things around. But for now, all the databases will live on a single page. Before we move on, I want to
mention one small nuance. If you can't place a
table under the time log, that most likely means you created your first
database a different way. What do I mean by that? Well, there are several ways
to add a database in notion. The one I use with
the slash command adds the database as a block, which means you
end up with a page and inside it block
that is a database. In notion, everything
is a block. Text is a block, a
bullet point is a block, and yes, a database
is also a block, but notion also allows you to expand a database to
take up the entire page. That means each database can become a full
page on its own. And if you use the
prompt at the bottom, you probably transformed the
entire page into a database. And in that case, yes, you can't place
anything underneath it. So if that's what
happened to you, here's what I recommend. Create a new page, move your
database inside that page. And then select the turn into inline database
adoption from the menu, expand the page
width, and that's it. You'll end up with the
exact same structure as if you had added the database
as a block from the start. Now, let's go back
to the task setup. What do we do here?
We rename name to task and let's add
some basic properties. The ones that most tasks usually
have due date, A person. Of course, this one is
optional if you are using the system for
personal planning only, and let's also add a status. Now we do the same for projects. Create a new database,
tableview again. Let's name this one projects. We'll need the project
title a status. Something like planned, active, or completed, and let's head managed by that is
the person responsible. Now, let's connect
the projects database to the tasks database. To do that, we add a new
column of type relation, and we choose which
database to link it to. In our case, tasks. Let's make it a two
way relation so that we can not only see the tasks
from within the project, but also know which project
each task belongs to. We renamed this property to project And what do we have now? We have tasks and we have projects and we can link
them to each other. If you're not sure how
relations work yet, I really encourage
you to explore it deeper because this is what
makes notions so powerful, this ability to
structure your data into databases and
then connect them. So how does it work in practice? Now that we've connected
the two databases, let's create a project,
my new project. Now, when I create tasks, I can link each task
to this new project. Here in this dropdown, all of your projects
will be visible. Let's say I've got
task one and task two. I can now see their relations
inside each record. I open a task and I immediately see which
project it belongs to. But that's not all later on, and we'll do this together. This relation will let
you show a filtered table inside the project page with only the tasks related to
that specific project. And the best part,
you don't need to create a separate table.
For every project. All the tasks will come from
your central tasks database. We'll stop here for now
and in the next lesson, we'll connect time tracking
to our tasks and projects.
5. Time Summary: This lesson, we're
going to link our time log database to the task
and project system, and we'll set up
a way to display how much time was spent
working on each one. To make it a little more fun, I've already filled the tasks and projects with
some test data. Now, let's connect them
to our tracking system. So what do we do first? We had a column of type relation in the time log database. And link it to the
tasks database. This will connect
our work session logs to specific tasks. I'll name this column task, since each session will most
likely belong to one task. Let's also enable the
two way relation. So the time log is visible inside the tasks
database as well. Perfect. Now, in
the tasks database, I see a list of all
the time log entries related to each task, and in the time log, I can choose which task
a session belongs to. Before we go further, I'll quickly add a few test entries. So we have something
to calculate and display. That looks better. The log isn't empty anymore. I'll also make it a little more compact by disabling the
wrap column setting, which was breaking long names into multiple lines,
and let's keep going. Now that we have a connection between the tasks
and the time log, we can calculate how much
time was spent on each task. That's what we're
going to do next. Let's also make this
table a bit more compact. Now I'll add a new
column of type formula, and I'll call it spent minutes. In this formula, we'll take all the related time
log entries and use the amazing map function to
pull the time values from each log and sum them all up. So now, not only do we store the duration
in the time log, but we also see the total time spent directly in
the task itself. If you've linked several
sessions to one task, the formula will show the
total time across all of them. The map function is
really powerful. I won't go too deep
into how it works here, but it lets you grab data
from connected records. So anytime you have a
relation in notion, you can use map to pull
something from the other side. Inside the parenthesis,
you use the magic word current and then select the field you want from
the related database. For example, if I
remove the sum, I'll see not the total, but a list of values like how many sessions are linked
and how long each one took. Sometimes that kind of
info is useful too. You can filter the data, extract unique values, or build more advanced
combinations. In short, map is the core behind many powerful and informative
formulas in notion. It lets you surface
summarized information without having to open every
single project to task card. Let's go back to
work now and add another column showing
time spent in hours. So I create another
formula column, name it spent hours. And here I could do
the calculations. Either based on the time log records or simply
dividing by 60, the time stored in
spent minutes column. I'll set it to show
two decimal places. And now we see how many
hours were spent on a task. Next, we'll add the
same calculation to the project's database. Let's tidy it up a bit first. Then I add a new formula column. For projects, it probably doesn't make sense
to count minutes. We'll just count hours. We'll take the related tasks, use the map function again. And pull the spent hours value. We just calculate it for
each task and sum it up. Quick note, you don't need to type these formulas by hand. If you miss a dot, a quote, or a bracket, it
just won't work. That's why each time we use a formula in
the master class, you'll see a formula
number on screen. You can look it up in
the formulas document, copy it and paste it
into your database. I'll also configure it to
show two decimal places. And now we can see how much time has been spent on each project. Now, let's add one more formula. This one I won't
write from scratch. I'll copy it because it's a bit more complex and
takes up a few lines. This formula will
format the time spent into a more
readable format. I've copied the formula, and now I'm pasting it
into the tasks database. Important, when you
paste the formula, make sure the reference to
your column turns gray. That means notion recognized it. If that doesn't happen, sometimes notion can
detect a column, or maybe a column has a
slightly different name. Let's take a look at that case. Say the column has
a different name. I paste the formula,
and what do I see? Just the name as text. That means notion
didn't recognize it. In that case, delete that part, leave just two commas and click on the correct
column manually. Now it works. If you
rename the column later, notion will automatically
update the formula. It knows which one you meant. And what does this formula do? It formats the total hours into a more human readable form. You can't even define
what counts as a day. For example, eight work
hours instead of 24. So if you worked on a task for 16 hours, you'll see two days. Let's now add the same kind
of formula to projects. Quick thing to note,
we don't yet have a column for spent
minutes and projects. So before we paste the formula,
we need to create that. I go to the project's database, create a formula column, spent minutes And I calculate it by taking all related tasks using map and summing the
minutes for each task. Now I can add the same
formatted time formula we used in the tasks database. Great. It recognized the column, and now we see total time and hours spent
for each project. And by the way,
if you don't like the orange color
used in the formula, you can change it
to blue or black. Just replace the
color in the formula. And update it
wherever it's used. Now that we have
this formula ready, why not also add it
to the time log? After all, we already have
spent minutes column there. It will be helpful later when we display logs as cards so we can quickly see how long session lasted in a human
readable format. Right now, it
doesn't look great. It's just a block of raw data. All the columns are next to
each other and it's messy. But that's fine for now. At this stage, we are just
building the back end, the raw structure of our system. Later on, we'll make
everything look nice. We'll build a
custom dashboard to track time beautifully,
so don't worry. I'll look much better soon. And in the next lesson, we'll add functionality
to start and stop work sessions
with a single click.
6. Timer Controls: Basic structure of
the system is ready. Now it's time to make it more convenient and
visually appealing. In this lesson, we'll focus
on improving usability and adding mechanisms to start and stop sessions
with a single click. At this point, we already
have a database where we can log work sessions
or other activities, including start and end times, additional information
and connections to tasks. But doing all of
this manually is, of course, not very convenient. Information we need to
enter is often contextual. We can extract it from
the current situation. When we begin working
on something, we want that exact moment to be saved into the start column. The same goes for the end. Usually the task already
exists in notion. We're just starting
to work on it. So ideally, that task should automatically appear in the
sessions task relation. And of course, the
person field should contain the person who
created the session. Why not populate
that automatically? This is a perfect use
case for adding buttons. Buttons are one of the most
powerful tools in notion. They stand alongside
databases and relations as
essential components. If you want to
confidently use notion, you need to understand
how buttons work. Now we'll add the first
button to our system. Buttons in notion can
be edited in two ways, either as a standalone block or as a column inside a database. We'll use both approaches, but let's start with a
standalone button block. Let's add it to the
top of the page. Type ash to bring up the list of available blocks,
then type button. The button is created. Let's name it start the timer. We'll change the icon to
something more appropriate. Now we configure the
buttons behavior. We wanted to create
a new entry in the time log database and pre fill all the fields
that we already know. To do this, we select the
second option at page two and then choose
the Tog database. Et's give it a
name work session. What can we prefill? The start time, we choose
the time triggered option. This means that the
moment you click the button will be saved
in the start field. Then we set the status to activ and select the person as the one who
clicked the button. What fields are left
empty. But that's fine. The session just
started. Also the task. That's totally reasonable. Notion doesn't know which task you're working on when
you click the button. Later we'll create
a smart button that links the session
to the correct task. But this standalone
button created as a separate block is useful in cases where
there's no task yet, or you need to start
quickly and link it later. So we filled in everything we could and we leave the
task and end empty. Let's test how the button works. Click Start the timer. A new session is created. Awesome. What else can we add? Well, if you start
a new session, you probably want the previous
one to automatically stop. Although from
experience, it varies. Some people prefer to
stop sessions manually. But if you do want
sessions to auto end, let's add another step, and it needs to run before
the new session is added. So now we'll add this step
and move it to the top. This step we edit
existing sessions. We choose the third
option, Edit page in. Let's drag this step to the top. Now, we select where
we want to edit pages in the time log database. Currently, the filter
is not configured, so it would try to
edit all records. We need to narrow it down to
only edit the ones we want. Which sessions are we targeting? The ones created by us and
still marked as active, meaning they haven't
been completed yet. Set the person to me,
add another condition. Make sure it says and and
choose status equals active. Thanks to this filter,
the button will only update entries that
meet these conditions. Usually, it will be
just one record. What do we do with it? We said then time to the
moment the button was clicked and update the
status to complete it. Let's test the button. I already have one active session.
Let's give it a name. I click Start the timer. Everything works as expected. The previous session was closed and a new
one was created. Now, at the end of the day, you'll probably
want a button that stops your session without
starting a new one. So let's add another
button that simply stops all your active sessions. We can cheat a little here. Just duplicate the
button we just created and remove
the second step, the one that adds a new session. We leave only the step
edits existing sessions. Let's rename the button
to stop the timer. We'll pick a more fitting
emoji, maybe a square. It could also be something
like a pause symbol. Let's test this one too. I click Stop the timer, the session is ended. Great. Let's start
organizing our dashboard. Move the time log block to the
right side of the buttons. Let's add a heading,
something like actions. Let's change it to the
largest available size. Under this section title, you can add a divider. Just type three hyphens in a row or choose
the divider block. For now, let's reduce the
column widths in the time log, so we can see more
of the table data. Later we'll remove this table
view from here entirely, but I'm keeping it for now
so we can easily watch how the records change when we press the buttons we're
working on in this lesson. Now we'll add a button that
not only creates a session, but also links it
to a specific task. This is exactly what buttons inside the tasks
database are good for. So notion can
understand the context. Let's add a new column
of type button. Name it, start the timer. The button
configuration interface looks exactly like it did
in the standalone block, and we're doing the same steps. First, we want to stop any existing session
that we started earlier. So we choose edit pages in and pick the
time log database. Again, we set the filter. Set person equals me, and status equals active. Check that the logic operator says and the filter
is configured. Now we set the end time and
status equals completed. Next, we create a new session, choose at page two and select
the time log database. Start equals time of click. Person equals who clicked. Status equals active and now we can dynamically
link the task. Used the special variable. This page, it will be replaced based on which task you
clicked the button on. We can also pull the
title from the task, so the session has the
same title as the task. To do that, choose Edit as
formula, select this page, type a dot to access
the list of properties, and find the one that
stores the task title. Mine is stored in
the task column. Yours might be different. Save and save again.
Let's test it. I'll freeze the title column
so we can see it better. Now I choose the task
update homepage layout, and click Start the timer. A new session was created with the name Update Homepage layout. The start is set, the
status is correct. The person is me, and
it's linked to the task. Perfect. Everything works. Let's check if the
previous session ends upon starting a new timer. I'll start Fix footer links. Update Homepage layout
is now completed, and Fixed footer
links is active. Let's move on we already have a standalone button
called stop the timer. Now the question
is, should we add the same button for
individual tasks? Technically, we can do that, but in my systems, I usually don't add it.
The reason is simple. Due to notions
current limitations, this button can be
configured to stop only the sessions related to
the task you're clicking on. No matter which task you
click, stop the timer on, all of your active
sessions will be stopped. That creates confusion. It's not the kind of intuitive behavior users would expect. Still, I'll show you how
such a button would behave by temporarily adding it
to the tasks database. You don't need to follow along, I'll delete it afterward. So I create a new button
called Stop the timer, and what do we want
this button to do? We want it to edit pages
in the time log database. We set the filter as usual, status is active
and person is me. And I would love to be able to dynamically filter by task too. Remember how we used this page reference when configuring the
start timer button. Well, here that option
isn't available. Not for filters is probably a technical
limitation of notion. We can only use a
static task reference, which doesn't work for us. So we leave the filter with
just status and person, and we set the end time and update the status
to complete it. Now, here's the issue.
Let's say I have an active session linked to
the task, fix footer links. If I click Stop the timer on this task, everything's fine. But if I click Stop the timer on some other task like
update homepage layout, that session still gets stopped. So again, this behavior
isn't intuitive. Let's launch a new timer now. And when we go back to
the time log database, we can see that even
with just a few entries, the active session already
gets lost in the list. That's not convenient. Let's
make this better by creating a dedicated space where we can see just our
active session, not in a table,
but in card view. And now we'll unlock another
bit of notion magic. The ability to show
database content in different parts
of your workspace. We'll add a view of our
time log somewhere else, specifically showing
only the active session. To do that, we use the linked
view of database block. I type slash Link and choose
Linked view of database. I select our time log database. Now it appears here too. Notice the little arrow
next to the database title. That's how you know
this is a linked view. The original database doesn't have that arrow.
This is important. If I delete the
original database, I delete everything inside it. Let's undo that. But if I delete the linked view,
nothing bad happens. That's why later, we'll store all the original databases
in a separate place that we never touch
and we'll build our dashboards using
only linked views. Another way to
create linked view is to just copy an existing one. Right click Copy Link to view, paste it, and select linked
database view. Same result. Now let's configure this view. First, I want to change the
layout from table to gallery. Then I turn off card preview. Since my session
entries don't contain images or text that
needs previewing, I also reduce the
card size to small. Next, I go to properties and make sure the status
is visible on the card. Right now, we're seeing
all the sessions. This is the same
information we see in the main table
displayed as cards, the start and other
columns are hidden here. We only see the name and status. All the other information is still available inside the card. So let's go to the
filter settings. We want to see only entries
where status is active. Let's take it one step further. Transform the filter
into advanced and add a second
condition. Person is me. Now we're showing only
our active session. Let's rename the view
to something like active or current timer. And above the block, I'll add a section header called timer. With a divider underneath. Also, let's hide
the database title. We can always show it again
from the view settings. One tip, when the
database name is hidden, it's harder to tell if
you're working with a linked view or the
original database. That's why I recommend
keeping originals somewhere safe and always building
with linked views. Another way to check, if
it's the original database, you'll only see the layout
option in the settings. If it's a linked view, you'll see source as well, meaning you can switch to another source database anytime. Now, I suggest adding the stop the timer button directly
to the card as well. Here on the main dashboard, this button might
not be that useful because you can achieve the
same thing with the button. We already added to
the list of actions. However, if your list of
actions becomes longer, it might actually be easier
to simply glance at the card. You don't even need to open it and click the button
directly on the card. Later, this button will
come in handy when we add a sessions table inside individual tasks, but
that's for later. For now, let's just add
this button to the card. As before, we can edit in the main database by
creating a new column. You can also do this directly
from the record page. Just open any record
and click Add property. Choose button and name
it stop the timer. This time the
behavior is simple. We just want to
edit this session. So we choose edit
property, and inside that, we update the end time to now
and status to complete it. Make the button
visible. Let's test it. Works perfectly. The session
is now marked as completed. Let's start a new timer you'll see the new session immediately appear in
the active section. But now I want to see how much time has passed
since this session started. Let's make the necessary
column visible on the card. This is the time spent column, but as you can see,
nothing has changed. That means this column is currently empty.
Let's open the card. Yes, it's indeed empty, it's empty because it
depends on another property, spent minutes, and that
property is also empty. Why is it empty? Because we don't have the end
time for the session. Only the start time. So we can't calculate how many minutes have
passed between the two. Now I'll change the formula in a way that if the end
time hasn't been set, the time will be calculated from the start time up
to the current moment. If you copied the
ready made formula, you probably already
have this change. But if you were writing it
manually by following me, you'll need to update how
the formula works now. So what are we going to
do? Here's the logic. If end is empty, Use now. Otherwise, use end. So this whole
construction consists of three parts before
the question mark, between the question mark and the colon and after the colon. The first part is the condition. If it's true, then we go into this part and skip the other. If the condition is false, meaning the enti is not empty, then we ignore this part and execute the part
after the colon. Basically, it's the
equivalent of an I function just in a
more compact form. Save the formula,
and now we see that 3 minutes have passed
since this session began. This value is also shown
directly on the card. We might move the time spent
field a bit higher you can even hide the status
field because everything in this view is by
definition active. One final thing to know this timer value doesn't
auto update in real time. You'll see the new value
after refreshing the page. So if you've been working in another tab for an
hour and come back, it will still say 3
minutes until you refresh. That's how notions
formulas work. And just like that, starting and stopping timers has
become much easier. In the next lesson, we'll go inside task and project cards, display sessions
there, and explore another powerful property
type. The roll up.
7. Task Page Customization: A new lesson. In this one, we'll configure how sessions are displayed inside task pages, inside project pages, and
how other properties appear. We'll also slightly adjust how tasks and projects
are structured and explore how notion allows us to customize
the layout of a page. We'll start with tasks, and I'll demonstrate everything
using the first task. Update homepage layout. I'll open it in
full screen mode. So what do we already see here? Basically, all the work
sessions related to the task are listed in
the time log column. If you're comfortable
viewing sessions this way, you can leave it like that. You can make these entries more informative by displaying
the time spent, the person responsible, and
also showing the status. If this works for you,
you can leave it as is. But let's take a look at
alternative ways to display sessions and more generally,
any related records. We go to the customized
layout menu. Make sure to click somewhere
on an empty part of the page so that no specific
element is selected. Then switch to the
second display mode. Taped This will enable
an additional section on each task page where you can add tabbed views showing
related entries. What we're interested in here are work sessions
related to the task. So we select time log
and configurates view. I think the table
layout works best, but we'll hide a few properties. First, take note that the
filter is already set up automatically and correctly
filtered by the current task. This means we're seeing only those sessions that belong to the task on
the page we're viewing. That's why we can hide the task column because
whenever we see a session here, we already know it belongs
to the current task page. You can move the start column. And this is also a good place to enable text wrapping
for the task title. Let's make the
columns more narrow. We'll leave the stop the time or button and the time
spent time visible. The rest of the
columns can be hidden. We'll keep the person column and I think the status
column can stay too. Let's move it closer
to the beginning. Optionally, you can
remove vertical dividers. You can also change
the icon for this tab. Let's save the changes
and see how it looks. Now, using the tab, we can see all information
related to the task. When we switch to the time log, we see only the sessions
related to this specific task. Let's add another tab that shows the active
session for this task. This will also be a
view of the time log. Let's name the tab
as active session. We'll now configure
the filters so that it shows not only the sessions
related to this task, but also filters by status to display only active sessions. Let's switch to
the gallery layout to display the
session as a card, just like we did on
the main dashboard, we'll display the status so that you can
immediately see from the card that it's an active session without
needing to double check. We'll also display the stop the time a button and
the time spent property. You can also display
the person so that if you open the task and
see an active session, you'll know who is currently working on it if
there is one at all. Let's save the changes. Now I'll start a
session for this task. I start the timer, and
let's take a look. The card has appeared,
but we need to twik it. Let's remove the preview. And move the stop the timer
button to the very bottom. Sometimes you may want to space out the
elements a bit more. For example, I'd
like the stop button to be a bit lower.
How can we do that? Here's a trick. Let's add
a technical column to the time log and
call it separator. Let's make it a formula. We'll insert a line break symbol into it. It should
look like this. Backslash and make
sure to include the backslash and surround
it with double quotes. Now we can add the
separator above the button. Let's see how it looks. So what do we see? The button is displayed a little bit lower. I often use this method. Instead of using a line break, you can also insert a series
of dashes to visually separate a group of properties from what comes before or after. You can add several
of these separators. Just keep in mind
that one separator, like any other property, can only be used once. The layout reset because
I didn't save it. So I'll hide the preview again, and I'd also like
to change the icon. Let's use a play symbol here. I think that's more informative. Okay. Everything looks fine, but I'd like some of this
data to be displayed at the same time as the time
log, and that's possible. We'll take care of it now. Once again, we go to
customized layout, make sure the
heading is selected, click on it if it's
not, and choose which properties we want to
display under the title. You can select up to four, so pick the most important ones. What might those be? Most likely the project,
the task status, the person responsible, and how much time has already
been spent on the task. I'd like to add
the due date, too, but that would mean
giving something up. So we'll leave the due date
to be seen in the first tab, which we can rename,
for example, to details. What else can we do? We can hide the list
of properties because the time log is already
available in the tabs. The total minutes
and hours spent isn't really necessary either because we can see
that info over here. We can add the due date and the start time or
button instead. As another option, we
could move the due date to the top and put the
total time spent below. Let's see how it looks now. We switch to the log step, then back to details, and we can see the due date and the start the
time or button. The properties we
moved to the sidebar are always accessible
via these three dots. You can view all of them there. Optionally, you can hide the page con and configure all pages to always
be displayed in full width, which I definitely recommend. If you don't need
to leave comments, you can just disable
that section. I'll leave it enabled for now. Let's save the changes. Now we'll move on
to the project, but before we do a few words about these tabs and
why they're so great, the point is that when you customize the layout of a page, those changes are automatically applied to every single task. So if I open any other task now, I'll see the exact same
tabs already set up. And that's a huge advantage. It means you don't have to
configure each page manually. In the project's database, we'll use a different method, and you'll see why tabs
in more convenient. That other method
uses templates, but templates need to be applied manually to each existing
page. Tabs are simpler. At the same time, this can
also be a disadvantage because you can't configure tabs differently for specific pages. In those cases, templates
are the way to go. Another downside of using tabs is that when
you open a tab, you lose sight of everything
on the first tab. There's no way to display
both tabs content at once. You'll have to use
templates again. Sure, you can always see the four selected
properties under the title, but you can't display
more than four. Maybe that'll change later, but for now, that's
how it works.
8. Project Page Customization: O. Let's move on to projects. I'm opening a project entry. We'll use the website redesign
project as an example, and let's start with
something we already know. We go to customize layout, enable full width pages
for all projects and select the most
important properties to display at the top. Let it be status and
person responsible. Of course, in a real situation, there would be some dates
here. I just don't have any. And maybe we'll also show how much time has already
been spent on the project. We can hide icons and move all other properties into
the collapsible sidebar, since we don't really
need them right now. The tasks and related sessions will be part of the
content on this page. We'll set that up next. Let's begin by displaying the tasks related
to this project. And you already know
which block we'll need. We used it in the
previous lesson to show the active
timer separately. You've probably guessed
it's the linked view block. This time, however, we'll use it for tasks instead
of the timer. We select the tasks database
and configure a filter. We want to see only the tasks that are related
to this project. So in the filter, we choose project and select
website redesign. We can hide the
database name and use the tab name to display
something like tasks. You can also change the icon to something more appropriate. Et's leave only the
most essential columns. I think there's no need to
show the time log here. There's also no need to show the project column because we already know all the tasks in this table are related
to this project. Let's move the status
to the beginning. We can reduce the size
of the due date column. I think the person responsible should be placed right
after the task name. What else can we do here? The start the timer button actually takes up
quite a bit of space, and we can fix that by
making its label shorter. I often use images
in button names. Let's do that here.
I'm looking for a black triangle to
symbolize stating the timer. And now the button
is much smaller. I can now narrow the column
down as much as possible, holding down option on
MCOs or Alt on Windows, and then I can move the button. For example, to the beginning or place it right
after the status. You can also change the icon to make it clearer
what the button does. I like to remove
vertical dividers, then we can adjust
the sorting settings. For example, sort the tasks
by status or due date. You can also add other tabs
with different task views. For instance, I'll
duplicate the tab, and now I'll configure a board view where tasks can
be grouped by team members. The group by setting is
automatically set to status, but I'll change it to person. I'll enable status display
to make things more clear. Maybe I'll also
show the due date. I'll rename the tap to B person. You can change the icon to, and if a new task
appears, for example, update visuals and it hasn't been assigned yet,
it will show up here. It's probably better to
move this group to the far left so you can easily
see all unassigned tasks, and I will reassign
one of the tasks to Anya to make more sense
out of this view demo. So now we can see how tasks are distributed
over two persons. You could filter out tasks that are already completed or tasks that were created or completed more than a
month ago, for example. You're only seeing the
most relevant ones, and that's how you can create as many tabs as you need
to work with your tasks. You don't even have to use tabs. You can take views
one under another. For example, the board could be located under the task list. And instead of switching tabs, you'd just scroll down and
manage statuses from there. So here you're
completely free to set up the workspace the
way you want to see it. Let's say we're
done with tasks for now and move on to
displaying sessions. And along the way, we'll
run into a problem. Let's use the linked
view block again. We choose the time log database and now see all the
recorded sessions. But we're only interested in the sessions relate to
this specific project. So we open the filter settings. And what do we see?
There's no project here. We haven't edited it. We can filter sessions by tasks, but if we add a new task, we'd have to go back to this
project page and reconfigure the filter manually to include sessions
for that new task. That's obviously not
a great solution. So we need to improve the
system so that we can filter sessions by
project, not just by task. We can set this up
right here since we're inside the
time log database. We'll add a new column
to help us solve this, and it will be a roll up column. Roll up is essentially
a window that allows you to pick into the properties of
related records. When setting up a roll up, you specify which relation
you're interested in. In our case, it's tasks, and then you choose
which property from the related task you want to
retrieve. Select project. Let's name this property project
by task to make it clear that this is the project related to the task that
the session is linked to. And VoalA now for each session, we see not only
the related task, but also which project
the task belongs to, and therefore, which project
this session belongs to. Now, in the filter settings, we can filter
sessions by project. We choose website redesign
and configure the view. We can hide the database title. We can also hide the task
associated with the session. The same goes for the project. What we care about is the start and the stop
the timer button, how much time was spent who started the session
and the status. I'll also remove the
vertical dividers here. Rename the tab. And change its icon. By the way, let's also
update the icon for the time spent column to
better reflect its contents. It's also worth
configuring the sorting so that sessions are
sorted by date. I prefer having the most
recent sessions at the top. Choose the ascending
option instead, if you prefer to have
them at the bottom. What else can we do here? We can add a square icon
to the stop button. Let's go to edit. I often use
this site to find emojis, pick the one you like, copy it and paste it into
the button's name. You could even remove the word entirely and leave the square. But since this button is used on the main page and in the card, I think keeping the word
makes it look nicer. In fact, you could
create two buttons, one with the square and one with both the square and the word and use them in different
places as needed, even if their behavior
is exactly the same. What else should we do here? We should add headings. That is section titles. For example, tasks and then
below that, work sessions. When you use headings, it allows you to navigate by section and you'll see a
navigation menu on the right. If you use headings of different levels like
H one and a two, the hierarchy will also be reflected in the
navigation menu. Now, let's compare
this method of organizing the inside of a page to the one
we used for tasks. In the project, we
went inside the card and customized the display
of tasks and sessions, but we didn't use tabs. Here we have a simple
structure enabled, and if we open a
different project, we'll see that nothing
has changed inside it, unlike with tasks, where
we edit tabs to one task, and they appeared
in all the others. So how can we make this structure appear
in all other projects? That's where database
templates come in. First, I'll copy
everything I edit inside the website redesign project
and create a new template. To do that, click the
arrow next to New, then select New template. Let's name it a new project. And inside the template, paste everything
you just copied. Now in this copy, all the
filters are still pointing to the original project where we configured the display
of tasks and sessions. So we need to update
those filters. Instead of website redesign, we should specify the new
project we just created. Unlike all the other entries, the new project isn't
really a project, it's a project template. Let's remove website redesign. Naturally, the
list is now empty. Let's do the same thing
in the second tab. Change the filter to
match the template. When you later create a new project based
on this template, notion will automatically insert the new project
into that filter, and this is a very important
and awesome feature of notion that you should
absolutely remember and use. Chances are you'll
need it often. We'll do the same thing here
in the work session section. Can also add an
icon, for example, a briefcase and maybe
give it a blue theme. Let's return to the
project's database. And now let's set this template as the
default for all views. From now on, whenever you
create a new project, this template will be applied
automatically. That's it. The new project is created, and it already includes
tasks and work sessions. And when I create a new task, it's automatically
linked to this project, new task of the new project. If we go to the main dashboard and look at the tasks table, you'll see it's already there. The new task is properly
linked to the new project. Everything is
working beautifully. However, there is one downside. All your existing projects will have to be
updated manually. You'll need to open each
project and inside it. You'll see prompt to
apply the new template. If a project already had some template or
content applied, you'll either need to
delete it if it's no longer needed and then
apply the new template. Or you can save that content somewhere,
apply the template, and then bring the
blocks you need back to wherever it
makes the most sense. I wouldn't recommend applying the template to all
your projects just yet. That's because in
the next lesson, we'll be adding
even more changes. Specifically, we'll look
at different ways of displaying work sessions
inside the bottom table. So this is not the final
version of the template. You have a lot of
existing projects, I don't recommend
applying it yet. Otherwise, you'll have to
redo all that work later. Also, I'd really prefer to have the time spent
displayed in blue, so I'll update the
formula for that, too. So in this lesson, we changed the layout of task pages
and project pages, explore two different ways of customizing that layout using the tabbed structure and the simple structure and reviewed the pros
and cons of each. With the tabbed layout, any changes we make are immediately applied to all
records in the database. With the simple structure, we need to create a template and manually apply it to
each existing record. However, using
templates gives us more flexibility in customizing what we see on a project page, allowing us to display
various views of related data alongside the
properties of the page itself. Also got more practice with one of Nan's most powerful tools, the linked view block and saw
how a simple property list inside a page can be made much more structured
and organized. In the next lesson, we'll
go even further with customizing how work sessions are displayed inside a project. Right now, is just a
long list of sessions, but it will be far
more useful to see the total time
spent on the project, the time spent
month by month how much time each team member
has spent on the project. This next lesson
will be especially exciting for those using
Notion's paid version, because we'll set up beautiful
and insightful charts.
9. Project Analytics: A new lesson. Here we
continue working inside the project page and add a few new ways to display the sessions related
to the project. To make the display
more interesting, I added several new sessions. Okay, let's open the
website redesign project card and scroll
down to the work sessions. Right now there are
39 work sessions. In the first part of the lesson, I'll set up the session views for the free version of notion. In the second part,
I'll show how to make the same thing using charts which are available
in the paid version. At the end of the lesson, we'll also update
the project template with all the new views that
we are going to create here. So the first view I
want to add will show how work on the project
progressed over the past months, how many hours were
logged each month. I create a new tab,
choose a table layout, I leave the database as it is because I still want to
work with the time log. I remove the database title, rename the tab two by month
and set up the grouping. I click Group B and choose
the start property. Sessions are now grouped, but it's better to change the grouping
granularity to a month. If you want to see
weekly breakdowns, you can choose week
instead of month. Next, I want the newer
months to show on top, since that's the most
relevant information. Now we're done here. So we
can close the settings panel. Next, we go to the
group settings and enable show aggregation. Then I click More Options, some and select the spent
hours to summarize. We now see how many hours
were logged in April. If you collapse April
or other months, you can quickly see
totals for each month. If you don't like the
long decimal numbers, we can fix that. Let's temporarily show
the spent hours column and update the formula. Right now, the formula
technically returns many decimals and notion then rounds it visually due to the
decimal settings. But that extra precision
is still there, which is why we get
such long numbers. So we'll modify the
formula to round properly, multiply by 100 round divide by 100 again, save it. Now, the numbers next to each month are much
more readable. After that, we can hide the stop time or
button in this view. What matters most here is
the aggregated number. You can collapse all groups at once with a keyboard shortcut. You'll see the
shortcut on screen. So with just a few clicks, we've built a monthly
time summary. If you want both monthly
and weekly summaries, just duplicate the tab and
change group into week. Let's move on and
create another view. This time grouped by person. I duplicate the existing tab
and rename it to B person. Change the icon if needed. Now go to grouping settings and switch from start
date to person. And we don't need
the person column inside the table anymore. It's already in
the group header. The right side
aggregation settings are already copied from
the previous view, so we immediately
see how much time each person spent on
the project overall. If you want to see this for
the current month only, just add a filter. In the filter settings, choose start and set it to
this month option. Rename the view this month. The icon shows that
it's grouped by person, and the title tells us it's
about the current month. If you want a view for
the previous month, we'll need to use a trick here. Let's duplicate
the current view. Now, I could hard code the filter from
March 1 to March 31. And it works. But
the problem is, you'd have to manually update
these dates every time, and we want to avoid manual
work as much as possible. So we'll add a formula that calculates how many
months ago a session was. Add a new column formula, call it months past. Now you'll see a formula
number on screen. Copy it from the
reference doc I shared and paste it here.
What does it do? It calculates the number of months between today's month and the month of
the session date. If a session is from last
month, it will return one, even if there are
only a few days between today and
the session date, and we can filter by
that value to only see sessions pertaining
to the previous month. So instead of
specifying exact dates, I configure the filter
based on this column that shows how many months have
passed since this session. Session belongs to
the current month, this column should show zero. If it belongs to the
previous month one, if it's from the
month before that, two, and we already have
some sessions like that. View the sessions from
the previous month, I just need to set
the filter to show only those entries where the months past
column equals one. Since this formula always provides up to date information, it will adjust dynamically. Right now it's April, so the number one will be
shown for all March sessions. As soon as May begins, April will become
the previous month, and the number one will be
shown for all April sessions, while the formula will return
two for March sessions. And in June, one will show
for May so this filter, once set up, will always work correctly and show only the sessions from
the previous month. So we changed the filter to
months past is exactly one. You can now hide
the formula column let's move on to setting up charts, and here's
the good part. For charts, we don't need
this month's pest formula. Create a new view, choose chart layout and connect
the time log database. We leave the chart type as vertical bar chart for now
and adjust the settings. Group by start date and
choose week granularity. Now we can already see how many sessions
happened each week. Change the Y axis to
spend hours and summit. And now the labels show the number of hours
spent each week. Let's make the color prettier. You can even use intensity to reflect how many
hours we're spent. The more hours, the
stronger the color. If you want to see how much
time each person spent, each week, just enable
group by person. And it is better to return to auto cooloring when grouping. There's also a line
chart option that works really well
for timeline data. And finally, charts
support cumulative totals, so you can see how
the time spent on the project
grows week by week. And let's rename it to B weeks. Let's create another chart to show how much time each person contributed overall and change
the type to a donut chart. Choose person in what
to show setting. And some of spent hours in
what each slice represents. Now each segment shows how many hours a
team member logged. You can see the total time on the project and how
it's distributed. Rename it total time, and I actually forgot to add
a very important setting. We are inside the website
redesign project, so all the work sessions
must be filtered by this project to only show
sessions related to it. Let's fix it for all the views. Now rearrange the tabs
based on priority. Most useful views
should be on the left. If you have a paid account, then probably you won't need the table views at all
and only have charts. Now, we're ready to copy
this to the template, copy the whole block,
go to the template. And paste it. Delete the old view, but don't forget to filter
each view by the template, so you're only seeing relevant sessions after applying this template to
your projects later. Now that this is done,
we are ready to move on. In the next lesson,
we'll build a dashboard for managing work sessions
and viewing analytics.
10. Time Tracking Dashboard: This lesson, we won't be adding anything new to the
existing structure. Instead, we'll set up a
dashboard for tracking sessions, your personal sessions, and
those of your team members. Essentially, we'll
configure various views of this session table so that
when you land on this page, this dashboard, you
immediately understand how your time is being tracked and see all the
information you need. We'll build this dashboard
directly on this page. Later we'll add a main
dashboard and some navigation, so you can switch
between dashboards. But for now, we'll stay here. Before we go any further, I suggest moving the
original databases to a safer location, placing them separately,
and from now on, we'll only work
with linked views, meaning database windows and
won't touch the originals. So we currently have three
databases on the page, projects, tasks, and time log. Here's what I recommend
doing with each one. First, transform the
database into a page. Do this for each database,
choose the option, turn into a database page, do the same for the time log. Now we have three
database pages. You can open each
one individually. Nothing inside has changed, but now they are
listed separately. For now, let's place them at the bottom of the page
in a separate section. Let's use a callout block
and name it system. Let's find a suitable icon. And actually, let's place all the databases
on a single page. That's usually how I do it. We'll also change the icon here to something
more appropriate. Now we begin building
our dashboard. Technically, we've
already started. We have an action section and one that displays
the active timer. By the way, let's
start a timer for one of the tasks so the
list doesn't look empty. Next, let's think
about what we might want to see on this
time tracking page. First, let's
configure a view that shows how your personal
time was spent. We'll place this to the right of the action section
and the timer. Let's name this section. MT log. Turn it into a first level heading and move it to the right column. Now we need to move
all these blocks under the action section, so everything sits
in one column. Let's shrink the
left column a bit. Add a divider to keep the visual style consistent
and insert a linked view. Choose the time log database. I'll first show how to configure a table view if you're using
the free version of notion, and then we'll do the
same using charts. We want to see only
our own sessions. So let's filter the data by employee and select
the M option. That way, each team member or page viewer will only
see their own sessions. Let's hide the table
name. Perfect. Now that we're only seeing
sessions relevant to us, let's configure the sorting, so the most recent sessions
appear at the top. Then at a grouping
by start date. Change the date by setting
two months, for example, and make sure the most
recent months appear at the top by adjusting the
sorting to newest first. Next, let's configure a time
sum next to the month title. To do this, click
the three dots, select show aggregation, then click the
number that appears, choose more options, and set it to the hours spent column. Now you can see your time
data for all previous months. If you press Option plus Command plus T or manually
collapse each month, you'll be able to see how your time allocation
has changed over time. What else can we do here? We could limit the number of
months shown in these tats. For example, only
show sessions from the last two months
rather than all sessions. To do this, modify the filter and use the months past column. We added in the previous lesson, set it to less than
or equal to two. That will include the
current month, value zero, the previous one, value one, and the one before
that, value two. Nothing changes in
our case because I don't have any data
from earlier months, but if I had logged any
sessions in January, that data would now be excluded from the view
we just configured. Let's rename this view
to last three months. Okay, now we need to
clean up the view itself, remove anything unnecessary and keep only what's essential. We'll keep the start
and end columns. Remove the button column and remove any unnecessary
display of spent time. Let's make the columns
a bit more narrow, hide the project column two, and keep just the status. Next, you'll probably
want to see how your time was distributed
across projects. So let's duplicate the
view we just created. We'll name the new view by projects and change
the grouping. Now, let's group the data, not by date, but by project. What do we run into here? The project property can be
selected because grouping by roll up column in notion isn't
available for some reason, so we need to add the
project in another way, and there aren't
many options here. In such cases, we have
to use a formula. Let's figure out how we can identify which project
the session is linked to. What do we have? We have the task and from the task,
we can get the project. And we have a roll up column. Let's try using that. A roll up can technically contain
a list of projects. For example, if the
session was linked to multiple tasks and each task belonged to a different project, you would see several
projects here. But since we always
have one project, we can confidently take
the first one and use dot notation to access the project properties
and select the name. Let's save it and check. The project name is there. Now let's group by
project instead of date. The project is now
available for grouping. And what do we see? A few sessions aren't
linked to any project, and we can also
see how much time was spent on each project
where I logged time. You can also change
the icon here. And if you want to see sessions grouped by
project for all time, you should clear the filter that limits sessions to the
last two or three months. What else could be useful? I often want to check what I've been doing over the past week. So the most relevant
period for me is usually the one
closest to today. I want to see how
much time I've worked and how that time was
distributed across projects. Let's set up a
view for that now. We'll copy the first tab and
name it last seven days. Then we'll change the filter to only show records
from the past week. We'll use the start
column and set the filter to start date
is within the past week. So we'll see entries from
the last seven days. Now let's switch to
the board layout. The board is great because it allows for two
levels of grouping. We can group by both
dates and projects. I want the columns to
represent projects since there are usually
fewer than seven, and that way, I
won't need to scroll too far sideways
to see everything. So I change the first
grouping to project. Then I go back and add
a second grouping. These will be the subgroups. And here I'll choose
start and group by day. I'll also adjust the display to show newer dates on the left. That way, the first column
will show today's sessions, the second,
yesterday's, and so on. The time spent aggregation for the subgroups
remains intact, but we need to manually
configure it for the columns. Click more options, choose some, and select spent hours. This way, I can see
how much time was spent on each project
over the past seven days. That's the total time
for all seven days and also how much I worked
each day within that week. Looks like there
is a problem with filtering as I see too
many work sessions. I think filter settings were reset when I changed
to the board view, so let's add them again. Person is M and start is
past week relative to today. It looks better now, and that could be a good
stopping point. As you can see, even
with a free account, it's possible to set up some useful calculations
for your time tracking. But now I'll show you how to do this using a paid account. Of course, charts
will look much more minimalistic with
no extra clutter. They'll also be more visually
appealing and take up much less space compared to the detailed layout we just saw. Yes, you can
collapse the layout, but charts still present the information in
a much neater way. So what might I want to show? For example, a chart
showing time spent over the past three months
broken down by project, similar to what we did on the Project page when splitting
time by team members. Let's select the Donut chart. Under what to show
we pick project, and for each slice represents, we choose spent hours. So each slice shows the time
spent on a specific project. Now I'll add two filters. First, for the
last three months. Second, to only show
sessions linked to me. The viewer, this is where the
mi setting should be used. Let's rename the tab
to last three months. I'd also like to
see how my time was distributed across projects in the last few days or weeks. And if I were building
this on a paid account, considering how much free space is around the doughnut chart, I would place charts side by side instead of
using separate tabs. What could that look like? I add two columns using
the slash menu. Let's place the
doughnut chart on the right, and on the left, I'll place a bar chart
showing how much time I spent on different projects
over the last seven days. I changed the layout to
chart hide the title. Select to show
start date by day, show spent hours,
group by project, and filter the sessions to only include the
last seven days. Now, let's rename this
tab to last seven days. We can also add another
chart to show how time was distributed over
the last three months. I'll update the filter so that only sessions from the last
three months are included. Each bar will
represent one week. And what are we showing
the sum of time spent in hours grouped by projects. This way, I can see how
my productivity changed week by week and which projects
received the most focus. Depending on whether you're
using a paid or free account, this right hand section
will either include several customized views
like I've done here. Or several charts. There's
no real need to keep both. Since I'm working
on a paid plan, I'll remove the table
views. What's next? Let's add a section
that shows what your teammates are
currently working on. This section isn't necessary if you're using the
system on your own, but if you're working in a team, it's a really useful feature. Let's move the system
section down and continue below everything
we've already built. Let's call this new section
what the team is working on. You could also name it more
briefly active sessions, but the longer name immediately
makes the purpose clear. Let's insert the same type
of card we already use in the time section to display
a single teammates session. You can even copy that card, paste it and select
linked database view. Have the work is done. What I want to do
now is set it up so that we can see a similar
card for each employee. To do that, we need
to switch from the gallery layout to board
layout and group sessions, not by status, but by employee. There's no need to display
the stop button on each card, since we just want to view
what someone is doing, not accidentally stop the timer, but it makes sense to show how much time has
already been spent. It might also help to display which project
the task belongs to, and a link to the task
itself could also be useful. Let's filter this view to
only show active sessions. The currently marked
with the active status, to ensure long task
names don't get cut off, let's enable the
rep cells setting. This will tell notion to break long titles onto the next
line instead of hiding them. Let's now start a task for Ana to see how this view works. Going back to the dashboard, now I can see what both
employees are doing. There's one more view that
would be helpful here. Let's duplicate the active view. This one will show what employees have been
working on today. And instead of
filtering by status, we'll filter by date. Et's choose only sessions
that were started today. Start date is today. This filter tells notion we only want entries that
belong to today. In this case, it does make
sense to show session status, so it's clear whether the
session is active or not. We'll also sort the entries so that the earliest sessions
appear at the top. We have one more section
left the history section. It will be similar
to what we've added inside projects and also to the setup for
personal sessions. We'll come back to what the
team is working on section later when we configure synchronization with
the notion calendar. So now let's talk about history. We add a heading and by the way, we're already starting to
build a navigation system. The system section can also be set as a first level toggle, so it doesn't get nested
under the history section. Later on, we'll actually
move this section with the database sources
to a safer place. The history section
should include whatever is relevant,
specifically to you. I'll suggest several options. You don't have to set up
every single one I show, though you can do
it if you want to get more practice
with the settings. That said, most likely, you'll only be using a couple of these views
in your day today. Or maybe you won't need the
history section at all, especially if you're the
only one using the system, and you've already set up the section that shows
your personal time log. The first view I'll add is
a display of all sessions grouped by month with total time spent
calculated per month, we choose the link view, select the time log database, and right away, we can remove
the unnecessary columns. Let's keep the start and remove almost everything else
except for the time spent. Let's also keep project since
we have enough space here. We'll name this tab by month and set grouping by start date. Then we change the
grouping from relative to month and we set the newer
months to show up at the top. Then we do the usual setup
next to the month name, enable aggregation, and change it to show the sum
of spent hours. Now we can see how much time was spent each month
across all employees. You can create a similar
view grouped by person to see the total time logged by each team member for the
whole tracking period. The process is exactly the same. Only difference is that
in the group by setting, you'll use the person column
instead of the start date. The next view we can
set up shows how time was distributed across
projects this month. To do this, let's duplicate
the view we've just created. We'll name it this month and select an icon that
symbolizes projects. Open the group by
setting and choose project and then set a filter to show
only those records that belong to the
current month. To do this, we can
either filter using the technical column
we created and select only those records where
the month past value is zero or use the star date
field and apply the condition. Start date is relative
to today and this month. Next, we can set
up a similar view, but grouped by person. This way, you'll be able
to see how much time each person has logged
during the current month. To do this, simply duplicate
the existing view, keep the title this month, and change the icon to reflect that this view is
about team members. Then update the grouping so that the sessions are
grouped by person. All you need to do. Since
the filter settings are already configured to show only the sessions from
the current month, the total spent hours is already displayed next
to the group name, so nothing else
needs to be changed. To create similar views
for the previous month, you can duplicate this view
and adjust the filter. Instead of filtering
by start date, use the technical
column month pest. And set it to one. That way, only the sessions from the
previous month will be shown. You can also make a similar
view grouped by project. Remove the start date filter and use month past equals one. This way, it's easy
to see the time breakdown by project
for the previous month. And of course, we can
also use charts here. Let's set up two charts. One will show how time was distributed across projects
in previous months. The second one will show how time was distributed
across team members. So let's add a chart. We'll keep the
default part chart. What do we want to display? In the Xxs settings, choose the start date and
group the dates by month. For the YXs, let's
display the sum of spent hours let's
start with projects. Right now there are
only three columns because I've only logged sessions for the
past three months. Over time, the number of
columns will increase, and the chart will become more informative and
visually appealing. Let's name this tab by project. Now, let's create
the same chart, but grouped by person. The only thing we need to
change is the group by setting. This time, choose person
instead of project done. And with that, we've finished setting up the time
tracking dashboard. Now on this dashboard, you can see how your time has been invested
in different projects. Recently, check what your
team is currently working on, view what your teammates
were doing today. And also analyze how
time was distributed by project and by person
over previous months. In addition, you can always come to this page to
start a new timer, check whether you have
an active session and stop it if needed. In the next lesson, we'll add
a small change to this page to synchronize work
session records with the notion calendar.
11. Notion Calendar: New lesson in this
one will add a way to display your work sessions
inside the notion calendar. Notion calendar lets you
visualize anything that lives in a database within
your notion workspace. But to make that happen, you first need to create a calendar view for the
database you want to display. So right now, we'll
add a calendar view for your time log database. I recommend placing it in what the team is
working on section. If you're using the
system just for yourself and haven't
added that section, simply create a new one, call it calendar and add a linked view of database
block for your time log. So let's create a new tab, choose calendar view and select the time log database.
That's it for now. Let's check which date property
the calendar is based on. You can see this in
the view settings under Show calendar B. Right now, it's using
the start property, and we'll leave it that way for now. We'll adjust it later. Now, to actually display this view in the
Notion calendar app, hit the opening calendar button. Done. The calendar
has been added. One important thing to
know, there's a limit. Currently, you can't add more than ten
calendar views from all your notion workspaces
to notion calendar. If you've hit that limit, you'll see an error message. You can change the
color of a calendar, toggle it visibility, and so on. But here's something that doesn't work great
at the moment. Each log appears as a thin bar, meaning we're only seeing the
start time of each session. That's because this
calendar view is currently based on
the start property. And unfortunately,
Notion calendar doesn't have access
to the end property. It simply doesn't know
when the session ends. The way notion calendar
works right now, it can't look at two properties, start and end to determine the full duration of
a calendar entry. So building our
calendar based on the start property wasn't the
best idea. Let's fix that. We'll update our time
log database by adding a new column that will store both the start and
end of the session. We'll use this new column only
for the calendar display. We won't need it anywhere else. Let's open any record and
add a new column formula. Let's call it start end. And in this column, we'll use both dates by applying
the date range function. We'll pass in the
start and end dates. As you can see, this
column now displays both the beginning and the end of each
session in one place. And if you want
the formatting to look cleaner, here's
a neat trick. Temporarily change the
column type to date, adjust the date format, and then switch it
back to formula. This will apply the
new formatting. A little known
workaround I discovered just by experimenting
with notion settings. Now go back to your
calendar view and change the setting so it uses the
new starch and property. And as you can see,
the work session now has a visible duration. If you work in a team
and want to display different team
members sessions in different colors,
that's possible, too. Just keep in mind
the limitation. Notion calendar currently
allows you to add up to ten database views total
from all your workspaces. Chances are some of those ten will be used for
displaying tasks, events, or meetings from
your notion workspace. So in practice, you'll have
fewer than ten slots left. Whether that works for you depends on the
size of your team. If it's small, you can
totally make this setup work. Let me show you how.
In my workspace, I have two people
Krista and Anya. What we'll do is create two
separate calendar views, one for Krista,
and one for Anya. In the filter settings, choose
the appropriate person. Okay, the time log has been updated to only show
Krista sessions. Now, let's do the same
for Anya's calendar. Everything stays the same, except the filter for person. We'll now change it
to Anya and again, open this calendar
in notion calendar. As you can see, we now
have two calendars, one for Christa
and one for Anya, with color coding showing
who worked on what, and that's it for the
notion calendar part. At this point, most of your system is already
built and configured. In the next lesson, we'll
add a few final touches to make the system more convenient
to long missed sessions.
12. Logging Missed Sessions: Let's talk about forgotten
sessions. It's inevitable. There will be times
when you forget to start the timer or
forget to stop it. Now, we're going to
adapt the system to make correcting these missed
sessions more convenient. Let's start by adding a new
button to the action section. This button will
create a new session, assign it today's date without the time and open the session so you can
edit it right away. So choose the button block
and name it something like d a session or
log miss session. Add the plus icon. What will it do? It will add a new page to the
time log database. Give it some name. We'll set the start date using the
date triggered option, meaning the date when
the button is clicked. Earlier, when we created
buttons to start new sessions, we use the time
triggered option. So both date and
time were captured. But this time we're
logging a missed session, so the actual start time probably won't match
the button click. That's why date only
is a better fit, and we'll fill person as usually team members log their
time by themselves. And status field should
be set to complete. Next, let's make this
newly created session open automatically for editing. We add a new action, open page or URL from
the menu of options, select page Edit, the
page we just created. This means when the
button is clicked, a new page is created
and opened right away. You can choose the
format for opening. In this case, I suggest using
centerpik not full screen, but a centered pop up. Now that the button
is configured, let's try logging
a miss session. A new session is created with today's date set and the
page opens automatically. The formulas are not empty. They're already calculating
time because we set them up to count time from the
start if no end is provided. Right now, Notion thinks I
started working at midnight, but you can ignore that for now. We'll fix it in a moment. You can now set
the correct start and end time directly
in the session. Just enable include time and
change it to what you want. But honestly, that's
not always convenient. Most of the time,
you'll probably want to enter just
the amount of time spent to make sure
that the time spent is counted in the linked
test or project. To allow manual
input of time spent, let's add a new column
of type number. Let's name it something
like senten minutes manual. I'll move the column higher
in the page and enter, for example, 45 minutes. Of course, that's
not enough because the formulas we've
already set up have no idea that a new column has appeared that should
be taken into account. So we need to update
the formulas or rather just one formula spent minutes because all the
others depend on it. Let's open the formula
and change the logic. On the screen, you'll
see the number of the finished formula. I'll just expand the
one we already had. Since we're adding
the condition, I'll start with the I function. The first argument is the condition then we add what should happen if
the condition is true. I'm just adding placeholders for now and replace them later. The third argument
is what should happen if the
condition is false, which is the formula
we already had before. Then we close the I function. Now, let's define the
condition. It's simple. We check if the spent minutes
manual column is not empty. So if it's not empty,
what do we return? We return the number
that was manually entered the number of
minutes from that column. If it is empty, we fall
back to the original logic, and to make the formula
easier to read, it can help to break different parts of the
I onto separate lines. To do that, press Shift
plus Enter, save it. And as you can see now the
formula works correctly. If I remove the manual entry, the formula behaves
just as it did before. Now I can link this session
to a task it belongs to. Let's say update visual effects. If you don't yet have the task you want to log
this session under, you can create a new
one right from here. Type in its name, select
new to create a new task, and it'll be linked
to the session. Let's remove the previous one. By the way, you can configure this relation so that only
one task can be linked. Let's do that now,
set it to one page. Okay. Now, if we open this task, we can link it to project
and return to the session. Most likely, at some point, you'll also want the ability to link a session
directly to a project, maybe because no
task was created, or it just doesn't matter which task the session
was related to. If that's your case,
we'll need to add another relation because even though we already have
two project columns, they are actually read only. They simply pull in
the project from the task this session
is connected to. No task, no project, and you can't add a project
directly in those columns. To make that possible, let's add a new relation
between sessions and projects. Choose relation and pick
the project's database. Again, limit to one
and make sure to enable two way relation so
that in the project view, sessions directly linked to
it will show up as well. Perfect. Now we can link a
session directly to a project. Let's say it's a new project, and now we'll need to update
a couple of formulas. We created earlier, so this direct session project
connection works properly, and so the sessions
linked directly to a project are also included in the total time calculations. First, let's update
the project formula. This one helps us group sessions by project in different views. Right now, it pulls the project name from the
tasks project column. But for sessions linked
directly to a project, there won't be a task. So in those cases,
the formula should get the name from the
direct link instead. Let's go ahead and change it. Open the formula and
do what we did before. Add a condition. If the
direct project column is not empty, we use that. Otherwise, we fall back to
the task project column. You'll see the formula
number on screen. I'll update it directly here. We add an E function. The condition is check if the project column is not empty. If it's not, we take the first
project from the relation. Even though we've
limited it to one, relations are still treated
as a listing formulas, so we always need to
grab the first item. Then we use dot notation to access the name
property, and that's it. Format the branches of the condition on separate
lines to keep things readable. Save it and the formula works. Now let's go to the
project's database and update the formulas there. As you can see, even though
I logged this session, the project still doesn't
show any time tracked, even though it should
already display 45 minutes. Let's go update the
formulas to fix this. We'll work with the
spent Minutes formula. Right now, we're already summing up the time from tasks
linked to this project. We just need to add the
minutes recorded in the time log entries linked
directly to the project. To do that, we take those entries and use the map function to convert each record into the number
of minutes stored in it. Then we sum the result. It's a small change, and now we can see the total
time spent on the project. There's one more adjustment
we need to make so that the directly linked
sessions also show up in the work session
section of the project. Rather than editing here, let's go to the template
itself and update the filters. Open the template, and let's
reconfigure the filters. We need the filter to check not only the tasks
project column, but also the new
projects column. Let's convert it to
an advanced filter and add another condition. This time, we'll use OR logic, meaning it'll
include any session that meets either of
the two conditions. Choose the projects column and set the condition to
contain. New project. Right now, I can't tell which is the template and which is the
new project I just created. So I'll temporarily use
a workaround like this. The top one is the template. Okay. Now I'll repeat the same process for all the filters I set
up on the project page. For the current month, we are using a more complex filter, so we'll need to turn this condition into
a separate group. The second condition, the date stays as it is, the
connector remains, and this subgroup
will be configured the same way as the filters
we've already set up. We'll use the same logic for
the previous month view. Or project link
contains template. Now, let's apply this
updated template to one of the projects. The new project Note
that we do not see any connected sessions
yet despite there is a 45 minutes one that I connected directly
to this project. To apply an updated template, I delete the page content and
click on the template name. And now the session is visible. I won't apply the template
changes for other projects now because soon we will be adding a navigation
panel to the template, so I will postpone applying
the new template until then. Now let's take one more
look at the session page. I'll open it from here and
expand it to full width. Right now, we're seeing all the properties related
to a work session. Many of them aren't
actually necessary. They take up space and distract
from what's important. I suggest hiding the properties that we definitely
don't need to display. This one is just a divider, and this one is a
technical column that helps us show sessions more
conveniently elsewhere. Project by task is optional
since the project column already shows which project
the linked task belongs to. Let's also hide start, and that's a
technical column used solely for synching sessions
with the notion calendar, and then there's
time spent here. It's up to you. You can leave the version that suits
your preferences best. The remaining columns can be
rearranged in the order you use most often or in the way that makes the
most sense to you. This is actually the third type of layout we've customized. We've already set
up tabbed views for tasks and a
template for projects. For sessions, we don't
really need page content. In most cases, there won't be anything inside session itself. All important info will be
stored in its properties. So we can keep the page simple. Show only what you need and hide anything that's not
essential or rarely used. Now we have a button that lets us quickly log
a forgotten session. You can choose the date, for example, if it
was in the past, Enter how much time you spent on the task and link it to the
relevant project or task. But what would be even more convenient is if that link
were created automatically. That's exactly what
we're going to do next. Here's what we'll do. We'll add a button to both
tasks and projects. These buttons will let you log a forgotten session and link it automatically to
the right record. Let's start with tasks. In the final lesson, we'll build the main dashboard where tasks will be displayed
in a cleaner format. But for now, we'll work
with this basic table view. So let's take a look
at the task page. We already have a start the
time button on the main tab. Now let's add
another button under it for log in a
forgotten session. To do this, open the full list of properties and add a new one. Choose button and
name it ad session. Then configure it
the same way we did for the standalone
ad session button. Create a new page in
the time log database, give it the title work session. Although in this case, we can actually use the
task name instead. Set the start date
to date triggered. Set person to whoever clicked, set the status to complete it, and link the new session
to the current task. Just like before,
we'll also open the newly created
work session page, so you can adjust the time and enter the number
of minutes spent. Save the configuration. Actually, let's give it
a bit different name. And now we need to move this button right under
the timer start button. So open customized layout, click the plus icon and
search for your button. Done. Now, let's do the
same thing for projects. I open the site properties list, add a new one, and
select button. I name it plus session and
edit the button behavior. The button should create a new page in the
time log database. Set the title, set start
to date triggered. Person to whoever clicked
status to complete it. We can't link it to a task because we're in the
context of a project, not a task, but we
do know the project, so we select this page. Meaning the session will be directly linked to the project. We also add an action to open the session immediately
after it's created. Save it, and now let's
move this button from the property list
into the page layout. Again, click customized Layout. If you have open slots, you can place the
button right there. If not, add it as a separate
block below the title. Later, we'll configure
a main dashboard for managing projects and tasks, and this button will appear
on the project cards. That way, you won't even need to open the project page to
add a forgotten session. You'll be able to
do it straight from the dashboard by clicking
this button on the card. So ready to test, let's add a new session. Manually enter 10 minutes. The project link
is already there. And let's say the date
is yesterday. That's it. Nothing else to
change. Minimum effort to log a forgotten session. Okay, we finished handling the case where you forget
to start the timer. Now let's talk about the case
when you forget to stop it. This can happen, for example, when you start work
in the morning, you might not notice that
there's already an active timer running because you begin your day from a different
page in your workspace. You launch a new timer
and your previous one, which has been running all night stops automatically
without you realizing it. What we can do is
configure notion to make suspiciously long sessions
more visible so that you can spot them early and
adjust the time to a more realistic value while you still remember when the
session actually ended. We'll do this by adding a formula to the
time log database. This formula will check
the session's duration, and if it's unusually long, it'll display a warning message. What counts as unusually
long is up to you. Personally, I consider sessions longer than 5 hours suspicious. I rarely work that
long without a break, and if a session ran overnight, it's likely to be at
least 10 hours long. So let's go with that number. We'll write a formula that flags any session over 10 hours. Let's create a new session and
call it very long session. I'll keep the start time, but set the start
date to yesterday. So the session now
lasts 24 hours. Then I add a new property. Choose formula and name
the column errors. You'll see the formula
number on screen, so you can copy and paste it. We'll use an F function again. Condition. Then what
happens if true? What happens if false? The condition. We check if the session lasts
more than 10 hours. The number of hours is stored in the spent
hours property. So we check whether its value is greater than or equal to ten. If yes, we show the message. Work session is lasting
for more than 10 hours. It stand out, let's make
the text bold and read. To do that, we use the
dot style function. Inside the parenthesis, we apply the styles
using double quotes. If the session is
under 10 hours, we just return an empty string. Even an empty string
needs to be defined. It's just two double quotes
with nothing inside. Let's save and make
sure the error only shows up when there's
actually an error. The second option,
hide when empty tells notion to hide this
property if it's empty. Now, let's hide the
properties section. And as you can see,
only the error is visible because
right now there is one. If I change the start date back to today, the error disappears, and so does the property
itself. What's next? Let's go to our
dashboard where we have the card that
shows active sessions. And since this is the
place where you'll most often check whether
there's an active session, it makes sense to also display suspicious sessions here so
you can fix them right away. What do we need to
do? We'll update the filter so it shows not
only your active sessions, but also your sessions
that have an error. The condition for
person stays the same. But the first condition will
now become a group where we check either the status or the errors using
the OR connector. Now the filter will show all sessions that
belong to you and are either inactive status
or contain an error message. Currently, that's just one type of error when the
session is too long. Let's also display the
error message on the card itself so you can immediately
understand what's going on. I'll fix the date and that's it. And now I can congratulate you. We've officially
finished setting up the entire time
tracking system. We've done a huge amount of work and covered a lot
of notion topics. If you followed along and
built everything with me, then you've already
been working with notion on an advanced
level because many of the techniques
and little features we've added are exactly what
make a system advanced. We worked with databases, relations, roll up formulas, buttons, the notion calendar, different data views,
and even charts. And I hope that your system
looks better and works better for you than it did when you first started
this master class. But I'm not saying
goodbye just yet. We've still got two
more lessons ahead. In the next one, we'll set up navigation for your workspace, and then we'll create your main dashboard for working
with tasks and projects.
13. Navigation: All right, we're on
the home stretch, just a few steps left. And in this lesson, we'll add
navigation between pages. First, let's create a new page. In the next lesson, we'll
use this page to build the final dashboard for
working with active tasks. So let's call this
page Work hub. I'll set it to full width. Now that we have two pages, it finally makes sense
to add a navigation bar. We're going to place navigation
at the top of each page. There are different ways
to create navigation, but in this master class, we'll use a callout block. It visually separates
the navigation from the rest of
the page content. And remove the icon or use something thematically
appropriate like a compass. Then we list the pages
we want to link to. I usually do this
using plain text. Start with home, which
should point to the W hub. Then I add three spaces, dot three more spaces, and the name of the next page. This way, each page name
is visually separated, making the navigation
easier to read. Right now, this is
just plain text, but we can turn
each page name into a link using the
formatting menu. Click at Link and select the
page you want to link to. And just like that, navigation has been added to the W hub. Now let's also add it to
the time tracking page. Just select the
navigation block, copy it and paste it
onto the other page. Now I can already switch between pages using
the navigation. Alternatively, you
can use a Sync block. A sync block lets
you see and edit the same content in multiple places within
your workspace. Any changes you
make to it will be reflected everywhere
that block is used. If you have many pages
in your workspace and your navigation block
changes from time to time, instead of manually
updating each page, you can just update it
once on your main page. It will be automatically updated everywhere else the
synced block is used. You can turn the block we already created
into a synced blog. Just open the menu,
click, turn into, and select synced
Blog. That's it. Now it's synced.
How can you tell? You'll see red border
when you hover over it. That only appears
on synced blocks. Now select it and
click Copy and sync. Go to the page where you want to add the navigation,
paste it there. And now you have a single block displayed across two pages. The original block
lives on the main page. Just to demonstrate that
the sync block is working, let's add a link
to the page with your databases in the
navigation block. And you'll see the
change reflected right away on the
time tracking page. Now, let's also add the navigation block
to the databases page. And to the projects
pages as well, I'll go into the
project template and add the navigation
block there. Then I'll reapply this template to all project entries so that all the changes we made
in this course will be reflected across
your entire system. Et's keep going. Right now, both of our pages, work hub and time tracking
are on the same level, and the original
databases are still located inside the
time tracking page. I suggest moving the system
block into the work hub, since the work hub
is the main page and time tracking only describes one part of the
overall workflow. Now, the original
databases live in the Whub but both pages are
still at the same level. Why is this important if you're using a free
notion account or if you're working
with contractors and inviting them as
guests to your work hub, it's much easier to manage
access if everything they need to see is nested
under one single page. That way, you can
simply invite guests to the main page
via the share menu, and they'll automatically have access to all nested
pages inside your system. But if some pages like
time tracking right now are at the same level instead of being nested
under the main page, and you invite someone only
to the time tracking page, they won't have access to the actual databases since the originals are
stored inside the Whub. As a result, all
those database views will appear empty to them. The buttons won't work either. Since they rely on databases
the guest can't access, you'd have to manually
grant access to each page and database,
which is a hassle. To avoid this, it makes sense to move all your pages
into the main page and organize them under a section called system
on a separate page. You could name it
something like pages. Inside, you can store all your dashboards and workspace
pages, and don't worry. Your links will still work. For example, clicking on time tracking will still
take you to the same page, but now its path has changed since it's nested
inside the work hub. Great. Navigation is all set.
14. Main Dashboard: All right, the final
lesson in this one, we'll set up the main dashboard where you'll actually be
working with your tasks. We already have a time
tracking dashboard, and that one is more about reviewing where your time went, seeing how it's distributed across team members
and projects, and checking who's
currently working on what if you're
working with a team. So that page is more
focused on giving you information rather than letting you interact with or modify it. The dashboard we're
going to build in this lesson will serve
as a control panel. Place where you actually
interact with your tasks, start and stop timers for them
and move through your day. It's not meant for
planning tasks. It's a tool for working with the tasks you've already
selected for today. Let's start with
the left column. We'll set it up exactly like
we did on the time tracking dashboard and add the
actions and timer section. We can just copy all those
blocks from the time tracking dashboard and paste
them into the work hub. And I think it'll be useful to expand the actions list
with two more buttons. One to create a new project
and one for a new task. For that, we'll need
two new buttons. New project. We'll add a page
to the project's database. And open it in a center pop up. Notion automatically applied
the project template we previously set up. Let's add an icon.
Okay. Now I'll duplicate this button to
create one for tasks. New task. We just
switch the database. Everything else
can stay the same. You can also reorder the
buttons or add dividers to group them by theme. Like this. And now we're ready to move
on to the sections that will go on the right side of
the actions and timer block. Let's begin by adding
the project section. I'm dragging an empty block to the right of the
actions heading. This creates a two
column layout. I'll move all the blocks
under the actions section. So they sit together
in the left column. Now let's move on to the right
side of the page projects. Let's display all
active projects here. To do that, I'll add
a linked view of database and choose the
project's database. Let's set some projects
to the status active. Then I'll switch the view
from table to gallery. I'll hide the card
preview and set up a filter to display only the
projects with status active. I also want to see how much
total time was spent on each project and
have the ability to add a forgotten session
directly from here. I'll remove the
title of the view and rename the tab
to In Progress. That's it for the
project section. Now let's move on to
the tasks section. Add a heading tasks
then a divider. Now we add a linked view
of the tasks database. I'll remove the view
title and rename the tab to today because first, we'll configure it to display
the tasks scheduled for today for the specific person
viewing this dashboard. In the filter, choose
person contains me. Then add another filter. Due date is today. I don't currently have any
tasks scheduled for today, so I'll open one of the projects and assign today's
date to a few tasks. Okay. Now I'll remove
the unnecessary columns. I'll keep the project
relation time spent and the start time button. The button should be
as narrow as possible, and I'll reorder the columns. Next, we'll sort the tasks by status so that completed ones
appear lower in the list. It's also a good idea to hide icons and remove
vertical dividers. Alternatively, we can hide the status column and instead
group tasks by status. One more improvement I
suggest here is adding a formula that shows whether there's an
active timer for a task. Let's call it time status
and paste the formula. Now, it's easy to see if a
task has an active timer. And although I initially
suggested not using stop buttons in
the tasks database in this particular case, when we have clear indicators
of active sessions, it actually seems
like a good idea. So the button to
stop active timers. Sitting the filter to only edit sessions started by
me and with status Active. And updates include setting the timestamp and the
status to complete it. And I will give this button a short name to match the
one for starting the timer. Narrow down the column. Now it's possible to stop sessions right from
the tasks table. Just keep in mind
that the stop button will end all of your
active sessions, not just the one linked
to this specific task. And the last thing we'll add here is a view for
today's sessions. Of course, there's
a full dashboard to explore your time log, but this additional view
might be more convenient for a quick glance and for
making some quick edits. The filter should
be set to only show sessions related to me and
start date equal to today. Name it work sessions,
for example, and rearrange the columns hiding the ones that
are not needed here. Let's add summing
up time in hours. Thus, you can easily see how much time you have
been working today. The last thing is sorting. Let's add a sorting in
ascending order here. Okay, that's actually it. We are finally done. Your time tracking system
in notion is ready.
15. Congrats!: Gress You did it. You didn't just watch how time tracking system
works in motion. You built one by yourself. You've practice setting up
databases, buttons, relations, formulas, and you have a tool now that you actually
can use every day. And most importantly, you understand how it
works under the hood. If you enjoyed this class, I have something to say about
it, please leave feedback. It actually affects
the financial feedback from the platform
to the teachers. So it's also a good
way to say, thank you, not mentioning that it's the only source for
me to understand I can do better for you
in my next master class. I encourage you to share your
project on the project page to celebrate the completion of this class and to
inspire others. So that's it for now, and I hope to see you
in my other classes.