Vikalp, CTO of Goibibo shared the story of how technology transformation took place in Goibibo as they scaled through the years as part of the CTO Talk series organised by OrangeScape. A big thanks to Suresh and team from OrangeScape for bringing us these quality talks and learning opportunities.
There were a lot of takeaways for me and this post covers what I took away from the talk.
Goibibo did not start as a travel company. It started as a consumer internet company in the space of local search and social media. Things did not go well as planned even after a successful fund raise and this is when the team had to pivot. They were not able to create the network effect that Google and Facebook were able to create. Vikalp says “It is better to kill something that you have built that does nor work rather than kill yourself by dragging along”. Fail fast is the recommendation that he gave to us.
One of the problems that nagged the founders was the travel booking experience and they thought they can solve it with tech. That was the birth of Goibibo as we know it today. Goibibo wanted to provide a reliable and fast experience to users who were booking flight tickets online. Goibibo 1.0 was a monolithic application built using ext-js (I remember ext-js as the only formidable competition to jQuery and jQuery plugins to build engaging and interactive user interfaces back then), Python, Django with MySql backend. This served them very well till they were doing around 6000 transactions a month. This monolithic application, as expected, became too inflexible and started to hinder the agility of the team. This is when Goibibo started to embrace micro-services. The team betted big on this way of designing and soon saw that their agility increased.
Adoption of micro-services was the start of 2.0 version of Goibibo’s technology evolution. Around this time is when they acquired RedBus.in. (Surprisingly, many in the audience did not know that RedBus was an Ibibo group company). The management decided to keep the company and their tech stack as is and only looked at synergies in the backend. According to me this was a master stroke that helped both companies to be agile and preserved the culture of both companies. Vikalp mentioned they were very clear to keep the synergies only to those areas that made sense from a customer or a partner standpoint.
Goibibo also started to evolve their tech stack to include GoLang, Node.js and take hybrid approaches for their mobile apps and embrace React. GoLang and Node.js were introduced to those services that needed high amount of concurrency. Goibibo’s version of hybrid mobile app is different from GoFloaters’ version of hybrid mobile app. They worked closely with the React team from Facebook to integrate native mobile app code with ReactNative code seamlessly.
This phase of the journey at Goibibo also saw them adopt a squad or a pod model of organising the teams and delivering work. Goibibo’s version of the pod model was very interesting to me. Each pod at Goibibo was independent and self sufficient. Each pod would be business function oriented and would take the ownership of planning, design, development and rollout of the features. Interestingly each pod also took care of the marketing of the module they worked on. Another interesting fact is that Goibibo does not have a dedicated QC team. The developers are the ones who were tasked with testing the software (They do have a 3rd party vendor engaged for some part of the testing.) To automate or to test manually was left as a decision to the developers. Developers obviously hated manual testing and hence automated many of the test cases. I was particularly pleased with the amount of autonomy and empowerment each of the pods were given.
When Goibibo acquired MakeMyTrip in 2016 they sought further synergies in the backend and the shared components. To a question that I asked about how they rearchitected themselves for cross-sell / upsell and how they built single customer view, Vikalp quickly responded that engineers sometimes over engineer. He mentioned that sometimes it is better to have each of the pods decide what they thought was the best thing to do and later on in the backend stitch the data together. He also mentioned that as the engineering team size grew, it was the responsibility of the leadership team to cut-across and ensure that the experience to the customer was seamless and consistent.
The current phase of Goibibo and the bets that they are taking now is what Vikalp calls as Goibibo 3.0. They are now betting big on AI and ML. Whether it comes to the dynamic pricing engine, or the moderation and tagging of user generated content AI and ML is at play. The biggest bet that Goibibo has taken is to front end all customer service queries through their chatbot, Gia. Gia has evolved over the last 2 years and now handles more that 45000 conversations in a day. From using Api.ai (which later on became Dialogflow after Google’s acquisition) they have transitioned to building their own NLP engine Chanakya. Vikalp says there is a lot of work yet to be done on Gia but he sees it as the future.
In summary I found this talk very pertinent to any early stage startup. While Goibibo is a tech company at its heart, all the tech decisions they have made throughout their journey were made only to further their business and to propel them into the next stage of growth and not as a flight of fancy. They always kept customers and partners in the center of all such decisions. It was also a very motivating to see Goibibo literally rise from the ashes like a phoenix to build the biggest travel tech company of India.