React and Redux is our top choice for building the best client-side experience on a single-page application. React makes complex interfaces easy with small, reusable components, consistent behavior, and rich interactions. We’ve worked with companies like Neurobios, leveling up their team’s React skills and helping build out applications.

Why use React?


The great thing about React is that it can be implemented gradually (if you want to). Some JS frameworks require you to make a big investment in their infrastructure in order to start getting any usable results, but React allows you to start replacing components of your web app piece-by-piece. It is highly effective for teams because it encourages the reuse of UI patterns and requires a readable syntax.


We’ve built single page applications at thoughtbot using React and Redux for when we’re building a full client side application as opposed to a website with some rich interactions.


Redux is a Flux Library we use to maintain state when using React. Using Redux you define actions which you use to modify your state. This prevents bugs that were common when using plain React.js.

React Native

React Native gives our team the chance to write fast, native applications on Android and iOS in a single codebase while sharing large amounts of logic. This means we can ship faster to both platforms.