QueueSense is an AI helper app for support teams at B2B SaaS companies. It reads support tickets, shows the important details about each customer, and writes reply drafts so agents can clear the queue faster with less effort. It is a demo and portfolio project, but it should feel like a real support tool for a mid sized B2B SaaS company.
Based on repository activity, growth velocity and community engagement.
30
Growth3/30
Activity10/25
Popularity1/25
Trust17/20
1
Stars
High
Sentiment
Votes
1
README.md
QueueSense | AI-Powered Customer Support Platform
An AI assistant for B2B SaaS support teams that reads tickets, summarises the issue, and drafts replies so agents can clear the queue faster while staying in control
šÆ What This Does
Customer support agents waste hours reading long messages and writing replies from scratch. QueueSense changes that.
When a ticket comes in:
AI analyses the ticket and tells you what the issue is, how urgent it is, and what tags fit (urgent/important customer/highly negative tone)
AI drafts a reply in your brand's tone, ready to review and send
Internal team chat gets AI-suggested replies too
Humans stay in control. AI does the heavy reading and drafting.
The Problem: Support queues can be long. Agents read the same types of messages over and over, jump between tools, and write replies sentence by sentence. It's slow and tiring which impacts the customer satisfaction, especially for firms with rapid growth in customer base.
The Solution: A React frontend connected to n8n workflows that handle AI processing. Three separate workflows analyse tickets, draft replies, and suggest chat responses - all via webhooks.
š What This Shows
AI Operations & Automation Skills
Frontend to backend integration: Connected a React app to n8n via webhooks, replacing direct Gemini API calls with a proper backend architecture
Multi-workflow design: Built 3 separate n8n workflows for different AI tasks, each with its own webhook endpoint
AI Agent configuration: Set up OpenAI-powered agents with custom system prompts for ticket analysis, reply drafting, and chat suggestions
Structured data extraction: Parsed AI output into typed JSON fields for frontend consumption
Prompt engineering: Designed prompts that return consistent, structured output across different ticket types
Debugging webhook responses: Fixed array vs object response format issues between n8n and frontend
This project shows how to take an AI-powered frontend and give it a proper backend. Instead of calling AI directly from the browser (which exposes API keys), the frontend calls webhooks. The n8n workflows handle AI processing and return clean data. This is how production apps actually work.
Go to Inbox ā Click sparkle icon ā Chat reply should appear
š Problems I Hit and How I Fixed Them
| Problem | Fix |
|---------|-----|
| Frontend was calling Gemini directly (API key exposed) | Replaced with n8n webhook calls |
| Webhook data was nested inside body object | Changed AI Agent prompts from $json.subject to $json.body.subject |
| AI output was a JSON string, not parsed object | Added Code node with JSON.parse() |
| n8n returned array [{...}] but frontend expected object {...} | Changed Respond to Webhook to "First Entry Only" |
| Sparkle button showed "could not generate reply" | Fixed array unwrapping in frontend service file |