I used React.js with Webpack Bundler and Babel to provide the UI, as well as Redux to build a single application state used by some of the React components. Node.js and Express were used to serve the client, PostgreSQL was used for the database, AWS to upload images, and finally, I used the Socket.IO library in order for the chat and sitewide “online users” features to work in real-time.