gora.
Client project · AI support for e-commerce

Support Line AI Assistant

A bot that answers a delivery store's customers on WhatsApp and on its website: first to reply in 77% of conversations, a 29-second median wait, 22 checks on every model answer.

Region
Remote; the client's country and city are not disclosed
Role
Sole developer: architecture, answer rules, integrations with the platform and the gateway, deploys, quality measurement
Period
2026
Industry
AI support for e-commerce

The store's name, domain, country, city and product range are hidden. Figures were taken on 19 October 2026 from the bot's log, the messenger gateway's database, git history and the store platform's data.

There are three sections below. The project story covers how the assistant grew from a website chat into a line that answers on its own, with figures for every month. The WhatsApp page describes how the line is set up today and how I would build it on the official API. The technical appendix is for engineers: what the bot is made of and why it is built this way.

What's inside

  • First commit and the website chat on 29 January 2026; on 31 July the bot joined the WhatsApp line and for seven weeks only wrote drafts for people.
  • On 21 September the first answer went to a customer with no person involved; classes of answers opened in 15 waves over 10 days, each with its own flag and a before-and-after measurement.
  • Between 5 and 19 October the bot answered first in 77% of conversations, with a 29-second median wait, and 41% of conversations needed no person.
  • 3% of conversations go unanswered; in the summer, when only people answered, it was 16–18%.
  • All 879 of the bot's messages were replies to a customer, the latest sent 52 minutes after the customer's message.
  • A guard checks every model answer for 22 kinds of error: one rewrite when it finds one, then a fixed line or a person.
  • Every rule in the instructions is explained by one of 134 cards; the store owner and a dispatcher gave 169 verdicts, and a test blocks any rule change without its card.
  • Since 28 September the bot passes questions to drivers and dispatchers, 82 from customers in three weeks; since 30 September it changes an order after the customer says yes.
  • 426 commits, 207 automated deploys, 3,928 tests with no network access, a 21-second suite.
  • A separate page on WhatsApp: how the line runs through its own gateway and what the official WhatsApp Business Platform would change, with the 24-hour window measured from the log.

Stack

  • Python 3.12, FastAPI
  • asyncpg, PostgreSQL 16
  • Redis: switches, rate limits, idempotency
  • OpenAI GPT-5.2: answers, photos, memory summaries
  • OpenAI text-embedding-3-small, NumPy
  • Whisper: voice messages
  • Strict JSON schema for model answers
  • WebSocket, iframe, plain JavaScript
  • WhatsApp: own messenger gateway
  • Telegram: operators' feed
  • Signed requests between services
  • Docker Compose
  • GitHub Actions, GitHub Container Registry
  • nginx
  • pytest
  • gitleaks
  • Claude Code