Abdullah Naeem

All work

WhatsApp enquiry automation

Students message a tutoring academy on WhatsApp at all hours about courses, fees and enrolment. An assistant now answers them, so the academy's staff only see the conversations that need a person.

Where
Teaching Circle, contract, remote
When
April to July 2026
Built with
Python, LangChain, OpenAI GPT-4 and GPT-5.1 mini, WhatsApp Cloud API, PostgreSQL, Docker
Code
Client work, private

The problem

Teaching Circle, a physics tutoring academy, was answering every WhatsApp enquiry by hand: timings, fees, payment confirmations, how to enrol. At more than 100 messages a day that took two to three people, and replies slowed down exactly when demand peaked.

Data

Two inputs: free-text WhatsApp messages, which are short and informal, and structured form submissions from students registering interest. A form submission arrives by webhook and starts the conversation.

Architecture

  1. Webhook ingestionWhatsApp messages and form submissions arrive by webhook and are queued for workers.
  2. Classify the enquiryCourse details, payments or enrolment, so each type gets the right handling.
  3. Draft the replyLangChain orchestrates OpenAI's GPT-4 and GPT-5.1 mini to answer from the academy's own information.
  4. Workers per conversationWorkers scale out while keeping each student's session separate, so concurrent chats never cross.
  5. Log everythingConversations are logged to PostgreSQL for review.

Results

Results in production
MeasureResult
Enquiries handled100+ a day
Classification accuracy95%+ across 100+ tests
Manual response workdown 80%
Support staff needed2–3 people replaced
Recorded outagesnone

Where it breaks

Next case study: Driver drowsiness detection