We built an javascript API mapping that's "isomorphic". The express server receives a request, and for each route we have a function that takes the request, uses the API mapping that sends REST calls to our django server to grab the appropriate data, sends the data through to the store (server calling createStore from redux), the body rendered using Provider from react-redux, and using the react-router, which is rendered back on to the express response. The state is pasted onto the page using JSON.stringify (with some caveats to escape </script> tags), and is hydrated back onto the elements on the page by the browser, by calling on createStore on the state pasted onto the page.