A project management tool without a conversation is a todo list. Tasks move across columns, somebody writes a status in the description field, and the actual discussion — the one about whether the scope is right, whether the date still holds, whether the design is finished — happens in Slack, in DMs, in an email chain the new hire isn't on.
The conversation belongs next to the task
You don't need another Slack. You need the conversation anchored to the thing it's about. A task has a comment thread. A project has an activity feed. Both use the same auth, the same users, the same backend.
Feeds at the project level
Project stakeholders want a digest of what happened. Feeds scoped per project delivers it — releases, comments, reactions, and the running narrative of what the team shipped.
<wy-feed uid="project-<%= project.id %>"></wy-feed>
Posts can be auto-generated from the system — "Sam moved 3 tickets to Done" — or written by hand. Mentions notify the right people. Unread badges tell them when they've caught up.
Chat per task
Each task gets its own thread. Drop the Chat component on the task modal and the conversation is attached to the entity instead of lost in a DM.
<wy-chat uid="task-<%= task.id %>"></wy-chat>
Mentions, attachments, presence — when the designer drops a mock into the thread, it shows as an inline preview. When the PM closes the task, the conversation stays attached to the archive.
Thread summaries when someone joins late
Four-week-old task, new engineer assigned. Instead of reading 60 comments, they click summarize. Pluggable model, in-component, no extra tab.
What you don't have to build
- A task-level comment thread that doesn't fall out of sync with the task's status.
- A project-wide feed with unread state that works across devices.
- Mentions, attachments, and presence — the table stakes nobody budgets for.
The PM tool stops being a place where tasks move and starts being the place the work actually gets discussed.