Overview
WhatsApp SaaS is a multi-tenant customer service platform that lets businesses connect their WhatsApp Business accounts, manage conversations from a unified dashboard, and use AI to automatically handle routine customer questions — built end-to-end as a freelance project.
The Problem
Small and growing businesses increasingly rely on WhatsApp for customer support, but conversations quickly become unmanageable once volume grows — messages get missed, response times suffer, and repetitive questions eat up staff time. There was no affordable, easy-to-set-up platform that let multiple businesses (tenants) manage their WhatsApp support in one place while automating common replies.
The Solution
I designed and built a multi-tenant SaaS platform from the ground up: a Next.js/TypeScript/Tailwind frontend for the dashboard and conversation views, a Python backend handling WhatsApp Business API integration and business logic, and PostgreSQL for tenant, conversation, and message storage. AI-powered reply suggestions and automation are powered by the Claude API and OpenAI, allowing each tenant to automate responses to common customer questions while keeping a human in the loop for anything that needs it. The entire stack is containerized with Docker and deployed to production on Vercel.
Tech Stack
Frontend
Backend
AI & LLMs
Infrastructure
Key Features
Challenges & Engineering Decisions
Designing multi-tenant data isolation
Each business using the platform needed its own isolated conversations, team members, and settings, without the architecture becoming a tangle of per-tenant special cases. I designed the PostgreSQL schema and API layer around a tenant-scoped data model from day one, so every query and integration naturally respects tenant boundaries.
Making AI replies reliable, not just impressive
A chatbot that occasionally says the wrong thing to a real customer is worse than no automation at all. I focused on prompt design, scoping what the AI is allowed to answer automatically, and building a clear handoff path to a human agent when the AI isn't confident — balancing automation with reliability.
Bridging a Next.js frontend with a Python backend
Combining a TypeScript frontend with a Python service for WhatsApp Business API integration and AI orchestration meant designing a clean API boundary between the two, and containerizing the Python service with Docker so it could be deployed and scaled independently of the frontend.
Outcome & Impact
Visuals
Click to view full screenshots