On the screen, four small boosts sat in a row: 0.30, 0.25, 0.20, and 0.15. I had added them one by one to help a note-finding system make better choices. A note waiting more than five days got 0.30. Something due within a week got 0.25. An overdue follow-up got 0.20. A recently updated note got 0.15. The math was neat. The choices were not.

The system was meant to gather a small stack of useful notes whenever someone asked a question. That stack would then give an AI the background it needed to answer well. I started by putting almost all the trust in cosine similarity, a way of asking whether a question and a saved note are close in meaning. Then I added those four boosts on top.

It sounded sensible at first. If a note matched the words in the question, it should rise. If it was also due soon or had been waiting around, it should rise a little more. The trouble was that the close match got the whole starting score. Everything else was just a sticker added afterward.

That first approach did not crash. It did not produce wild numbers. A test would have happily watched it run. The problem was what the formula quietly believed: that a close text match mattered more than anything else, by default. I had not meant to make that choice, but the formula had made it for me.

The cost was time. The target for this first version was blunt: the bundles of notes had to be relevant more than 80% of the time in daily use. Until that happened, I could not move on to building the more visible parts of the product. A ranking system that repeatedly hands over the wrong background makes the whole thing feel dumb, even when every screen looks polished.

Picture a question about what needs attention now. An old note from a project that has been quiet for a long time might use almost exactly the same words as the question. It could beat a slightly less perfect match that is important, active, and overdue. The old formula could only correct that mistake by adding yet another special bonus. Soon the ranking became a junk drawer full of little exceptions.

The fix was not a fifth sticker. I changed the starting score so it was shared on purpose. Sixty cents of every dollar went to how closely the note matched the question. Twenty cents went to importance. Fifteen cents went to recent activity, called heat in the system. The final five cents went to whether the note was active, waiting, dormant, or something else.

That adds up to a whole dollar. It matters because changing the balance now has an honest cost. If importance should get 25 cents instead of 20, those extra five cents must come from somewhere, usually the close-match portion. Nothing appears from thin air. The choice is visible.

The status of a note also became part of the starting score instead of an afterthought. An active or waiting note got the full share for that part. A dormant note got half. Anything else got none. Two notes with the same words could now land in different places for a reason a person can explain: one is still alive in the work, and one is not.

There was one smaller detail that could have quietly spoiled the rewrite. Many notes did not yet have an importance score or a heat score. It would have been easy to treat a blank as zero. That would punish every note that had not been labeled yet. A missing label is not the same thing as a bad note.

So a blank got the middle value instead: 50 out of 100, or 0.5 after it was converted for the formula. In plain language, the system says, “I do not know enough to push this note up or down.” That is much fairer than hiding it because nobody has filled in a box yet.

The time-based boosts stayed. That was the part of the old idea worth keeping. Waiting more than five days, being due within seven days, having an overdue follow-up, or being updated in the last 48 hours are not permanent facts about a note. They are reasons to move it up the line today. Those bumps still get added after the shared starting score, and the final result is capped at 1.0.

That split made the whole setup easier to defend. Some facts describe what a note usually is: how close it is to the question, how important it is, whether it is active. Those belong in the basic mix. Other facts describe a short-lived squeeze, like a due date closing in. Those deserve a temporary nudge.

On Monday, pick one list that decides what gets your attention: an inbox, a job board, a notebook, or a stack of paper on the counter. Ask one question: what on this list is truly important, and what is only urgent today? If the two are being handled the same way, the old note may be winning there too.