Devpost Submission Content
Project name
NEXUS AI — Your Second Brain Inside Slack
Elevator pitch (short, for the Devpost tagline field)
NEXUS reads your Slack channels for commitments and deadlines before you have to, then preps you for meetings and hands you a done-for-you daily digest — a proactive AI teammate, not another chatbot waiting for a slash command.
Inspiration
Slack is where work happens, but it’s also where commitments quietly disappear into scroll. We kept noticing the same pattern across teams: someone says “let’s ship this by Friday” in a thread, and three people privately made a mental note — none of which survived the weekend. Every existing Slack bot we tried was reactive: type a command, get an answer. We wanted something that behaved like a sharp EA who’s already read the thread.
What it does
NEXUS is a Slack-native AI agent that:
- Passively scans channels it’s invited to and privately flags anything that reads like a deadline or commitment, with a one-tap “add as task” action
- Manages tasks and natural-language reminders entirely inside Slack
- Preps you for meetings by pulling related tasks and notes and drafting talking points grounded in your actual workspace history
- Summarizes PDFs the moment they’re shared
- Remembers what you tell it (notes, summaries, conversations) and makes it searchable later
- Sends a short AI-written productivity digest to your DMs each morning
How we built it
- Slack Bolt (TypeScript) for all Slack-side interaction — slash commands, events, and interactive block actions
- Groq (Llama 3.3) as the reasoning engine for chat, deadline extraction, meeting-prep synthesis, and summarization — chosen for inference speed, which matters when a Slack ephemeral prompt needs to appear within a couple seconds of a message being sent
- Supabase (Postgres, free tier) for all persistence — tasks, reminders, memory, conversation history — with Slack’s own identity model used directly instead of building separate auth
- node-cron for the reminder-delivery loop and scheduled daily digest, intentionally avoiding a message queue at this scale
- Vanilla HTML/CSS/JS for the landing page and dashboard — no framework overhead for a static site, deployed on Vercel’s free tier
Architecture is layered deliberately: thin Slack controllers, all logic in testable services, one shared Groq wrapper so retry/error handling live in exactly one place. Full diagrams in docs/ARCHITECTURE.md.
Challenges we ran into
- Avoiding false-positive deadline detection. Early prompts flagged almost anything with a day-of-week mention. We added a cheap regex pre-filter before the LLM call (saves quota and latency on the ~80% of messages with no temporal language) and required structured JSON output with a confidence score, surfaced only above a 0.6 threshold, and always as a private, dismissible prompt rather than an automatic action.
- Keeping memory search fast without a vector database. For hackathon-to-early-startup scale, a GIN-indexed keyword array with client-side overlap ranking gave good-enough recall at zero infra cost — a deliberate simplicity choice we documented as a seam to swap out later (see
docs/ROADMAP.md).
- Socket Mode vs. HTTP mode. Getting local development working without a public URL (Socket Mode) while keeping the code identical for a production HTTP deployment took some care in
env.ts and app.ts.
Accomplishments we’re proud of
- A genuinely proactive feature (deadline detection) rather than yet another
/command wrapper around an LLM
- Clean separation between Slack-specific code and business logic — every service is unit-testable without a live Slack connection
- A complete, coherent product story: landing page, dashboard, and bot all reflect the same design system and voice
What we learned
- Structured JSON-mode prompting is far more reliable than parsing free text for anything downstream code needs to act on (task creation, date extraction).
- The best “AI feature” in a chat tool is often the one that requires the least typing from the user — proactive detection beat every reactive command we tried in informal user testing.
What’s next
See docs/ROADMAP.md for the full plan — near-term priorities are wiring the dashboard to real data via an OAuth-authenticated API, recurring reminders, and Slack Workflow Builder integration.
Feature list (for Devpost’s structured field)
- AI conversation (DM +
/nexus ask)
- Proactive deadline / commitment detection
- Task management
- Smart natural-language reminders
- Meeting preparation
- PDF summarization
- Personal memory + intelligent search
- Daily AI-written productivity digest
- Slack-native interactive UI (ephemeral prompts, block actions)
Demo script (3–4 minutes)
0:00–0:30 — The problem.
“Here’s a real Slack channel. Someone just said [show message]: ‘let’s ship the onboarding flow by Friday.’ Three people read that. How many wrote it down?”
0:30–1:15 — Proactive detection.
Post the message live. Show the ephemeral “Add as task?” prompt appearing within ~2 seconds, visible only to the sender. Click “Add as task.” Immediately run /nexus task list to show it’s there with the right due date.
1:15–2:00 — Meeting prep.
Run /nexus prep Acme renewal call in a channel with prior related notes/tasks. Show the AI pulling real related tasks and generating grounded talking points — emphasize “grounded,” not generic.
2:00–2:45 — PDF summarization + memory.
Drop a sample PDF into the channel. Show the auto-generated summary appearing. Then run /nexus search acme and show the PDF summary surfacing in search results.
2:45–3:30 — The daily digest.
Run /nexus digest on demand, showing the AI-written summary alongside due/overdue tasks. Mention it also arrives automatically every morning via DM.
3:30–4:00 — Close.
“Every feature you saw took zero new app to open, and zero training for the team — it’s Slack, just smarter.” Show the dashboard briefly as the natural next step for teams who want an outside-Slack view.
FAQ
Is this using OpenAI or Gemini?
No — inference runs on Groq (Llama 3.3), chosen for speed and free-tier availability, which matters for features like the near-real-time deadline-detection prompt.
Does NEXUS read every message in my workspace?
Only in channels it’s explicitly invited to (channels:history scope only covers channels the bot is a member of), plus DMs sent directly to it. It never has org-wide read access.
What happens to false-positive deadline detections?
They’re private (ephemeral, visible only to the message author) and dismissible with one click — nothing is added to a task list without explicit confirmation.
Is my data used to train any model?
No training occurs in this build; Groq API calls are inference-only. See Groq’s own data usage policy for API-level guarantees.
Can this scale beyond a hackathon demo?
Yes — see docs/DEPLOYMENT.md’s scalability plan for the concrete infrastructure changes at each growth stage (connection pooling, a real job queue, vector search), each scoped to when it’s actually needed rather than built preemptively.
LinkedIn post
Shipped a Slack AI agent this weekend that I actually want to keep using after the hackathon ends.
NEXUS AI reads channels for deadlines and commitments before you have to — “let’s ship this by Friday” becomes a one-tap task, privately, without cluttering the channel. It also preps you for meetings using your team’s real history, summarizes PDFs the moment they’re shared, and DMs you a short AI-written digest every morning.
Built with Slack Bolt + TypeScript, Groq (Llama 3.3) for fast inference, and Supabase on the free tier — proof that a genuinely useful AI product doesn’t need a big infra bill to start.
The part I’m most proud of: it’s proactive, not just another /slash-command wrapper around a chatbot. Full writeup and architecture diagrams in the repo. 🧠⚡
#buildinpublic #slackapi #ai #hackathon
Resume bullet points
- Designed and shipped a proactive Slack AI agent (Bolt/TypeScript, Groq, Supabase) that passively detects deadlines from natural-language messages with an LLM-based confidence-scored extraction pipeline, reducing manual task entry
- Architected a service-layer separation between Slack-specific handlers and business logic, enabling unit testing of AI-driven features (deadline extraction, meeting-prep synthesis) without a live Slack connection
- Built a keyword-ranked personal memory/search system on Postgres (GIN indexes) as a zero-infra-cost alternative to a vector database, documented as an explicit scaling seam
- Designed and implemented a full product surface — Slack bot, marketing landing page, and productivity dashboard — under a single cohesive design system, deployed on 100% free-tier infrastructure
Presentation content (slide outline)
- Title — NEXUS AI: Your Second Brain Inside Slack
- The problem — three habits knowledge workers repeat daily (thread re-reading, meeting prep, task triage)
- Live demo — deadline detection (the differentiator)
- Live demo — meeting prep + PDF summarization
- Architecture — one diagram: Slack ↔ Bolt ↔ Services ↔ Groq/Supabase
- Why it’s different — proactive vs. reactive, ephemeral confirmation UX, zero new app to learn
- What’s next — roadmap highlights (calendar integration, team analytics)
- Ask — try it, feedback welcome