Founded in 2015, Hero is on a journey to change the way we shop, personalizing it by connecting customers with retailers. They have completed a $10m Series A funding round to speed up this reinvention of retail.
Hero enables customers to learn more about the items they’re interested in without leaving their home, office, bus, or wherever they are. Hero’s technology that unlocks their unique advantage over the e-commerce giants empowers stores all over the world.
Hero connects to the retailer’s website using their web plug-in and allows customers to chat with the retailers. Whether via text, or video this allows them to convert a potential customer to an actual customer.
Hero’s platform is built for real-time chat, analytics and sales. It allows 1000’s of mobile and web applications at the same time. It’s important to have the ability to scale individual components and add new features.
We’ve worked with Hero’s development team to identify opportunities to improve processes and practices. The development team at Hero is divided into cross-functional teams. One of the goals was to enable each team to take ownership of one part of the platform. In addition, we’ve assisted them in retaining the confidence in the codebase to publish new changes to production as often as possible. The solution was to migrate from a monolithic architecture to microservices. Afterward, we’ve defined CI/CD pipelines and testing strategies.
We worked with Hero’s engineers to design and build microservices using TypeScript, Node.js and Koa framework. Moreover, we implemented a template that was later used for the development of new services. It enabled us to speed up the development process and simplify the onboarding of new developers.
Together with Hero’s engineers, we decided to use Jest for writing unit tests. This way, every new feature meets its design and behaves as intended. Unit tests and code reviews enabled development teams to maintain the highest level of coding practices. This enabled maximizing the readability and maintainability of the code without compromising quality.
Using carefully crafted code, made with readability and scaling in mind, as well as a UX that is friendly and simple. This allows the users to reach Hero’s dashboard, get in contact with them, as well as adjust Hero’s plugin on Shopify.
We crafted these solutions with readability, scalability and maintainability in mind. As well as documentation for ease-of-understanding by whoever needs to check the code.