Back to Projects
WhatsApp Feedback Analyzer

WhatsApp Feedback Analyzer

PythonFastAPISvelteKitAWS LambdaDynamoDBPostgreSQLOpenSearchOpenAIHugging Face

End-to-end system for collecting, analyzing, and visualizing customer feedback from WhatsApp using AI and cloud-native tools.

Project Overview

WhatsApp Feedback Analyzer helps businesses collect and understand customer feedback sent through WhatsApp. It receives and stores messages, uses AI to analyze the content for sentiment and topics, and shows the results on a dashboard.

System Architecture & Data Flow

Ingestion Service (GitHub) is the entry point for incoming WhatsApp messages. Built with AWS Lambda and API Gateway, it exposes a webhook endpoint that listens for messages sent via Twilio. Each incoming request is parsed, validated, and pushed into an SQS FIFO queue to maintain strict message ordering and enable parallel downstream processing.

This repository includes structured logging, a retry mechanism, and secure access via AWS Secrets Manager. It is optimized for low-latency ingestion and forms the backbone of the event-driven pipeline.

Consumer Service (GitHub) is another serverless component responsible for consuming messages from the SQS queue and storing them in DynamoDB. It parses message metadata, stores raw and normalized message content, and emits downstream events using DynamoDB Streams. The consumer supports structured chat logs, retry-safe processing, and message deduplication logic.

In addition, the Consumer Service is integrated with session and rate-limiting logic to throttle message responses and track user interaction history. It is designed for scalability and includes utilities for testing batch and failure scenarios.

Intelligence Service (GitHub) serves as the brain of the system. This FastAPI service runs on EC2 and orchestrates the conversation analysis and reply workflow. It processes enriched chat records, generates responses using OpenAI, classifies intent, and stores outcomes in PostgreSQL. It also handles file uploads to S3 and logs the full interaction lifecycle.

This component includes logic for determining when to reply, assigning labels, attaching metadata, and preventing duplicated analysis. It forms the intelligent response layer of the pipeline.

Job Process (GitHub) is a batch-processing tool that reads historical messages from PostgreSQL and runs AI models to extract insights. It uses Hugging Face's pipeline for sentiment analysis and zero-shot topic classification, then pushes the results to OpenSearch.

The analyzer supports checkpointing and job state tracking, allowing for long-running jobs across large datasets. It also includes word frequency calculations and CLI commands to start, stop, and inspect the status of enrichment jobs.

API (GitHub) is a secured REST API built with FastAPI. It powers the dashboard frontend and provides endpoints for message logs, topic tags, user stats, and word clouds. It uses SQLAlchemy ORM with PostgreSQL and manages schema migrations with Alembic.

The API supports JWT-based authentication, role-based access, and real-time querying of OpenSearch for visual analytics. It abstracts all low-level data access and exposes clean interfaces for the frontend.

Dashboard (GitHub) is a SvelteKit application that renders the entire customer feedback dashboard. It includes sentiment breakdowns, topic charts, search filters, and media previews. The frontend pulls data from the API and uses Chart.js for visualization and Tailwind CSS for styling.

It is a statically rendered app with client-side routing and JWT authentication stored in localStorage. Its design emphasizes usability, responsiveness, and quick filtering for customer support teams.

Technical Highlights

- AWS services: Lambda, SQS FIFO, DynamoDB, API Gateway, S3
- NLP: Sentiment analysis and zero-shot topic classification using distilBERT and OpenAI
- Data processing: PostgreSQL and SQLAlchemy for structured data, OpenSearch for filtered retrieval
- Frontend: JWT-authenticated SvelteKit app using Chart.js and Tailwind CSS
- Deployment: GitHub Actions CI/CD pipelines for deploying Lambda functions, EC2 FastAPI apps, and Svelte builds

$ let's-collaborate

# Let’s Collaborate

Whether you're building a new platform, exploring AI automation, or just want to chat about data and scalable architecture, I'm always open to exciting ideas. I bring technical depth, product thinking, and a passion for crafting real solutions.

Reach out and let’s explore how I can contribute to your mission.

$ Contact