AI Customer Support Platform
A multi-tenant customer support platform integrating a RAG-based knowledge chatbot with inbox (ticket management).
Challenge
Traditional customer support required enormous effort for inquiry handling, with knowledge siloed to individuals and information fragmented across channels. The design needed multi-tenant data isolation per workspace while achieving RAG-based automated responses.
Solution
Integrated a RAG-based knowledge chatbot with Zendesk-like ticket management using Next.js 14 + Supabase (pgvector). Implemented multi-LLM support via Vercel AI SDK and multi-tenant data isolation via RLS.
Result
Built a full-stack platform with multi-LLM AI chatbot (6 providers), inbox, CRM, and dashboard.
Team
1 member, 2 months
Design, implementation, infrastructure, operations
Role
Responsible for everything from design to implementation and operations.
Led frontend (Next.js), backend (Supabase Edge Functions), and infrastructure (Terraform/GCP) end-to-end.
Tech Stack
Key Features
RAG chatbot: Vectorize URLs/PDFs/text and generate high-accuracy automated responses with semantic search
Multi-LLM support: Switch between OpenAI / Gemini / Claude / Groq / xAI / DeepSeek through a unified interface
Inbox: Zendesk-like ticket management. Multi-channel support for chat, email, and API
Multi-tenancy: Physical data isolation via RLS, membership and role management
Dashboard: Graph visualization, filtering, and reporting for various data
Platform management: Cross-workspace management screen for super users
Technical Highlights
RAG Pipeline Design
Built an end-to-end pipeline: document ingestion → chunk splitting → vectorization → similarity search → response generation. Implemented duplicate detection via content_hash and cross-tenant leakage prevention via workspace_id filtering.
Multi-tenant × RLS Security
All core tables have workspace_id with Supabase RLS physically isolating data between tenants. Achieved two-layer protection with Middleware auth checks and client-side role checks.
Async AI Processing via Edge Functions
Separated heavy AI processing into Supabase Edge Functions, ensuring web app responsiveness is not affected.