e often get asked at KitchenMate how we manage to further our team's skill set and solve complex tech challenges with such a small group. This is something that we put a lot of thought into. Beyond the typical answers to these questions like going to tech meetups, working on open source projects, and attending tech conferences, we have found one method crucial to this component: hackathons.
I'm a software developer at KitchenMate; I've been there for almost two years. I've seen the company move offices, 10x our delivering capacity, and move from a small kitchen to a large production facility. Before KitchenMate, I'd worked on ML projects in the past, but typically in the form of open-source tools or side projects. Even with my experience in the industry, real-world applications for the algorithms I'd observed had to some degree seemed alien to me. At KitchenMate, we built a seamless infrastructure for managing all aspects of the food delivery supply chain. This infrastructure included graph-based algorithms and recursive queries. However, solving some of our more elaborate forecasting related problems like: "how much to food delivery" and "what menu to plan for in the upcoming weeks" seemed best left for a human to do manually.
However, as our growth continued, we realized that these small forecasting tasks faced by our food production team changed from taking only minutes of their time each week to days as our number of customers skyrocketed. Better UIs or Full Stack Engineering solutions were not going to cut it for our food production team any longer. That said, forecasting problems were new territory for us as a software team, and so we were very skeptical about the best way to even begin approaching these problems. Putting too much energy into one solution could be wasteful and could bleed out many of our software teams' time and resources. Furthermore, finding the proper balance between research and implementation was difficult.
I'm sure many other tech companies have faced these challenges in the past, and like us probably struggle with making the first steps towards building the optimal solutions to these issues. Fortunately, we found a fantastic approach to help foster creativity and innovation: participating in hackathons.
As many in the tech world are familiar, hackathons are two to three-day technical competitions in which developers have to build a unique piece of software or hardware in a short period that solves a problem in the realm of the event's guidelines. Many of these events have a theme about new areas like blockchain and machine learning.
The first hackathon we attended was back in March of 2019 (Evoke Hackathon). The reason for signing up was to improve team building and to have fun. This indeed occurred during the event, but it also put us into a new psychological mindset. We could indirectly research and implement in a way that was more aligned with play than actual work. Many of our anxieties that were left unresolved in solving these problems could be approached uniquely through the hackathon's context. This liberty provided from the hackathon made learning new skill sets a fun and exciting adventure. To top it all off: we managed to obtain first prize at the event against 200+ developers.
During these events we built crazy gadgets like lightbox generators and bubble walls. Yet behind the scenes it allowed us to explore machine learning infrastructure, and hack together implementations of exotic algorithms. The tools gained from these events helped us develop internal tools like a feature store, a jupyter lab based task scheduler + API, and a neural network with hundreds of unique input features used by our production staff. We also developed validation tools to improve existing models and sanitize our input data.
We try to attend a hackathon each quarter with our interns and I think it is most definitely a highlight of working at KitchenMate for all of us. I encourage all startups out there to try giving hackathons a shot. Innovation requires creative freedom fostered by these environments, and the atmosphere of a hackathon is a perfect outlet. Plus, the prizes, networking opportunities, and team-building skills are a great plus.