Home/Portfolio/SAPA - Customer Satisfaction Analysis System
24Web App

SAPA - Customer Satisfaction Analysis System

A machine-learning web application that analyzes customer satisfaction at GraPARI Telkomsel using a Support Vector Machine (SVM) classifier across the five SERVQUAL service-quality dimensions.

About The Project

SAPA (Sistem Analisis Kepuasan Pelanggan / Customer Satisfaction Analysis System) is a machine-learning web application built to measure and analyze customer satisfaction at GraPARI Telkomsel service centers. It is built with FastAPI and Uvicorn for a high-performance Python backend, scikit-learn powering a Support Vector Machine (SVM) classifier, a vanilla HTML/CSS/JavaScript frontend enhanced with Chart.js for data visualization, and SQLite via SQLAlchemy for lightweight persistence, all containerized with Docker for reproducible deployment.

The application is grounded in the SERVQUAL framework, evaluating service quality across five dimensions: Reliability, Responsiveness, Assurance, Empathy, and Tangibles. Survey responses are processed through a trained SVM model that classifies overall customer sentiment into three labels: Satisfied (Puas), Neutral (Netral), and Dissatisfied (Tidak Puas), giving management an objective, data-driven read on service performance.

Data can be ingested in two ways: analysts can upload batch questionnaire results as CSV files, or enter a single 25-question survey manually through a guided form. Each survey is enriched with metadata such as the GraPARI location, date, and surveyor name, enabling segmented analysis across branches and time periods.

A visualization dashboard presents results through five interactive charts, surfacing satisfaction distribution, per-dimension scores, and trends at a glance. Results can be exported as CSV for further data processing or as formatted PDF reports for stakeholders, while a complete history of analyses is retained in the SQLite database.

On the engineering side, the SVM model is trained through a dedicated scikit-learn pipeline and serialized with joblib for fast inference at runtime. The production instance runs on an Ubuntu VM on a self-hosted Proxmox home server, with continuous deployment handled by a GitHub Actions self-hosted runner that automatically ships every push to the main branch, including retrained models, to production.

Tech Stack

FastAPIscikit-learnSVMChart.jsDocker

Key Features

  • 01SVM Satisfaction Prediction
  • 02SERVQUAL 5-Dimension Analysis
  • 03Batch CSV & Manual Input
  • 04Visualization Dashboard
  • 05CSV & PDF Report Export
  • 06Auto-deploy via GitHub Actions

Project Info

Category
Web App
Project Number
#24 of 24
Built By
Blatak Technology

Want Something Similar?

We can build a tailored solution for your business. Let us discuss your requirements and create something extraordinary together.