DEV Community

K Om Senapati
K Om Senapati

Posted on

Building Janus: An AI-Powered Helpdesk That Makes Customer Support Smarter

Enterprise helpdesks spend hours triaging repetitive requests, categorizing tickets, and responding to the same issues repeatedly.

This leads to delayed responses, inconsistent resolutions, and wasted agent hours.

Janus solves this problem through automation, intelligent classification, and generative AI.

It’s an AI-powered helpdesk system that allows users to raise tickets, receive instant AI replies, and enables admins to manage everything from a unified dashboard.

Powered by MindsDB AI Agents and a Knowledge Base, Janus automates classification, conversation, and analytics to deliver faster, more consistent support.


The Use Case

The goal was to automate the helpdesk lifecycle.

  • Users submit tickets and chat with an AI support agent in real time
  • The system automatically classifies each ticket by intent, priority, and category
  • Admins get a single dashboard to track trends, promote solved tickets into the Knowledge Base, and search historical data

The outcome is faster response cycles, consistent answers, and actionable insights.


Key Features

  1. AI-Driven Ticket Classification Each ticket is processed by a dedicated MindsDB AI Agent that predicts its type, category, tags, and priority. The model learns from past tickets to improve accuracy over time.

Ticket metadata schema:

{
  "type": str,
  "category": str,
  "priority": str,
  "tag_1": str,
  "tag_2": str
}
Enter fullscreen mode Exit fullscreen mode
  1. AI Chat Support
    A second agent handles real-time conversations, providing instant solutions by leveraging the existing Knowledge Base for context.

  2. Admin Dashboard
    Admins can view analytics, approve solved cases into the Knowledge Base, and filter data by type, priority, or category.

  3. Knowledge Base Management
    The Knowledge Base (KB) is managed by MindsDB. It stores both content and metadata for retrieval and reasoning.

KB schema:

content_columns = ["subject", "body", "answer"]
metadata_columns = ["type", "priority", "category", "tag_1", "tag_2"]
Enter fullscreen mode Exit fullscreen mode
  1. Search and Insights Admins can visualize ticket trends, most common tags, and distribution of categories directly within the dashboard.

How It Works

Below is the high-level workflow of Janus.

user flow

Architecture diagram:

architecture diag

  • The Ticket Classifier Agent predicts structured metadata in JSON format which can be parsed directly in python using json.loads()
  • The Support Agent handles ongoing chat with context from the Knowledge Base
  • Both AI Agents are powered by MindsDB which manages the AI and KB layers.

Demo


How I Built It

Tech Stack

  • Frontend/UI: Streamlit
  • AI & Knowledge Base: MindsDB
  • Vector Database: ChromaDB
  • LLM Provider: Nebius
  • Programming Language: Python

The connection between Streamlit and MindsDB is handled via the MindsDB Python SDK.

AI Setup

MindsDB integrates with external AI providers for model inference.

For this project, Nebius was used as the provider endpoint.

LLM_MODEL_NAME = "Qwen/Qwen3-235B-A22B-Thinking-2507"
EMBEDDING_MODEL_NAME = "Qwen/Qwen3-Embedding-8B"
Enter fullscreen mode Exit fullscreen mode

Two MindsDB AI Agents power the workflow:

  1. Ticket Classifier – Predicts metadata such as type, category, and priority.
  2. Support Agent – Generates AI responses using the Knowledge Base for context.

The Knowledge Base combines a vector database (ChromaDB) with embedding model for contextual retrieval.


Development Insights

The most challenging part was preparing the prompt for the Ticket Classifier so that it outputs a valid JSON structure directly parsable with json.loads().

This allowed seamless integration with Streamlit components and minimized post-processing.

Example output:

{
  "type": "Login Issue",
  "category": "Authentication",
  "priority": "high",
  "tag_1": "password",
  "tag_2": "reset"
}
Enter fullscreen mode Exit fullscreen mode

MindsDB integration was straightforward, with its Python SDK providing simple APIs for agent calls and KB management.

Streamlit pages (for user and admin) are modular and can be accessed through the sidebar.


Impact

  • Reduced response time as users get immediate AI replies
  • Consistent ticket classification ensuring better routing and tracking
  • Visual insights on ticket categories, priorities, and tag trends
  • Easier management of historical tickets through the Knowledge Base

AI acts as the first responder, handling repetitive issues and freeing human agents for complex cases.


Future Enhancements

  • Web Search Integration: Adding real-time data retrieval would make the AI agent more dynamic
  • Backend Upgrade: Replacing Streamlit with a FastAPI backend for production scalability
  • Third-Party Integrations: Utilizing MindsDB connectors such as Jira, Slack, or Gmail for enterprise integration

Final Thoughts

Janus demonstrates how combining Streamlit’s simplicity with MindsDB’s AI and Knowledge Base capabilities can automate customer support end-to-end.

It showcases a modular architecture that can evolve into a production-ready multi-channel support system.


Support by starring the repo.

GitHub logo k0msenapati / janus

AI-powered helpdesk system

Janus

Janus is an AI-powered helpdesk system that makes customer support faster and smarter. It helps users raise support tickets, get instant AI replies, and lets admins manage everything from one simple dashboard.

Use Case

Enterprise helpdesks spend hours triaging and responding to repetitive support requests Janus automates the lifecycle:

  • Users submit tickets and chat with an AI support agent in real time.
  • The system classifies intent, priority, and category automatically.
  • Admins can visualize ticket trends, approve high-value cases into the Knowledge Base, and run searches across historical data.

Result: Reduced response time, consistent resolutions, and actionable insights.

Features

🎟️ User Portal

  • Submit new support tickets.
  • Get an instant AI-generated first response.
  • Chat with the AI about your issue.
  • View all your previous tickets in one place.

🧠 Admin Portal

  • View visual dashboards showing ticket trends.
  • Review and manage tickets — approve useful ones for the Knowledge Base or delete…

If you found this article useful, share it with your peers and community to spread the word about this.

Follow me for more content like this!

Twitter | GitHub | YouTube

Top comments (3)

Collapse
 
rohan_sharma profile image
Rohan Sharma

Awesome, man! Looks neat.

Collapse
 
jyoti_ranjanjena_a3178e7 profile image
Jyoti Ranjan Jena

Awesome use case

Collapse
 
prasant_f0c8a07abb232c0f0 profile image
Prasant

Cool project