Fixes and Fails from Real Digital To-Do List Systems
1. Cross-platform sync issues between Notion and Google Tasks
Notion is where ideas start, but Google Tasks is where things happen — that’s been my accidental system for almost a year. The problem starts when something marked as “Done” in Notion still shows up on today’s list in Google Calendar. Add in a daily automation using Make.com to sync both directions, and you’ll eventually notice something off: phantom reactivations. Stuff marked as completed three days ago randomly reappears, timestamped “now.”
This isn’t a trigger misfire — it’s a data mismatch. Notion’s task completion field is usually a checkbox; Google Tasks uses a status enum. If you set both automations to fire on any change — like I did initially — you’re dancing in an infinite loop. Checkbox gets unchecked because Google pushed a status update, which triggers Notion again… and round the loop goes.
“Checkbox = true” does not always mean “task is completed” — especially if someone manually toggles it by accident.
Instead, you have to introduce a timestamp check. I created a workaround using Make’s conditional logic: Only mark the Google Task complete if Notion’s checkbox matches AND hasn’t changed in the last 5 minutes — extra buffer to intercept race conditions. It’s been relatively stable since. Relatively.
2. Multiple people editing the same list in different apps
During a project sprint last quarter, we had the same five tasks in four places: Linear, Google Docs, Notion Kanban, and one sad Asana workspace someone forgot to archive. Everyone was “just updating their view”, but two tasks got marked done in one app and dropped completely from the other three. No one noticed for five days.
Here’s what broke:
- Linear → Notion sync had no fallback when a task disappeared. If a dev archived something early, the auto-cleaner removed it from Notion entirely.
- Asana wasn’t even connected to anything—somebody just added it as a backup and forgot.
- Google Doc checkboxes weren’t parsed by Zapier, so those versions of “Done” went into a black hole.
We ended up defining a single source of truth — Notion database view tied to a specific tag. Everyone got a ‘Task Tracker’ link in Slack and we used a Make scenario to backfill changes into other tools, but only in one direction.
3. Filtering tasks using smart conditions that actually work
Airtable had me fooled for weeks. I thought my filtered view of “only unresolved tasks for this week” was bulletproof until I looked at the base itself and saw a bunch of overdue stuff still sitting untouched.
The culprit? My filter was set to “Due date is on or before today” AND “Status is not completed.” Turns out, if the Due Date is empty, it skips the filter entirely. Airtable ignores null fields in some filter conditions.
You either need to add another clause like “AND Due Date is not empty,” or restructure your formulas. I ended up using a formula field called DueWindow
:
IF(
AND({Due Date}, {Status} != "Complete"),
IF({Due Date} <= TODAY(), "Show", "Hide"),
"Hide"
)
Then filtered to only rows where DueWindow = “Show”. It’s dumb, but it caught every missed task I was sure had been filtered out properly.
4. Tasks disappearing silently from iOS widgets or quick views
I kept marking things done from the iOS widget for Todoist, only to find out those tasks never actually updated on the web app. They vanished visually from the widget, but when I synced later on desktop, they reappeared — unchecked.
This only happened when I was offline or in airplane mode. Todoist’s widget doesn’t queue actions reliably when offline unless the full app opens at some point after. So if you check a box via the widget and then switch apps, the action might not get cached.
There’s no asterisk, no warning, no feedback. It looks like it worked.
Clicked done. Still done on the widget. Five hours later: undone and overdue on desktop.
Now I force the app to open after any major edit from quick views. Dumb but safe. They fixed part of it two versions ago, but I still don’t trust it alone.
5. Sorting by priority while grouping by status can backfire
If you use Trello or ClickUp and you’ve tried grouping tasks by status — e.g. “To do,” “In progress,” “Done” — but still want high-priority stuff at the top, you’ve maybe noticed this: nothing sorts the way you expect.
Say you drag something with “High” priority into “In progress.” It shows up… somewhere in the middle of the column. That’s because their priority sort doesn’t persist across grouped lists unless you nest another sort layer, which Trello doesn’t support natively and ClickUp supports inconsistently (and doesn’t tell you that in the UI).
I tried using custom fields to force a sort, but ClickUp resets that sort config when you reload — unless you save the View. Not obvious at all. Saved views are the only way to preserve multi-layer sorting across groups. That tiny dot next to “Save view as default” — yeah, that’s what broke everything.
6. Task duplication rules in recurring templates are inconsistent
In Notion, I used a duplicated daily planner template using the Template Button block. For weeks, it was working beautifully. Click the button, get a fresh daily list. Except that eventually, earlier lists started getting overwritten — like buttons had linked back to the same original blocks, despite duplications.
Not documented anywhere: if you use inline linked databases inside a template block, Notion sometimes reuses block IDs unless you change them inside the configured block. Even though the visual template looks isolated, some embedded components reference the same original ID underneath. My recurring tasks were all pointing at the same record.
Fix: redefine the inline blocks inside each template. Don’t drag in existing views. Recreate them manually and save from scratch. Once I did that, duplication was finally clean.
7. Keyboard shortcuts that break in split-screen or command overlays
Coda has a beautiful keyboard interface — unless you’re in a modal popover or a Chrome extension panel. I tried to quick-enter a task using Cmd+Enter from a half-size window pane, and it submitted… nothing. The keystroke just got swallowed somewhere between Coda and macOS focus behavior.
Same thing happened with Notion when I had Spotlight open. Pressed Return to create a sub-task, and ended up triggering nothing, because the command palette was silently still focused.
If you do a lot of split-view, keyboard-native tool work (Obsidian, Notion, Coda, Raycast), this gets real frustrating. For now I’ve trained myself to double-tap ESC before any action. Total ritual. ESC clears modals, overlays, Solves nothing but stops everything… which is at least better than ghost action failures.
8. Checklist inside notes are not logic-driven objects
This one got me while trying to parse Evernote exports into structured to-dos in Zapier. Turns out, the checklist items inside most note-taking apps (including Bear, Apple Notes, and even Legacy Evernote) aren’t structured as JSON lists. They show up as rich text formatting — not a proper array.
So parsing via automation ends up pulling a blob of text like:
☐ Email Mark
☑ Outline Friday brief
☐ Fix images in header
No way to conditionally grab only the incomplete ones without resorting to regex or AI summarization. Not ideal for atomic task import.
I ended up piping the notes through OpenAI’s function calling model via Make.com, asking it to return only unchecked tasks. It’s messy but shockingly effective. You just have to chunk the notes by character limits and remember that anything over around a thousand characters gets unreliable fast.
“Return only tasks that are incomplete checkboxes in this list” — that prompt works 80 percent of the time and I still manually check the rest.