At Algolia, they utilize React and Redux for building complex search UI widgets. They found that setting up conventions is crucial to harnessing the combined potential of these libraries. They use a fractal directory structure and collocate Redux action creators and reducers in the same files, following the Ducks proposal. This allows them to write more modular components with abstracted action creators. To simplify reducer-side code, they created the strongly opinionated createReducer implementation called redux-updeep, which assumes that most actions result in deep updates of the state. They've also developed a middleware called redux-magic-async-middleware to handle asynchronous actions and promises, as well as an eventual-values library to encapsulate and abstract asynchronous value behavior.