My Work — fixing follow-ups (owner brief)
*Plain-language summary. The detailed build plan is linked at the bottom.*
What this fixes
You reported three things about follow-ups in My Work, and all three are real — we traced them in the code, not just the screen:
- Clicking a follow-up sometimes does nothing, and it's inconsistent — some rows work, some don't. This is a genuine bug, not a visual nit. A follow-up click is supposed to take you somewhere useful, but for a large class of follow-ups it quietly lands you on the big task board with nothing actually opened. Activity rows (calls, emails) *do* go to the right record — so two rows that look identical behave differently, and one of them is broken. That mismatch is exactly what you were seeing.
- When it does go somewhere, it's the wrong place and it's slow. It drops you on the heavy generic task list instead of the company or person the follow-up is about — even though the row shows you that company's name.
- There's no clear way to mark a follow-up done — and "log activity" feels like part of snoozing. Right now the little circle on the left silently marks it done but records nothing about what happened, while "Log activity" (which does record it) is buried inside the snooze menu *and* doesn't actually close the follow-up. So the two halves of one natural action — "I did this, and here's what happened" — are split across two controls that don't talk to each other.
We also checked how the best CRMs handle this (Pipedrive, HubSpot, Salesforce, Close) and the best task apps (Things, Todoist, Superhuman). They all agree on the same answers, and this plan adopts them.
Architecture decisions
- One reliable way for any row to open the right thing. Today there are three different code paths behind rows that look the same; we collapse them to one consistent rule: a follow-up opens the company/person/project it's about, with the follow-up itself opening in place on that record. If a follow-up isn't tied to anyone, it opens directly and reliably — never the "nothing happened" dead-end.
- No new database changes and no new permission settings. Everything reuses what's already there. Completing, logging an outcome, and scheduling the next step all ride existing permissions, so view-only users stay view-only and nothing new needs configuring.
- One source of truth for the home "Your work" panel. Today that dashboard panel is a *separate* hand-built copy of the My Work list that drifts out of sync. Per your call, it becomes a differently-sized rendering of the *same* list — same row, same behaviour — so it can never diverge again and every fix shows in both places automatically.
Logic decisions
- Completing a follow-up captures what happened — offered, never forced. One tap still marks it done instantly (no friction). For a call/email/meeting follow-up, you're then offered a quick way to record the outcome and, if you want, schedule the next step — the way every serious CRM works. Ignore it and you've still completed the task in one tap.
- What you log actually attaches to the follow-up. Right now, even if you log something, it wouldn't connect back to the follow-up. We're fixing that so the outcome shows up on the customer's timeline and on the task as "this is what happened."
- A safety net: one-tap Undo. Since we're making the "done" control more prominent, accidentally completing the wrong row should be instantly reversible — a standard every reference app has and ours currently lacks.
UI decisions
- "Done" and "snooze" become clearly different things. "Log what happened" comes out of the snooze menu entirely — completing is the primary action on the left, snoozing is a clearly separate secondary action. They'll never feel like the same thing again.
- The "mark done" control becomes obvious. Today the circle looks decorative, so it's not clear it completes the item — we make it read unmistakably as "complete," at every screen size and on touch.
- Honest loading and error states. No more clicks that look like nothing happened; the error state gets a real retry instead of a dead "please refresh."
- Everything follows the app design playbook — the calm, elevated look, no clutter, no "AI slop," works cleanly on phone and desktop.
What this touches
- The My Work page and the "Your work" panel on the home dashboard (brought to the same standard).
- The way a follow-up opens its company / person / project.
- The existing "log an activity" composer (reused, not rebuilt) and the existing notion of scheduling a next follow-up.
- No new data, no new permissions, no new pricing or marketing surfaces. A small help-center note gets added.
Decisions you've made (locked in)
- Completion offers both "Undo" and "Add outcome." ✅ One-tap Undo (safety net) plus an offered outcome capture for calls/emails/meetings.
- Scheduling the next follow-up is nudged by default. ✅ Pre-suggested for calls/emails/meetings — skipping is the deliberate choice. (Say the word if you'd rather it be quieter.)
- The broken "Reassign" button ✅ now opens the task itself, which has a real owner control (the industry-standard way to reassign).
- Follow-ups about a project ✅ open on the project, in context — same as company/person follow-ups.
- The home "Your work" panel ✅ becomes one-and-the-same with My Work — a smaller rendering of the same list, never a separate copy.
→ Full implementation plan (current-plan.md)