Internal tools · Nordstrom
Kafka Data Viewer
I built Kafka Data Viewer, an internal tool used by NAP analysts at Nordstrom to inspect and understand Kafka event data. A team was subsequently formed to maintain and improve it.
Simplified architecture, reconstructed from the project presentation.
The problem
Inspecting Kafka data required command-line tools and configuration knowledge. That made a routine task harder for analysts and people who did not regularly work with Kafka tooling.
The goal was to provide a visual way to understand the events flowing through a topic and support investigation without requiring users to write code.
What I built
I developed an end-to-end application with a React frontend and a Java/Spring Boot REST API. NAP analysts could request Kafka data using the interface; the backend retrieved the relevant messages and returned events for display.
The project connected interface development with backend services and a deployment workflow using GitLab CI/CD, AWS, and Kubernetes. We also implemented Okta authentication.
How the system worked
1. Request data using the interface
The React frontend provided the entry point for requesting and viewing events.
2. Coordinate the request in the API
A controller and service layer separated HTTP request handling from the logic that coordinated data retrieval.
3. Retrieve Kafka events
A data-extraction interface and consumer implementation handled the Kafka interaction. Event objects carried the results back through the API.
This separation kept the user interface, request handling, and Kafka consumption distinct.
Presenting the work
I explained the business need, system architecture, and interactions between backend components, then included both frontend and backend demos in my project presentation.
The project brought together implementation and communication: explaining why the tool was useful as well as how it worked.
What happened next
Kafka Data Viewer was used by NAP analysts at Nordstrom. A team was subsequently formed to maintain and improve the tool.
The project connected a clear user need with a working engineering solution, and gave me an opportunity to explain and demonstrate that solution to others.
Next project