Not as you'd expect: how React persists state across renders

A few months ago we released a new version of our checkout page, one of the first Big Projects we’ve built with React. The ability to power the views by state makes it easy to reason about the various flows and has drastically improved our ability to make changes on the page. We ran into some problems when we accidentally reused the form state across multiple inputs because of how React compares virtual DOM renders. Read more

Atomic Architecture

Atomic design has a lot of strong proponents in the community and a lot of information is readily available. There is less information around how to write and structure modular code around the same pattern; it seems to me this is something a UX or design team will pick up and force their developers to find a way to make it work. In our case everyone is onboard and we want to make sure everything needed by an atom, organism, or template lives side by side. We took a few weeks to create some proof of concepts based on React, came close to breaking some promises we made to our UXers, and have arrived at a structure I call Atomic Architecture. Read more

Breaking Up With the Monolith

(An ancient Persian monolith bearing a striking resemblance… -- Creative Commons Licensed Image) For years now, Craftsy has been innovating on an ever-growing Java monolith that is our web platform. During that time we cemented together our online classes platform, e-commerce, patterns, projects and more. It worked and served us... Read more

Commanding the CLI with Node

Prior to Node v0.12, writing a command line tool in Node was a rather difficult proposition. There was no way to execute a command synchronously, so tools like ShellJS worked around this by blocking the event loop until a 'done' file was created on the filesystem signifying that the command... Read more

Learning from the Design Community

Last month I attended Mountain West JS and learned a lot from some excellent speakers. Several of the talks introduced me to new concepts or perspectives, and one in particular inspired me to think about what we do as developers in a whole new way. Whitney Williams gave a talk... Read more