
Notion Formulas Explained: Practical Examples for Everyday Use
Notion formulas can transform your static databases into dynamic, intelligent workspaces that automatically calculate, categorize, and update information based on your data.
David Neira is an official Notion Ambassador and the founder of NotioStore, where he builds custom Notion operating systems for architecture, construction, and interior design firms. He run 40 Notion Setup Sessions per week and writes here about making Notion hold up under real client work.
You built something ambitious. A dozen interconnected databases, relations running everywhere, rollups feeding dashboards, and for a while it was magnificent. Then it started to sag. A change in one place quietly broke three others. Nobody could remember why half the relations existed. Adding anything meant untangling everything first, so eventually you stopped adding and started working around the very system meant to help. It didn’t buckle because it was too ambitious. It buckled because it was never really architected.
Complex systems don’t fail because Notion can’t handle complexity; it handles a great deal. They fail because they’re built without architecture, one database bolted onto the next until the whole thing is a tangle nobody dares touch. Good Notion database architecture is a small set of principles that keep a complex system clear, sound, and maintainable however large it grows: model your real objects, connect them deliberately, keep one source of truth, and separate your data from your interfaces. Get those right, and complexity stops being fragility and becomes capability.
The usual cause of collapse is that a system grew by accretion rather than design. Each database was added in the moment to solve an immediate need, with no thought for how the whole fit together, so relations sprawled, data got duplicated, and the structure became something nobody, including its builder, could fully hold in their head. It works until it doesn’t, and then it fails in ways that are hard to trace precisely because there was never a plan to trace back to.
The cost of that is severe, because a complex system is a serious investment. When it becomes fragile, changes trigger cascading breakages, and you lose trust in it, which is fatal, an operational system you can’t trust is worse than no system, because you now maintain it and route around it. Worse, a tangled architecture can only live in one person’s head, so it can’t be handed over or safely modified by anyone else, and the day that person leaves, the whole investment walks out with them. Bad architecture doesn’t just make a system messy; it makes it a liability.
Good architecture is a handful of principles applied consistently. Here are the ones that hold a complex system together.
Model your real objects first. Before building anything, identify the actual things your business revolves around, clients, projects, tasks, invoices, and give each its own database, one per object. This object model is the foundation of the entire architecture, and getting it right, clean, distinct objects that match reality, is what everything else rests on. Most architectural disasters trace back to a muddled object model, databases that mix two things or split one.
Design your relations as the architecture. In a complex system, the relations between databases are the architecture, they define how everything connects and how data flows. So design them deliberately: a client has many projects, a project has many tasks, an invoice belongs to a project. Map these connections intentionally rather than adding relations reactively, because a thoughtful relation structure is navigable and a reactive one becomes the tangle that sinks the system.
Keep a single source of truth. This is the principle that separates architectures that scale from ones that rot: every piece of data lives in exactly one place, and everywhere else references it through relations and rollups rather than copying it. A client’s details live on the client record, once, and every project, invoice, and document points to that one record. Duplicate data is the enemy of a complex system, because the moment the same fact lives in two places, they drift, and you can no longer trust either.
Separate your data from your interfaces. Your databases are the foundation; the dashboards and views people actually use are a separate layer built on top. Keep them distinct. The raw databases hold the data in its clean structure, and linked, filtered views assemble the right slices for each person and purpose, so nobody works in the raw foundation and the interfaces can change without disturbing the data beneath. Conflating the two, cramming interface concerns into your data structure, is a common way complex systems become rigid.
The final principle is judgment: architect for growth, not for everything. Design the system so it can extend, add new objects and relations without rebuilding, but resist the urge to architect every possible future need upfront. The two failure modes are equal and opposite: too rigid, and it can’t grow; too elaborate, and it collapses under complexity it never needed. Build the simplest architecture that handles your real complexity, and let it grow deliberately.
Here’s it working. A construction company built an ambitious Notion system to run its multi-project operations, jobs, crews, subcontractors, materials, costs, and within a year it was an unmaintainable tangle: data duplicated across databases, relations nobody understood, a change to one thing breaking others. They re-architected it on these principles: a clean object model, deliberate relations, one source of truth for every fact, and dashboards separated from the data. The system handled the same complexity, but now it was navigable, stable, and something more than one person could maintain and extend. The complexity hadn’t changed; the architecture had.
Sound architecture is not the same as maximum complexity, and this is the trap experts fall into least but beginners fall into most: the best architecture is usually simpler than what people build. Complexity should be forced by real need, never added because you can, so if a principle here would add structure your business doesn’t actually require, don’t apply it. Over-architecture is as damaging as no architecture.
Architecture also won’t overcome Notion’s real limits. At genuinely extreme scale, enormous datasets, very heavy relational processing, Notion can hit performance ceilings that no amount of good design removes, and at that point a dedicated database may be the right tool. Good architecture makes Notion handle far more than most people think, but it isn’t infinite, and knowing when you’ve outgrown it is part of architecting well.
And you can’t fully architect upfront. Some of the structure only becomes clear as you learn your real needs, so the goal isn’t a perfect plan on day one but a sound foundation designed to evolve. Even well-architected systems need maintenance as the business changes; architecture reduces that burden, it doesn’t remove it. Finally, be honest that this is genuinely hard, architecting complex systems well is a real skill, and it’s exactly where most self-built systems go wrong. Where these principles pay off is any system complex enough that a tangle would cripple it, which is most systems worth building.
Don’t open Notion. Take a piece of paper. Before you build another database, sketch your architecture: list your real objects, the things your business is actually made of, draw the relations between them, and then check the one rule that matters most, does every piece of data live in exactly one place?
That ten-minute sketch, done before any building, is the difference between a system that scales and a tangle that collapses, because architecture is decided before construction starts, not patched in afterward. Get the object model and the relations right on paper, commit to a single source of truth, and you’ve done the most important architectural work there is. The building is the easy part once the design is sound.
If you’re building something complex enough that the architecture genuinely matters, and you’d rather have it designed properly from the start than rescued from a tangle later, book a discovery call and we’ll architect it with you, on the databases and relations that turn complexity into one system that holds together.

Notion formulas can transform your static databases into dynamic, intelligent workspaces that automatically calculate, categorize, and update information based on your data.

Notion’s Custom AI Agents are real and genuinely capable, but they read and act on your workspace, which means a disorganized workspace produces a useless agent.

Good Notion database architecture is a small set of principles that keep a complex system clear, sound, and maintainable however large it grows.
Subscribe now to keep reading and get access to the full archive.