One cool thing about Notion is the ease of changing up the architecture or system that you use without needing to mess too much with the underlying data. Databases and pages can be moved left and right, under and over top of other pages, and it won't make a difference.
That said, you still need some sort of organizing principle! Without that, Notion can quickly become overwhelming and unhelpful. My architecture has evolved through this fairly organically and used methods parallel to some Notion thought leaders. But I've always tried to keep my own spin on it because, well, that's just how I do things!
That said, I'm excited about the new setup as I think it provides a better experience than any system I've tried thus far. Without further ado, let me introduce you to the notorious APD.
APD stands for Apps, Projects, and Databases. And true to form, here is the full extent of my top-level Notion organization:
Keep it simple, they say! Anyway, let's talk about each layer to this, starting at the bottom.
And actually, before we get going: a word about why architecture is important. System architecture provides a framework and organization. Without having a clear guiding principle, your system (your Notion environment in this case) will quickly become messy and unmanageable. Maybe you can handle a few pages just putting them anywhere, but if you want to get big, you will need a good architecture that defines where you put things and how they interact.
Let's dive in:
Databases, true to form, are tables in Notion that store all of your data. However, beyond the initial design, they should not be interacted with directly.
While Notion does have a ton of great views that can be layered directly on to a database, these are best done in the project or app layer through linked views to those databases.
Why is that? A few reasons:
- You likely will end up with a few too many views on your databases, such that the view dropdown will become a bit overcrowded and overwhelming to look at.
- You can reduce the number of clicks to get from one view to another from 2 clicks down to 1 click!
- There are many use cases that, as we'll get into, can greatly benefit from having 2 or more side-by-side views on the same or different databases rather than a single view.
- This also just follows general best practices around data storage and interaction. It frees us up to architect how we interact with the data rather than trying to combine the acts of storing the data and interacting with it.
Projects are any effort, event, goal, or process that we are working on. Yes, that is broad! And admittedly I have about 100 of them at the moment!
But our project table can easily use categories to filter things down. Many of these are more just aggregations of tasks, which we'll get to later. And many more are inactive... serving a bit as knowledge repositories for projects past and future. Heck, I even have one project that is just called "GPT-3 Thing" which has no content and is listed as Inactive. You get the idea.
But for anything that is active, it is helpful to have one single place to put everything around a topic. One active one is the Wedding Planning project, although I'll admit my lovely fiance is doing more of the updating on that one.
What are some other examples of projects?
- This Productivity In Notion series is a project! Although the articles themselves are hosted in my writing database
- Gardening - documenting the process of building out a garden
- Family Vacation to Utah - building out a trip agenda, saving where to stay, etc.
- Learning a new skill, e.g. Data Streaming - taking notes and saving resources on the topic
- Entrepreneurial Idea Board
- Housing Property Search
- My Principles - a short doc of general principles I try to adhere to
- Subscription Tracking - keeping track of all of my software subscriptions and managing that budget
Hopefully that gives you a sense - these are quite varied! But in general it serves as a repository for any area of life whether defined in scope (e.g. a vacation) or used for long-term tracking.
Last, but certainly not least, are apps. Apps function just as apps on your phone or computer would: they are focused around a single use case that is generally interacted with on a daily (or near daily) basis. An app may interact with one or many databases and/or projects depending on the need.
So why treat things as apps analogous to phone apps? Quite simply because the concept of apps evolved for a very good reason! They appeal to how we natively act and think about things by being very focused on one particular use case, e.g. task tracking.
What this enables is that each app is designed to be very curated for that particular use case. For task tracking, we can be very focused on making the act of creating tasks, organizing them, and completing them is as easy as possible.
Put another way, apps focus purely on optimizing the user experience of, say, managing tasks. And because these are fully divorced from the underlying data tables, it is incredibly easy to build and test a new interface. You can create a "Task Tracker 2" and because it is updating the same underlying database as "Task Tracker 1," they can be used interchangeably without worry of data getting out of sync.
So what are the apps? The first few that are fully built out are:
- Notasky - a task tracker
- HabitBlaster - a habit tracker, which I also recently wrote (Notion Habit Tracking) about that leverages the Notion API
- nJournal - a journal
- nPRM - a personal CRM
"But why not use actual apps?" one might ask. The answer is simple: none of them offer the flexibility and customizability that Notion does. And none of them have an interconnected data structure that let's the apps work together. Lastly, by building within Notion, I have control over the design, process, and the underlying data is always easily accessible.
And there is one last step: Notion's widgets for iOS make it simple to add pages or "Apps" directly to your homescreen. Case in point: here is the top of the first page of my phone:
As stated up top, I believe this high-level architecture optimizes how you can develop cool and useful tools within Notion. And because the apps are built separate from the underlying data, it enhances Notion's already great ability to experiment and innovate. The app layer enables you to really get creative on how you design easy-to-use interfaces. And the project layer serves as a great repository for various personal projects.