<aside>
<img src="/icons/activity_blue.svg" alt="/icons/activity_blue.svg" width="40px" /> This is the “proper” database setup for a habit tracker. However, Notion is missing the ability to create an additional UI layer to tie it all together.
Adding a new habit: Create an entry for it in Habits. Create a template for it in Habit Logs, relate the template to the Habit entry, and set it to repeat on the desired schedule. Ensure the new Habit is related to Aggregator.
Pros of this approach:
- You can track habits that have non-daily schedules without having broken streaks.
- No need to adjust any formulas when adding or removing habits.
- No need to create new properties. Only entries and templates are created.
- Actual work of setup is lower than Level 5 tracker.
Cons of this approach:
- Stats must exist in separate databases. Habit Score has to be in the Journal database, while Streaks must be in the Habits database.
- Can’t display a day’s habits within a Journal entry.
- Conceptually more complex to set up. Requires linking up 4 databases (Aggregator database functions solely as a proxy for SQL queries, giving Journal access to Habits and Logs).
</aside>
Habit Log
Habits
Journal
Aggregator