Introducing react-amplitude

At Amplitude, we log app analytics with custom Redux middleware. It's a great system with one big drawback: prop plumbing. Here's what happened when I decided to tackle the issue.

Inside Amplitude
July 6, 2018
Image of Ryan Ashcraft
Ryan Ashcraft
Senior Software Engineer
Introducing react-amplitude

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.

Read more about how I built my API, and find out what’s in store for react-amplitude.

About the Author
Image of Ryan Ashcraft
Ryan Ashcraft
Senior Software Engineer
Ryan is on the Product Engineering team at Amplitude. He is passionate about building delightful user experiences and designing robust applications. Prior to Amplitude, Ryan worked as a frontend engineer at Yahoo, built some iOS apps, and studied at Georgia Tech.