React is the engine of Amplitude’s web app. We log app analytics using custom Redux middleware that translates Redux events to Amplitude logEvent calls. While this setup brings a host of benefits, there are some disadvantages. The main drawback is “prop plumbing” — the process of moving props through multiple layers.
I wanted to dig deeper into the chronic prop plumbing issue. So, for a hackathon held earlier this year, I decided to tackle the issue by building a declarative, React component-based Amplitude API.
It turned out that with my API, I could address more than just the plumbing event properties issue. One of the most exciting use cases I came across was react-amplitude’s ability to instrument a large surface area of their apps with minimal effort. Basically, this means that with only a few lines of code, you can generate insightful user behavior data across large areas of your app.