IBM Net Promoter Score (NPS)

  • Engineering
  • React
  • d3.js
  • Node.js
  • SCSS

Measuring user satisfaction across all of IBM.

Context

IBM is committed to building user-centered solutions that not only do the job but do so in a useful way. The organization needed scalable and reliable tools to measure this commitment. A Net Promoter Score system was one of those tools.

My role

I worked as a junior full-stack developer along with other engineers and a UX designer. This project was my first one at IBM, where I got to learn React and get more hands-on experience with Node.js, Express, and other relevant back-end technologies.

Solution

The Net Promoter Score (NPS) system consists of three components:

  • a survey that prompts users to provide feedback,
  • a dashboard to collect and report on the survey gathered across all applications from IBM,
  • and an API for product teams to build their NPS reporting tools.

I contributed to every aspect of the system. First, I rebuilt the NPS survey component to comply with web accessibility standards. I worked with our designer to adjust the color palette to increase the contrast between the background and text. I also swapped out non-accessible HTML with the appropriate form inputs.

On the dashboard, I focused on delivering interactive data visualizations with d3.js and React to show how the scores change over time and compare them to high-performing applications. I scaled the visualizations to show multiple application score trends at once.

Lastly, I built a data API for product teams to access their own NPS data to integrate into their report tooling. I designed and implemented an API key system to authenticate product teams and the endpoints necessary for API consumers to retrieve the data they needed.