A decision journal in Notion
Notion is a reasonable place to keep a decision journal, and if you already live there it has one advantage paper doesn't: filtered views can tell you which decisions are due for a look, so you don't have to remember any of them yourself.
This is the setup I'd build. It takes about twenty minutes. It assumes you've already decided which fields you want; if you haven't, the template lists them and the method essay explains why each one is there.
If you'd rather not build it by hand, the finished version is published here: open it, press Duplicate, and the database, its views and the chart land in your own workspace, sample entries included. The rest of this page is what each piece does and where it stops working.
One database, not several
Everything lives in a single database called Decisions. One row per decision, from the moment you make it through the second look months later. Properties:
- Decision (title) — one sentence, the call itself.
- Decided (date).
- Domain (select) — career, money, health, personal. Four is plenty to start.
- Prediction (text) — specific enough that a stranger could mark it right or wrong later.
- Confidence (number) — a plain number, 0 to 100. Log it in steps of ten; the scoring below depends on that, and ten-point bands are the resolution calibration is read at anyway.
- Review date (date) — when you'll know enough to judge it.
- Resolved (date) — empty until it resolves. This doubles as your open/closed flag, so you don't need a separate status property.
- Verdict (select) — yes, partly, no.
- Correct (checkbox) — ticked only on a clean yes. More on why this exists in a moment.
- Satisfaction (number) — 1 to 5, and a genuinely separate question from the verdict.
- Same call again (checkbox) — filled at the second look, not before.
The reasoning, what you're uncertain about, and what would change your mind go in the page body rather than in properties. They're paragraphs, and properties make paragraphs unpleasant to write.
One formula
Add a Formula property called Second look with this expression:
dateAdd(prop("Resolved"), 45, "days")
It stays empty until you fill in a resolution date, then shows when the delayed question is due. That's the only formula the setup needs.
A page template for new entries
In the database's New menu, create a template called something like "New decision" and paste this into its body:
## Reasoning
What I know, what I'm assuming, what I weighed.
## Most uncertain about
## What would change my mind
## State of mind
Tired? Rushed? Excited? It matters more than we like to admit.
## Check-ins
One dated line each time something new arrives. Two or three per decision is plenty.
## Resolution
What actually happened, and what I missed at decision time that was knowable.
Every new decision then opens with that structure already there, and you're filling in blanks instead of facing an empty page at the exact moment you're trying to think clearly.
Keep check-ins in that body as a running dated list rather than a related database. A separate Check-ins database is the tidier data model, but it costs several clicks per entry, and check-ins are the first thing you'll stop doing when they're slow. A line like 2026-05-11 — reorg happened, new PM wants weekly on-sites. Against. Now 55%. holds everything you need.
The views that do the work
Four table views, each filtered to answer one question:
Open — Resolved is empty, sorted by Review date ascending. Your standing list.
Due now — Resolved is empty and Review date is on or before today. This is the one you open on a Sunday; most weeks it's empty, which is the point.
Second look due — Resolved is not empty, Resolved is at least a month ago, Same call again is unchecked. Decisions that closed a while back and are waiting for the question people skip. Filter on the resolution date rather than on the Second look formula — Notion won't take a date comparison against a formula result, so the formula earns its place by displaying the target date, not by driving the filter.
Calibration — Resolved is not empty, grouped by Confidence, with the group size set to 10. You'll get sections headed 60 to 70, 70 to 80, and so on.
Scoring yourself without leaving Notion
The Calibration view sorts your resolved decisions into confidence bands. To read your hit rate inside each band, add one more view — a chart, bar type, with Confidence on the horizontal axis, the count as its value, and the bars stacked by Correct. Filter it to resolved decisions only; an open decision hasn't been scored yet, and letting it count as a miss makes you look worse than you are.
Each bar is then one confidence band, split into the calls you got right and the ones you didn't. That's the measurement: if the bar above 80 is mostly the wrong-answer colour, your eighties don't mean eighty. Reading the proportion by eye is a step short of a printed percentage, and it's the same information. (A ten-question test gives you a rough baseline while your first entries accumulate.)
This is why Verdict and Correct are two properties rather than one. The chart can only split on a checkbox, but real decisions land on "partly" often enough that collapsing them to a binary would throw away the honest answer. So Verdict keeps the record and Correct feeds the chart, ticked only when the call was cleanly right. Partials count as misses, which is strict, and I'd rather my calibration read pessimistic than flattering.
Where this stops working
Three places, in the order you'll hit them.
The chart gives you counts to eyeball, not a calibration curve, and it shows one cut at a time. Confidence bands or domains, not both. If you want to know whether you're sharper about money than about career decisions, that's a separate filtered view per domain, and it's manual every time you add one. The bands also depend on you logging round numbers — Notion groups a chart's values as it finds them, so a 73 and a 75 become their own columns rather than joining the seventies.
The confidence trail inside a single decision stays a list of lines. You can read that your confidence went 70, then 55, then 40, but Notion won't draw it, and the shape of that line over the life of a decision is often more interesting than where it landed.
The second look is the field that dies first. The formula computes the date correctly, but you can't hang a reminder on a formula result, so nothing pushes it at you; the date sits in a view you have to remember to open. Forty-five days after a decision resolves is precisely when you have the least reason to think about it, and that's exactly why the answer is worth having.
None of these are Notion being bad at its job. They're the cost of a general tool doing a specific thing, and for a lot of people the trade is fine. If you're mostly after a structured place to write predictions down before you know how they turn out, the setup above will serve you for years.
Full disclosure: I make Reckon, an iOS app built around this same loop, where the second look arrives on its own and the calibration curves split by domain without rebuilding a view each time. One-time, no subscription. The Notion setup above is a real one and I'd rather you ran that than nothing at all; the app is for when the scoring and the remembering have become the reason you stopped.