So you’re a writer that’s building a fictional world. Your world has different cultures, countries, and a vast historical timeline. But at best, your story’s timeline is just a simple list of events typed out in a document somewhere. Do you fully understand what’s going on in it? Building a world and history can be complicated and it’s easy to feel disoriented in your own story if it’s not organized well.
If this sounds familiar, I feel you.
I struggled with this while I was building the world for my story, O Burning Star. Its world has a long history spanning thousands of years happening to different groups in different countries and I felt like none of my thoughts or notes were connected. A myriad of different notes about all these events were strewn about various notebooks, Google Docs, and Evernote. And if I made a change in one place I’d most likely forget to change it somewhere else thus making my notes contain a lot of inconsistencies. And inconsistencies lead to mistakes which lead to confusion. My story was such a spaghetti bowl of knowledge that I honestly felt disheartened at some points to even continue writing it.
But I found a light. I found something to help me tie these different elements of my story together — I found Notion.

If you’ve never heard about Notion, it’s a growing platform for businesses and individuals to organize data, build productivity systems, and create customizable wikis. A lot of people like me use it for creating what’s called their “second brain”.
Notion is the app that I use to organize pretty much everything in my life. So obviously, I use Notion to organize the timeline of my story.
I was lost… but then I found… a way to organize
Before I organized my own story in Notion, I practiced organizing an already established story.
A while ago, I was rewatching an old guilty-pleasure show of mine (and maybe yours) — Lost. I made my wife watch it several years ago and while doing so she understandably felt… lost. It’s a complicated and convoluted show, I admit. I’ve watched the whole show several times and even after this last run, I still didn’t fully understand the timeline of events in the show.
So what better way to get some clarity than to organize it in Notion?

Check out my Lost timeline dashboard for yourself.
How the timeline is structured
The key to having interconnectivity in Notion is to create databases. Whenever I make a dashboard in Notion with different interconnected databases, I try to make a database for every kind of variable that I can think of that would need multiple values encapsulated in it.

These are the variables that I came up with for creating a fictional timeline:
- Events
- Locations
- Characters
- Groups
- Episodes (Chapters)
- Eras (optional)
- Months (optional)
Events Database
The main database of this whole thing is the Events database. This is where the controlling values are located and where all the other databases relate to.
In the database, I created an integer property for the year, a selection property for the month, and another integer property for the date.

Now, in Notion there is a Date property available — so why didn’t I just consolidate these different properties into that? The reason is lots of events in this timeline had no discernible date — they either happened in the general time in a month or even in an indeterminate time in a year. Having these properties separated out released me from having to choose a specific date for an event if I couldn’t find what it was.
Now, this is where we get into “dynamic interconnectivity” with our timeline: I made relation properties to the Locations, Episodes, Characters, and Groups databases so I could tie the When, Where, and Who parts of the story to these specific events in this Events database.

The last property I made was a function property for aesthetics. This grabs the day, month, and year properties I mentioned earlier and aggregates them into a simple line of text that I could use to display the full date of an event. This works great with linked instances of this database that’ll be made in the pages for Characters, Locations, and Groups.

Locations, Characters, and Groups databases
These are pretty simple databases. I just created a name and a selection property for organizing.

The real meat of information for these three databases would come from the relations they had to the Events database. The content in each location, character, and group is the linked instance of the Events database that only shows events that are relevant to that record.

Episodes Database
Since this was a TV show, I broke it down by episodes instead of chapters — but it’s as easy as just changing the name of the database to use it for chapters of a book. If you’ve watched Lost, you’ll know that each episode is structured to focus on one main character so I created a relation property relating to the Characters database.
Then I just made a selection property for the seasons (or if this was a book series, it’d be books) to organize them for different filtered views I would have in the database.

Months and Eras
These two databases weren’t needed for making the Lost dashboard since Lost took place in the real world, but for my story, O Burning Star, I created custom Months and Eras.
If your story is set in a totally original world set apart from the real one, it’s probably not going to follow the Gregorian calendar of our world. It might have more or less than twelve months in its year and the months might have different names than ours. With this database, I could create custom months, set their order with the Order integer property, and create a relation property to the Events database so I could use them to help sort events.

Another thing with fantasy worlds is Eras or you can call them Ages if you’re writing something like the Lord of the Rings. Eras can be the large groups of years that are a secondary ordering variable for a history timeline. The count of years can start over when a new era begins. Like in the Lord of the Rings, a new age would mark the start of a new counting of years starting with a Year 0. Like the Months database, you can set the Order integer property to help sort the Events database even further.

The Benefits of my Timeline
Using this kind of structure for my own story, I’m able to keep better track of what is going on in it.
If I need to remember what events a character experiences, I can just look at their page from the Characters database and see a linked instance of the Events database that is automatically filtered to show events related to that character. And if I feel like I need to add an event to a character, I can just add it to that linked instance and it’s added dynamically to the Events database.

By tying chapters to specific events, I can make sure coinciding events that happen in the story happen in the right span of time. And if I ever need to make a change or move an event back, with the sorting capabilities that I made for the database, it’ll automatically shift the timeline in every instance that I have in notes of my characters, locations, and groups.
Ready to try it out?
Notion is a pretty powerful, yet simple platform to create dashboards and systems like this. It’s why it is now my favorite app right now for organizing pretty much anything in my life and work I can think of.
Oh yeah, Notion is also free to use.

If you’ve gotten this far in the article, you might be interested in my free Notion template, Fictional History Timeline, which has all the databases I talked about built and ready for you to use. Get the link here to duplicate into your Notion workspace. This fictional timeline maker is great if you need a DnD timeline for your campaign or if you are just needing a history timeline for your story.