Inspiration
Most teams do not lose decisions because people are careless. They lose decisions because the reasoning lives in Slack threads, meetings, emails, and scattered documents.
Slack is where the real conversation happens. Someone asks a question, teammates debate options, evidence gets shared, risks are raised, and eventually a decision is made. But weeks later, the team often remembers the outcome without remembering the “why.”
Scientia was built to solve that problem.
Scientia is a Slack-native decision infrastructure agent that turns messy team conversations into structured, reviewable decision records. Instead of letting important reasoning disappear in chat, Scientia captures the question, options, evidence, risks, stakeholders, recommendation, and outcome so teams can preserve institutional memory directly from where work happens.
What it does
Scientia lets a team capture a decision from Slack using either:
/scientia capture@Scientia capture
The agent reads the relevant Slack thread, extracts the decision context, and generates a structured Decision Card. The card includes the decision question, recommendation, confidence, evidence, risks, and next-step actions.
Captured decisions are persisted as durable RadixOS decision drafts, including evidence rows, audit events, and snapshots. This means the Slack conversation does not just become a summary — it becomes part of a decision system that can support review, traceability, and future organizational memory.
Scientia also includes a web Decision Log where captured decisions can be viewed as part of the broader RadixOS/Scientia system.
How we built it
We built Scientia as a Slack Agent integrated into a Next.js application with API route handlers for slash commands, Events API app mentions, and Slack interactivity.
The architecture includes:
- Slack slash command and app mention ingress
- Slack request signature verification using HMAC-SHA256
- API rate limiting
- workspace-to-tenant mapping using Slack team IDs
- Slack thread resolution
- AI-powered decision extraction through provider interfaces
- MockProvider for deterministic demo behavior
- GeminiProvider support for AI extraction
- durable Postgres-backed decision draft persistence
- RadixOS decision tables for decisions, evidence, audit events, and snapshots
- Slack Block Kit Decision Cards
- deep links into the Scientia web app
The system is designed to fail honestly. If a thread cannot be resolved in production, Scientia does not fabricate a decision. It returns an honest failure response instead.
Challenges we ran into
The hardest part was not just generating a summary. The real challenge was preserving decision integrity.
A decision record needs more than a paragraph of text. It needs the original question, supporting evidence, risks, stakeholders, confidence, recommendation, audit trail, and a durable place to live after the Slack conversation ends.
We also had to separate demo behavior from production behavior. Local and test environments can use deterministic fixtures, but production capture needs to resolve real Slack thread context and persist the result durably.
Another challenge was keeping the architecture honest. The current implementation persists Slack-captured decisions as RadixOS drafts, while Slack card Approve and Request Changes actions are still placeholder responses in this branch. A working promotion route exists, but wiring those buttons end-to-end is the next integration step.
Accomplishments that we're proud of
We are proud that Scientia goes beyond chat summarization.
It turns Slack into an entry point for organizational memory.
The system captures real decision structure, persists it to the same RadixOS decision tables used by the web app, attaches evidence, creates audit events, and keeps the team in the flow of work through Slack Decision Cards.
We are also proud of the architecture discipline. The agent uses verified Slack signatures, rate limiting, tenant mapping, provider-based AI extraction, durable persistence, and a clear separation between current implementation and future enhancement.
What we learned
We learned that the most valuable AI agents for organizations may not be the ones that simply answer questions. They may be the ones that preserve judgment.
Every organization already has communication tools, project tools, and task tools. Very few have a system of record for why important decisions were made.
Scientia showed us that Slack can become a powerful capture surface for decision infrastructure.
What's next for Scientia
Next, we plan to wire Slack card Approve and Request Changes actions directly into the existing RadixOS review and promotion routes.
After that, we plan to add:
- OAuth-based workspace installation
- Slack Marketplace readiness
- richer App Home views for pending reviews and recent decisions
- decision memory search from Slack
- related decision retrieval
- outcome tracking
- integrations with email, Teams, calendar, and documents
The long-term vision is to help organizations preserve institutional memory by capturing decisions where work already happens.
Built With
- gemini-api
- hmac-sha256
- mermaid
- next.js
- node.js
- postgresql
- radixos
- react
- signature
- slack-api
- slack-block-kit
- slack-events-api
- slack-slash-commands
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.