Rendering Relay on the server

If you’re using Relay and server-side rendering React components, you must optimize Relay for server-side rendering, or suffer a substantial performance cost. TL;DR You’ll need to configure babel-preset-fbjs to hoist its require calls — but only on the server. We’ll get into more detail, but first, this graph illustrates why you need to do this: The… post continues

Modeling form state in React

In this blog post we’ll describe a method for modeling forms in React. What follows is a general method for shaping form state data. It can be used with any state management tool such as Redux, MobX, another flux implementation, or even just this.setState. We’ll be using this.setState in this post. First, let’s start with… post continues

Rendering Emails with Isomorphic Relay

My name’s Aaron Horton, I’m a front-end engineer at 1stdibs and I’m really excited about emails! If this sounds like a contradiction to you, you’re not wrong; developing email templates is, generally, not the most thrilling task for a front-end engineer. Email clients aren’t up-to-date with the newest rendering engines so CSS support is relegated… post continues

Simple URL Routing for Redux

React Router is a very popular library for handling URL routing in react applications. There has been a lot of controversy recently following the announcement of version 4. For some of our apps at, we’ve been following a much different approach to URL routing. In a Redux application, the store is the single source… post continues

Infrastructure Evolution

1stdibs’s infrastructure has changed dramatically over the site’s 15-year existence. While visiting the Lithuanian team, CTO Ross Paul discusses the motivations for the evolution from a monolithic webapp to a cloud-based SOA. Infrastructure Evolution from 1stdibs Engineering on Vimeo.