DEV Community

Oleksandr
Oleksandr

Posted on Edited on

Why I Treat My Personal Notion Templates Like a Database Schema

As software engineers, we spend our days designing database schemas. We normalize tables, set up foreign keys, and obsess over data integrity. It’s beautiful, logical, and it works perfectly in production.

So, naturally, when I started building my own productivity system in Notion, I applied the exact same logic. I created a relational masterpiece. I had a Tasks table with a relation to Projects, which was related to Areas of Life. I had rollups, formulas, and linked views.

It looked like a well-architected microservice. It was also completely useless.

The Problem with Over-Normalization
In databases, over-normalization leads to slow queries because you have to JOIN 10 tables just to get one piece of data.

In productivity, over-normalization leads to decision fatigue. If I wanted to add a task like "Buy milk," I had to decide: Is this a project? Is it an area? What's the energy level? What's the priority?

I was spending 15 minutes a day just doing data entry. My brain was spending more energy managing the system than actually doing the work. I was experiencing massive "cognitive load" just trying to open my dashboard.

The Refactor: The Flat Table
I decided to refactor my entire system. I deleted all the relations and rollups.

Now, my task manager is a single, flat table. It has only three columns:

Task Name (String)

Status (Select: To Do, In Progress, Done)

Date (Date, optional)

That's it. No complex JOIN logic. No dependencies.

If I need context, I just write it in the task name (e.g., "Buy milk for Project X"). I use a simple filter: Status != Done. When a task is checked off, it disappears from my view.

Why This Works Better Than Relational Databases
Low Friction: Adding a task takes 2 seconds.

No Dependency Hell: If I don't update my "Life Areas" database, my daily task list still works perfectly.

Mental Clarity: A flat list is easy to scan. A relational dashboard requires cognitive parsing.

The Lesson
We love building complex systems because it makes us feel like good engineers. But good engineering is about solving a problem with the least amount of complexity necessary. Your personal life doesn't need a relational database. It needs a list.

If you want to see how I structure this minimalist approach (with a few clever formulas for prioritization), I’ve shared my exact schema in the ADHD Daily Planner.

How do you structure your tasks? Are you a relational database person or a flat list person? Let me know!

Top comments (0)