Inspiration

Every hackathon team (and honestly every real team) has had this moment: someone asks "wait, why did we decide to use Postgres instead of Mongo?" and nobody remembers — the reasoning lived in a Slack thread from 3 hours ago that's already scrolled off. Decisions get made fast in Slack, but the why behind them evaporates just as fast. We wanted an agent that sits in the channel, quietly logs every decision as it's made, and can answer "why did we choose X?" on demand — with receipts.

What it does

Meeting_Amnesia_Solver listens in Slack channels, detects when the team makes a decision, and automatically logs it — the what, the why, who was involved, and when — into a structured decision store. Ask it later "why did we choose trains for transport?" and it replies instantly with a compiled answer and a citation linking back to the original Slack thread, so you never have to scroll back through history to justify a call your team already made.

How we built it

  • A Slack bot (Bolt) subscribed to channel message events
  • An LLM layer that detects decision-like messages, extracts the decision + rationale + participants, and classifies/tags them (e.g. "launch strategy," "business planning")
  • A structured decision database (Notion-style) as the source of truth, with each entry storing decision, rationale, participants, and timestamp
  • A retrieval flow: when someone asks a "why did we..." question in-channel, the agent searches the logged decisions and replies in-thread with a sourced answer

Challenges we ran into

Slack's Events API retries delivery if your endpoint doesn't ACK fast enough — since our handler was doing an LLM call before returning a response, Slack kept resending the same event and we ended up triple-logging the same decision. We fixed it by ACKing immediately and moving the LLM + DB write into an async job, plus adding an idempotency check (hashing channel + message timestamp) before any write, so retries can never create duplicate entries again.

Accomplishments that we're proud of

Getting reliable, deduplicated decision logging working end-to-end under hackathon time pressure — and having the agent answer "why did we choose X" questions with an accurate, cited answer pulled straight from the log, live in the same thread.

What we learned

Race conditions and retry logic matter even in a weekend hackathon project — the flashiest part of a demo can get quietly wrecked by an unglamorous infra bug like a missing idempotency check.

What's next for Meeting_Amnesia_Solver

  • Support for other platforms beyond Slack (Discord, Teams)
  • Smarter decision detection (fewer false positives on casual chat)
  • A searchable web dashboard on top of the decision log, not just in-Slack queries

Built With

Share this project:

Updates