The ThoughtSpot Codex Hackathon is where ideas become reality, innovation fuels growth, and disruptive solutions are born. Earlier this year, we kicked off our first Codex Hackathon of 2022 with much excitement and motivation. As always, the ideas and demos presented by all teams were downright brilliant.
In total, 144 Spotters across 25 teams came together to participate in the event, and three teams were crowned winners.
We caught up with winning teams Swapit (1st place), Featureflagz (2nd place) and BYOC - Bring Your Own Connector (3rd place) to hear about their hackathon experiences.
Tell us a bit about your team and the winning idea that you presented.
We used linux per process swappiness parameters to make a ThoughtSpot cluster run on half of the currently consumed memory and CPU. This was achieved by using linux swap hosted on the instance attached storage in an r5d.2xlarge ec2 instance type, where ThoughtSpot processes preferentially swapped their memory as needed. Our team had a good mix of backend developers.
Team Swapit: Sunil Gupta, Rakesh Kothari, Rahul Mani, Dheeraj Reddy, Utkarsh Ohm, Yijun mao, Sangamesh Patil, Prateek Chandil
Thoughtspot application services can be highly customized and tuned using different flag settings based on each service. Most of our team members are from the SRE team and we deal with such flag changes on a daily basis.
One of the biggest pain points we have right now is having the visibility and manageability of thousands of these flags across our fleet of servers. We knew solving this problem would help us scale our team and help us help our customers. The team consists of members from the SRE team, platform engineering team and UI developers.
Team Featureflagz: Aaron Schweitzer, Gugan Kulandaivelu, Raja Sudhan, Ashish Sharma, Gaurav Agarwal, Kunvar Singh, Vedansh Mehra
One of the reasons our customers find ThoughtSpot so valuable is we give them the ability to connect to the external data warehouse of their choice. We wanted to take this a step further, and enable businesses with niche databases to experience ThoughtSpot. However, we identified that currently, we wouldn’t be able to efficiently and scalably meet the niche requirements of the industry. The dev effort was simply too great to integrate a new external data warehouse.
So, we set out to solve this problem and built a solution which we named Bring your own connector. With BYOC, the user can integrate a data warehouse of their choice with ThoughtSpot in a few short steps, and can subsequently start using the search and analytics capabilities.
Team BYOC: Mahesh Tolani, Ashok Anand, Ravindra Punuru, Vinay Kumar Nookala, Ankit Choudhary, Kedar Kulkarni, Siddhant Chhabra, Gopalakrishna, Palak Sanghani
What were some of the challenges that you faced as a team? Were all the members of your team based out of the same location?
All of our team members were working remotely from different parts of India. Most of the SRE team had customer facing and deployment activities during the same time frame. It was only due to the collective support of the other members of the team that we were able to achieve this. Also, the conversation on whether we should use our own solution or buy an existing product was interesting to say the least! Given the complexity of our product and the existing knowledge within the team, it might be easier to build this ourselves.
Our team was split between the US and India time zones. The geographic differences actually proved to be an added benefit. We could ensure that the team could keep working 24x7 on the project.”
After the initial setup where the hackathon concept was invoked on an actual production-like cluster environment and the plumbing was done for measuring the system artifacts, the tricky part of the project came. We had to tweak, calibrate, and understand the system behavior based on various workloads. The performance and app behavior was carefully calibrated across multiple iterations and system settings.
It wasn’t practical to onboard ourselves to the codebase and implement the functionalities within a span of four days, with some of our team members being new to ThoughtSpot. But they did have expertise in specific areas that were also critical for making BYOC work.
Moreover, there were requirements to write new and robust APIs that would enable some of the core pieces of the project, and implementing these doesn’t necessarily require a deep understanding of the codebase. So, the challenge was to distribute the work such that every team member could leverage their existing expertise to the best of their abilities.
So, what's next from here?
During the hackathon, we were able to successfully demo that Swapit works reasonably well on a medium scale cluster. Verifying the entirety of the ThoughtSpot workflows at a much larger scale and longevity would be the next steps, before we can gather more confidence and operational viability of the idea and productize it.
This feature is a definite requirement for our cloud operations and we already have plans to implement this in production. Given this has to also align with the security and production scale, we are currently working on further refining the initial solution and aiming to release this in production soon.
We would like to push this to production, but before that we would need to iron out the security concerns, make improvements to UX and discuss with the Product Managers about the potential users of this feature.
Build the future of analytics at ThoughtSpot
Want to innovate and build with us? Check out our open roles on our careers page.