dcoder.
PT/ENLet’s talk

AI · Customer operations

Concierge

Customer service with context. AI and human teams working together on WhatsApp.

STATUSIn production
CORE TECHNOLOGIES
WhatsAppAISLAMulti-instance
Concierge — Conversation history, with category and bot state
01 / Conversation history, with category and bot stateEnlarge
01CONTEXT & DELIVERY

The whole
product.

Concierge is an MVP for AI-powered WhatsApp customer service initially deployed for a residential condominium operation. The pipeline receives incoming messages via Evolution API, deduplicates by message ID, upserts the contact, fetches or creates an active conversation, persists the message, classifies the intent into one of six categories using GPT-4o-mini, generates a context-aware response using the conversation history, and replies via Evolution API. The admin panel built with Next.js 15 and Tailwind 4 surfaces a real-time dashboard (resolved in 30 days, AI-resolution rate, open tickets, today's volume), an SLA triage queue that flags conversations waiting for a human, full conversation history with manual takeover, contact management, team accounts, audit records, multi-instance switching, and direct WhatsApp QR Code connection. It is an installable PWA with real-time notifications. The system uses Supabase (PostgreSQL) for persistence, with a clean separation between repositories, services and routes. The architecture supports multi-tenant operation and is deployed on Railway with zero-downtime deploys.

Solution scope

Intent classification, SLA triage, team accounts, live human takeover and multi-instance operation.

02FEATURES

How it works
in practice.

Capabilities connecting the user experience to operational needs.

AI Message Classification

Each incoming message is classified into 6 categories (information, complaint, maintenance, scheduling, request, human handoff) by GPT-4o-mini with conversation context.

Contextual AI Responses

Response generator builds the prompt with conversation history and operation-specific knowledge, producing answers in the brand tone and falling back to a human when uncertain.

Real-Time Admin Dashboard

KPI dashboard with open tickets, in-progress, resolved in 30 days, % resolved by AI, pending count and today's volume — updates without page reload.

Live Conversation Takeover

Admin panel lets the human team read AI conversations live and take over by sending replies directly from the panel.

Anti-Duplication & Anti-Loop

Message ID cache prevents reprocessing and `fromMe` filter prevents bot-to-bot loops — both required to run reliably with Evolution API webhooks.

WhatsApp QR Connection

Dedicated screen pairs a WhatsApp number to the bot via QR Code with live connection status, so the customer can self-onboard.

SLA Triage Queue

A dedicated Atendimentos view surfaces conversations that need a human (e.g. the customer asked for an agent), with a live counter and 'waiting for you' alerts so nothing slips.

Team Accounts & Records

Multi-user team management plus an audit Records view of bot and human actions — built for a real operation with more than one attendant.

Multi-Instance Switching

A single panel manages multiple WhatsApp bot instances (different businesses/numbers), each with its own config, contacts and conversations.

Installable PWA

The panel is an installable Progressive Web App with real-time push notifications, so the operator gets pinged the moment a conversation needs attention.

03ARCHITECTURE & TECHNOLOGY

Behind
the interface.

Pipeline + Repository + Service Layer

Webhook entrypoint feeds an orchestrator pipeline that runs deduplication, contact upsert, conversation lookup, message persistence, AI classification, AI response, and reply dispatch. Repositories isolate database access, services hold business logic, routes expose REST endpoints, and the Next.js admin panel consumes the same API.

Solution components

  • WhatsApp (Evolution API)
  • Express 5 API + Pipeline Orchestrator
  • AI Layer (OpenAI GPT-4o-mini)
  • Supabase (PostgreSQL) Repositories
  • Next.js 15 Admin Panel

Interface & application

Next.jsExpressTailwind CSS

Libraries

OpenAI SDKEvolution API clientSupabase JS

Data

Supabase (PostgreSQL)

Infrastructure

RailwayEvolution API (self-hosted)

Integrations

OpenAI APIEvolution API

Your context.
Our next project.

Let’s talk

Concierge
Chat on WhatsApp