Inspiration
Most project delays do not appear suddenly. They are usually visible earlier as scattered Slack messages: a blocker in one thread, a missing owner in another, a launch date assumption somewhere else, and one overloaded teammate quietly carrying too much work.
SignalRoom was inspired by that problem. I wanted to build a Slack agent that does not just summarize what happened, but predicts what is likely to break next.
What It Does
SignalRoom is an AI-powered Slack project-risk agent. When a team runs /signalroom launch, it reads recent project conversation context and returns an evidence-backed launch risk report.
It detects:
- Blockers
- Missing ownership
- Owner overload
- QA and dependency risks
- Decision conflicts
- Launch-date risk
SignalRoom also supports:
/signalroom brieffor a short rescue plan/signalroom timelinefor a decision timeline/signalroom whatif deployment slips 2 daysfor scenario simulation- Low-confidence behavior when there is no evidence for a requested scenario
Every risk includes real Slack evidence, so the agent feels trustworthy instead of speculative.
How I Built It
SignalRoom is built with Node.js and Slack Bolt.
The Slack app uses:
- Slash commands
- App mentions
- Slack AI assistant-style agent behavior
- Slack conversation history as live project context
- Real-Time Search provider support with safe channel-history fallback
- Optional MCP-style tool integration for external project evidence
- Block Kit responses with action buttons
The core engine normalizes Slack and tool evidence into a risk graph, classifies project signals, deduplicates repeated risks, scores launch readiness, and generates rescue recommendations.
The app is deployed on Render and connected to Slack through Socket Mode, so judges can test it directly inside the Slack workspace.
Challenges
The hardest part was making SignalRoom feel honest.
Early versions repeated risks, overused demo-specific phrases, and sometimes sounded too confident. I improved the system so it deduplicates evidence, generalizes across different project channels, and admits uncertainty when a what-if scenario has no supporting evidence.
Another challenge was Slack formatting. Slack messages can become hard to read quickly, so I tuned the output to show only the top risks in the main report and move deeper detail into the brief, timeline, and what-if commands.
Deployment also required care because Slack Socket Mode does not naturally expose an HTTP port. I added a lightweight health server so the hosted Render service stays live and can be monitored.
What I Learned
I learned how to build a Slack-native agent that is more than a chatbot. The strongest Slack agents do not just answer questions; they use workspace context, reason over evidence, and help teams act.
I also learned that trust is more important than sounding smart. SignalRoom only shows risks that have evidence, and when it does not know something, it says so.
What Is Next
Next, I would expand SignalRoom with production MCP connectors for GitHub, Linear/Jira, Google Calendar, and docs. I would also add project setup commands so teams can define launch dates, watched channels, owners, and risk policies directly from Slack.
The goal is for SignalRoom to become a real-time project risk room inside Slack: always watching for hidden risk, always grounded in evidence, and always focused on the next rescue move.
Log in or sign up for Devpost to join the conversation.