Follow topics, not channels
Slack users face an impossible choice: keep notifications on and drown, or mute and miss the one decision that mattered. Keyword alerts are dumb string-matching. Recap summarizes channels you already picked. Nothing watches for meaning, everywhere, in real time.
Takt inverts Slack's model: you subscribe to topics, not channels. Tell it in plain language — "follow anything about the payments migration, interrupt me only for decisions" — and Takt sweeps the entire workspace (including channels you don't follow), triages everything new with an LLM, and interrupts only when something that matters is forming. Everything else waits for a daily digest. Ask "what happened with X?" and it streams thinking steps live, then delivers a cross-channel narrative with a permalink to every source. Each topic is an app-like object: a pinned live card in your DM that all activity threads under.
The three technologies — each load-bearing
- Real-time Search API (
assistant.search.context): background sweeps per topic + on-demand story assembly. Takt is structurally impossible without it. - Slack AI capabilities: agent surface, suggested prompts, chat streaming with thinking-step task cards, new Alert Block Kit component.
- MCP server integration: the LLM is handed Slack's hosted MCP server (mcp.slack.com) during narrative stitching to pull full thread context around RTS hits.
Engineering
- Zero-copy: no message content persisted — SQLite stores topic queries, cursors, permalinks only
- Rate-limit-first: one RTS call per topic per sweep, global cooldown honoring retry-after, batched triage
- Graceful degradation: new Block Kit → classic blocks, streaming → status text, MCP → plain stitch
- Trustworthy by design: digest by default, every interrupt explains why, one-click controls, strictly read-only
Does this exist?
Keyword alerts are proactive but dumb. Recap is smart but reactive and channel-scoped. Nobody does proactive + semantic + workspace-wide — because until RTS shipped in Feb 2026, no app could. Takt is what keyword alerts should have been.
Built With
- anthropic-claude
- block-kit
- javascript
- node.js
- slack-bolt
- slack-mcp
- slack-rts-api
- sqlite
Log in or sign up for Devpost to join the conversation.