// Support is a multi-tenant SaaS platform that helps businesses manage customer support through ticketing, live chat, and AI-assisted replies.
Overview:
Support is a multi-tenant SaaS platform that helps businesses manage customer support through ticketing, live chat, and AI-assisted replies. The system is designed from the ground up to support multi-language experiences (i18n) and multi-tenant architecture, ensuring scalability and customization for different organizations.
My Role:
Led the backend architecture design and development, including multi-tenant data isolation and access control.
Designed the system architecture for both backend and frontend, ensuring scalability, modularity, and clean separation of services.
Built the backend services with Node.js and TypeScript, using a layered modular structure (routes, controllers, services, commands).
Implemented multi-tenant gateway headers for secure request handling.
Designed and implemented internationalization (i18n) support across backend and frontend for a seamless multi-language experience.
Developed core backend features: ticketing system, chat service, AI auto-reply suggestion flow, and large file uploads (up to 2GB).
Integrated a notification system (email, in-app, and optional real-time channels) to keep both admins and users informed.
Technologies:
Node.js, TypeScript, Express, MongoDB, React 19, Next.js 15, Vite, Redux Toolkit, Tailwind CSS, Shadcn/UI, GraphQL, WebSockets, Docker, Kubernetes, i18n, AI/LLM
Challenges & Achievements:
Built a scalable backend architecture supporting thousands of tenants with isolated data.
Solved the challenge of multi-language support across all system components (UI, notifications, AI responses).
Designed real-time communication with WebSockets for instant ticket updates.
Implemented a chunked file upload system supporting resumable uploads up to 2GB.
Created a modular notification system that can easily plug into different channels (email, SMS, push, or AI-driven).