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.