Over the past few days, I decided to revamp a project of mine from April. The project has a React front end and a Ruby on Rails back end API. I rebuilt the front end, and was feeling good about the changes I’d made. Because I’m neurotic about testing, I made sure to test all the changes dozens of times locally. Everything was working beautifully.

I redeployed my app, and decided to do some quick run-throughs on the deployed version for my peace of mind. It had the opposite effect — the live version of my app barely worked at…


Welcome back to my series exploring state management in React applications with Redux. Here are part 1, part 2, and part 3 case you missed those (or just want to revisit). This is going to be the (hopefully) thrilling conclusion of this series.

By now, you’ve seen essentially how Redux works — how we create and dispatch actions to our reducers and update our store. We’ve talked about React-Redux, adding middleware, combining reducers. Hopefully at this point you understand generally how Redux works and why it’s useful.

But what are some of the downsides to Redux? There are a…


Welcome back to my series exploring state management with Redux in React applications! Here are part 1 and part 2, in case you missed them or want to revisit. As always, I want to emphasize that the docs for Redux are great, and would encourage anyone who’s curious to check them out. For this installment, though, I want to dive into some tools to help keep your applications more organized and efficient — specifically, I’m going to talk about combining reducers to improve clarity and incorporating middleware to improve functionality. So let’s dive in!

Exactly, Spider-Man.

Let’s talk about combining…


Welcome back to the next installment of my series breaking down how to use Redux in React projects. If you missed part 1, it’s here. As this series expands I’m going to dive a little deeper into the methods, tools, and add-ons that can help simplify Redux. Today, I’m going to talk about React-Redux, and how you can use it to write cleaner, more predictable and efficient apps.

We’ll start with React-Redux. First, obviously, you need to install it with either npm or yarn.

npm i react-redux
// or
yarn add react-redux

React-Redux offers a handful of essential things…


If you’ve ever worked with React, you know managing state is central to building interesting apps. But if you’ve ever built anything with complex state in React, you know it can get hectic quickly — different components need different information, and passing props and callbacks from parent components becomes a debugging nightmare, as you sit in front of your illegible mess of code, weeping.

That last part might not be universal, but the fact is tracing the threads of application state across components is messy, inefficient, and stressful.

Me, trying to share a piece of state between two distant cousin…


The idea behind Google’s Magenta is fascinating — combining machine learning with art, in an effort to “[build] smart tools and interfaces that allow artists and musicians to extend (not replace!) their processes”. The demos page illustrates how fun and dynamic these tools can be — here are a few of my favorites.

The @magenta/music library is abstracted over the WebAudio API (through Tone) and TensorFlow. That combination means Magenta is capable of both playing music and using machine learning models to generate music. …


Let’s start with a confession. I have imposter syndrome. It’s one of my core personality traits. I’ve gone through my entire life wondering when I would, inevitably, be exposed as an incompetent fraud.

It’s just a matter of time

There are a ton of resources available to help clarify how common imposter syndrome is. Here are a few I like.

To be clear, I’m not a therapist. I have no special insight on imposter syndrome beyond my own experience of it. In my life before programming, I was a writer. My imposter syndrome mostly manifests in my work as…

Christopher Leja

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store