Inspiration

AI is everywhere today, but we believe its greatest value isn't replacing people—it's preserving knowledge. Every day, important decisions are made in Slack, but those conversations quickly disappear beneath thousands of messages. Teams revisit old discussions, new members ask the same questions, and valuable context is lost.

Tracer was built to solve this problem by acting as an AI teammate that remembers decisions, preserves their context, and makes them instantly searchable whenever they're needed.


What it does

Tracer is a Slack-native decision intelligence assistant that automatically detects decisions and suggestions in approved Slack channels during configurable hours.

Instead of silently recording everything, Tracer asks users for confirmation before creating a pending suggestion. Approved administrators review and approve suggestions before they become part of the team's permanent knowledge base.

Whenever a decision is recorded, Tracer searches previous Slack conversations to detect potentially conflicting discussions, helping teams identify inconsistencies before they become larger problems.

Users can also interact with Tracer using natural language:

Why did we choose PostgreSQL?
Show pending approvals.
What decisions were made last month?

Or manually log discussions using:

⚖️ Reaction
/tracer

Tracer answers using previously approved decisions instead of generic AI responses. The same knowledge base is also exposed through an MCP server, allowing AI assistants like ChatGPT and Claude to access organizational knowledge.


How we built it

Tracer is built using:

  • Node.js
  • Slack Bolt
  • SQLite (WAL Mode)
  • Railway

I designed and implemented the AI reasoning layer using the Groq API, including structured decision extraction, intent understanding, and natural-language response generation.

My teammate built the Slack integrations, search pipeline, and connected the overall system together.

The platform combines:

  • Slack Real-Time Search
  • BM25 retrieval
  • OpenAI Embeddings (with BM25 fallback)
  • Groq-powered reasoning
  • MCP Server

Everything runs inside a single Node.js deployment on Railway.


Challenges

Our biggest challenge was conflict detection.

Finding similar Slack messages was easy—determining whether two discussions genuinely contradicted each other was much harder. We went through several iterations before achieving reliable results without overwhelming users with false positives.

We also had to work around Slack API rate limits while keeping the experience responsive, and carefully balanced automation with user trust by requiring confirmation before logging decisions.


Accomplishments

We're proud of building a system that transforms everyday Slack conversations into long-term organizational knowledge.

Key features include:

  • AI-powered decision logging
  • Approval workflow
  • Conflict detection
  • Semantic search
  • Natural-language Q&A
  • MCP integration

Most importantly, Tracer demonstrates a practical AI application that augments team memory instead of replacing human judgment.

-

What we learned

This project taught us that great AI products depend more on high-quality context than increasingly powerful models.

We also learned that structured organizational memory is far more valuable than storing raw conversations, and that transparent workflows build much more trust than fully automated systems.

What's next

Our next step is improving Tracer through larger-scale real-world testing and continuous refinement of the reasoning pipeline.

Long term, we want Tracer to become a company-wide AI teammate that understands organizational history, answers questions with context, integrates beyond Slack, and serves as the memory layer for modern teams.

Built With

  • app-mentions
  • events-api
  • groq-llm
  • mcp
  • openai-embeddings
  • rts
  • semantic-q&a
  • slack-bolt
  • slash
Share this project:

Updates