Closiq Discord Agent: An AI Customer Support Monolith 🚀 A developer built the Closiq Discord Agent, a full-stack modular monolith that transforms a Discord channel into an automated AI customer support and lead management system. The system captures conversations, retrieves context from a self-hosted Qdrant vector database indexing knowledge base documents in MinIO, and uses OpenRouter or OpenAI-compatible models to generate accurate responses via a Discord bot. The project, which stalled during initial development, was revived with a focus on stability and maintainability, incorporating a React dashboard, MongoDB for metadata, and a modular architecture with separate domains for messages, knowledge base, agent, and infrastructure. This is a submission for the GitHub Finish-Up-A-Thon Challenge I built the Closiq Discord Agent , a full-stack modular monolith engineered to transform a Discord channel into an automated, AI-driven customer support inbox and lead management system. When a customer messages your Discord support channel, the backend captures the conversation, handles data persistence, and fetches highly relevant context from a self-hosted Qdrant vector database which indexes knowledge base documents stored in MinIO . It then leverages OpenRouter or OpenAI-compatible models to dynamically draft and deliver accurate, context-aware responses right back to the customer via a Discord bot. http://localhost:5173 Tip: Insert a GIF or a couple of screenshots here showing off your React dashboard interface, your MongoDB message log view, or the Discord bot replying live in a channel Tech Stack At A Glance Frontend:React + ViteBackend:Node.js + Express + TypeScriptDatabases & Storage:MongoDB Metadata , Qdrant Vector Embeddings , and MinIO Object Storage Integrations: discord.js & OpenRouter / OpenAI SDK This project started as an ambitious idea but quickly stalled out. Before dusting it off for this challenge, it was just a loose collection of database models, basic tools, and a primitive, unoptimized LangChain loop sitting in a graveyard of unfinished local folders. It completely lacked a front-end management layer, and the architecture was fragile. To bring this project to life and cross the finish line, I focused heavily on stability, user experience, and structural boundaries: messages , knowledgebase , agent , infrastructure to make the codebase highly maintainable.GitHub Copilot acted as an invaluable pair-programmer during this sprint, especially when it came to tying multiple disjointed storage microservices together. docker-compose.yml , getting MongoDB, Qdrant, and MinIO talking to each other effortlessly. shared/errors or config/logging without muddying up the structural boundaries I put in place.