Portfolio case study
SupportPilot AI: customer support and WeCom CRM dashboard
A production-style dashboard for small support teams that need CRM, conversations, AI reply suggestions, knowledge base context, and analytics in one bilingual workspace.
Problem
Small teams often manage customer messages across scattered channels, with slow replies and no shared knowledge context.
Solution
SupportPilot AI combines CRM, inbox, knowledge base, mock AI generation, and analytics into a single dashboard.
Target users
E-commerce, education, SaaS, travel, and service teams serving Chinese and international customers.
Key features
Architecture
Next.js App Router powers public pages, protected dashboard routes, and the AI API endpoint. Supabase Auth is the planned identity layer, while Prisma owns data queries for PostgreSQL. In portfolio mode, the app uses typed mock data and a mock AI fallback so recruiters can explore without secrets.
AI-assisted workflow
AI generation uses conversation context, customer profile data, and selected knowledge base content. The route returns a suggested reply, summary, sentiment, tags, and follow-up action. The important boundary is clear: AI only suggests; a human agent reviews and sends manually.
Decision log
Zustand over Redux: the global state surface is small, and localized dashboard state keeps inbox logic readable.
Supabase Auth + Prisma data layer: auth and data queries are separated so the database layer stays testable and consistent.
Mock AI fallback: recruiters can test the full workflow without API keys while the architecture remains ready for DeepSeek, Qwen, or OpenAI-compatible APIs.
Challenge
The main design challenge was making AI feel helpful without making the product look like a toy chatbot. I solved it by making AI a side panel inside a real support workflow.
What I learned
I practiced dashboard information architecture, Ant Design tables, typed mock data, API fallbacks, bilingual UX, and the safety boundary for AI-assisted customer support.