Inspiration
Every day, commitments slip through the cracks in fast-moving Slack channels. "I'll finish the report by 5 PM" gets buried under dozens of messages. Nobody follows up. Deadlines pass silently. Amnesia Agent was born from this everyday pain — what if an AI could catch these commitments and hold you accountable?
What it does
Amnesia Agent is a Slack bot that:
- Detects commitments in real-time using AI (Groq LLM + regex + chrono) — just type "I'll finish the report by 5 PM" and it catches it
- Posts interactive detection cards with 6 actions: Confirm, Edit, Dismiss, Complete, Reassign, Emergency
- Sends live countdown nudges with urgency phases: ⏰ 2h left → ⚡ 30min! → 🔥 LAST 60s! → 🔴 OVERDUE
- Generates AI completion emails — click Complete and Groq drafts a professional email instantly
- Supports conversation linking — say "Actually, make it 7 PM" and it updates your deadline live
- Provides a /commitments dashboard — see all active, completed, and dismissed commitments
- 5 MCP tools for AI agent integration: search commitments, generate boilerplate, draft emails, search messages
How we built it
Stack: Node.js + TypeScript + Slack Bolt (Socket Mode) + Groq AI (llama-3.3-70b) + MCP Server + PostgreSQL (Neon) + Nodemailer
Architecture:
- Slack events flow through Bolt → AI detection (Groq LLM + regex fallback + chrono time parsing) → PostgreSQL persistence → Scheduler nudges (30s interval with per-message cooldown) → Email completion via SMTP
- MCP server exposes 5 tools for external AI agent integration
- Socket Mode WebSocket connection — no ngrok needed
Challenges we faced
- Slack rate limiting — chat.update was hitting rate limits at 10s intervals. Fixed with 30s scheduler + 25s per-message cooldown
- Neon DNS intermittent failures — added crash protection with retry logic and unhandled rejection handlers
- Email draft visibility — initially posted to DMs, moved to channel for better UX
- Edited message detection — Slack sends
message_changedevents for edits, notmessageevents. Added separate handler for conversation linking - Bot token API limitations —
search.messagesrequires user token, so we built a hybrid approach usingconversations.history+ DB search
What we learned
- MCP (Model Context Protocol) is a powerful standard for exposing tools to AI agents
- Slack Bolt's Socket Mode simplifies development by eliminating webhook tunneling
- Live countdown timers create genuine urgency and engagement
- The best hackathon projects solve a real, relatable problem
Built With
- agent
- ai
- api
- automation
- block-kit
- bolt
- developer-tools
- groq
- hackathon
- mcp
- node.js
- nodemailer
- openai
- postgresql
- productivity
- real-time
- slack
- typescript
Log in or sign up for Devpost to join the conversation.