Back to projects
EnterpriseOct 2022 – Aug 2025

Customer Experience Dashboard

Internal analytics dashboard aggregating customer experience data across all Air Selangor service channels for management decision-making.

Laravel OctaneNuxtJSKubernetesAlibaba CloudDockerREST APIsPostgreSQL

Context

Air Selangor's management lacked a unified view of customer experience across their service channels — mobile app, call center, walk-in counters, and online portal. Each channel generated its own data, but there was no consolidated tool for management to assess service quality, identify trends, or prepare for strategic planning sessions. The CX Dashboard was built to aggregate this data into a single, actionable interface.

Constraints

  • Data ingestion from multiple heterogeneous sources with different formats and update frequencies
  • Real-time and near-real-time data requirements for management reporting and presentations
  • Deployed within the existing Alibaba Cloud Kubernetes infrastructure shared with other Air Selangor systems
  • Performance requirements for analytics-heavy queries — aggregation across millions of customer interaction records
  • Internal tool with strict access controls — only authorized management personnel should access the dashboard
  • Dashboard needed to support export and presentation-ready views for board meetings

Architecture

API-first architecture with clear separation between data aggregation and presentation layers. Laravel Octane handles backend data processing and API logic — aggregating, transforming, and caching data from multiple source systems. NuxtJS provides the dashboard frontend with server-side rendering for fast initial loads and client-side interactivity for filtering, drilling down, and chart interactions.

Backend: Laravel Octane with persistent workers for handling compute-intensive aggregation queries without the overhead of bootstrapping on every request. Frontend: NuxtJS SPA with SSR, rendering interactive charts, tables, and KPI cards. Infrastructure: Containerized and deployed on the shared Alibaba Cloud Kubernetes cluster alongside other Air Selangor services.

Key Decisions

  • Laravel Octane for the analytics API: The persistent worker model was essential here — analytics queries involving aggregation across large datasets benefit significantly from keeping the application bootstrapped in memory. This reduced API response times for complex dashboard queries compared to traditional PHP request lifecycles.
  • NuxtJS over plain Vue: SSR capability meant the dashboard loaded fast on first visit — important for management users who expect instant results. Vue's reactivity then handled interactive filtering and drill-downs without full page reloads.
  • Shared Kubernetes infrastructure: Deploying on the existing Air Selangor K8s cluster avoided provisioning separate infrastructure. Namespace isolation ensured the dashboard's workloads didn't impact other production services.
  • Caching strategy for aggregated data: Implemented tiered caching — frequently accessed KPI summaries cached at the API level with short TTLs, while heavier aggregation queries were cached with longer expiry and invalidated on data source updates.

Security & Reliability

  • Role-based access control restricting dashboard access to authorized management personnel with tiered view permissions
  • Secure API layer with authentication and session management for internal users
  • All data handling aligned with Air Selangor's information security policies
  • Deployed within a secured Kubernetes namespace with network policies limiting ingress to internal traffic only
  • Query timeouts and circuit breakers to prevent long-running analytics queries from degrading shared infrastructure

Execution

  • Designed the data aggregation architecture and API contract for the dashboard
  • Built the analytics API using Laravel Octane with optimized query patterns for large-dataset aggregation
  • Developed the dashboard frontend with NuxtJS — charts, KPI cards, filtering, and export functionality
  • Deployed on the existing Alibaba Cloud Kubernetes infrastructure with namespace isolation
  • Integrated with multiple Air Selangor data sources, normalizing data formats for consistent dashboard presentation

Outcome

  • Provided Air Selangor management with a unified customer experience view across all service channels for the first time
  • Enabled real-time KPI and customer experience monitoring for faster, data-driven decision-making
  • Predictive analytics for trend forecasting and continuous service quality improvement
  • Supported strategic decision-making and board presentations with real-time analytics and exportable reports
  • Successfully aggregated data from all service channels into a single consistent interface
  • Leveraged existing Kubernetes infrastructure, minimizing additional operational overhead and cost
Customer Experience Dashboard — Hafiq Iqmal