Octo-recipes

During October of 2021, I had the great opportunity to take part in the 2021 Annual Meteor Hackathon. The event began on October 15th and ran until the 20th. My team and I were given the task to come up with an idea and build a meteor web application within the given amount of time. We were given quite a bit of freedom in terms of project ideas, as long as it provided some sort of useful service to users. Initially, we were thinking about doing an application that reminds you of bookmarks (similar to YouTube recommended page) since bookmarks can be hard to search through. However after shuffling through multiple other ideas, we eventually agreed on a cooking-recipe focused application, named Octo-Recipes. The main purpose of Octo-Recipes is to provide users (ie. home chefs) with an easy to use interface for finding and saving their favorite recipes in a centralized, fast and convenient manner.

Before competing in this Hackathon, my group members and I had never participated in such an event. We made many mistakes throughout the entire process, however we also learned a good amount because of these mistakes. The first mistake we made was our lack of preparation. Going into the Hackathon, we didn’t have a solid idea ready to go. This caused us to spend most of the first day switching our idea, and thinking of a realistic application we could build in the given time frame. In the end, we came up with a decent idea, however we slightly overestimated ourselves and the project turned out to be a bit more ambitious than we had anticipated. There’s an old saying my teachers would always repeat that’s pretty relevant to this lesson, “Failing to prepare, is preparing to fail” -Benjamin Franklin.

Another mistake I made, related to lack of preparation, was poor time management. There were multiple instances where I got stuck on a problem that wasn’t worth the time trying to figure out. For example, initially I wanted to implement a different search bar that was more interactive. It would show clickable search results in a dropdown menu below the search bar as the user types in characters. I ran into many different issues while trying to implement this search bar into our app, and spent a lot of time trying to solve each problem I came across. However, I eventually realized that I needed to move on to other parts of the application and that the specifics of the search bar I was trying to implement were not worth the time I was investing into it. Thinking back, I should have implemented something I was more familiar with given the time constraints of the event. Thankfully, one of my teammates was able to create a different search bar that works great.

Although I wouldn’t consider it a mistake, an area where we (I especially) could have definitely improved is our team communication. Given our varying schedules, it was difficult for us as a team to find a time where we could all meet. At the beginning we were a bit unsure of what everyone’s roles were, which could have been solved quicker with better communication. Another example of poor communication was between one of my teammates and I. The situation was mostly my fault, I had just created a feature we needed in our application, but I had not yet merged my branch into the master branch of our git repository. The next day I saw that one of my teammates was in the middle of implementing the same feature I had been working on. This is obviously less than ideal because we had wasted time on implementing the same feature. This is another example of a situation that could have been avoided with good team communication.

Overall, participating in the 2021 Meteor Hackathon was both an educational and a fun experience. It was pretty stressful being pressed for time during the hackathon. I’d never really been in a situation where I knew I didn’t have enough time to implement everything I wanted, and needed to pick and choose the features to prioritize spending my time on. I spent most of my time creating the forms for users to save data to our database, as well as implementing the backend services of our web application. I spent very little time on the actual design of our app, all credit goes to my awesome teammates, who I look forward to working on projects with in the near future. I learned a lot about software engineering and hope to do similar events like this again.

Team Members:
Jason Kulka
Kason Shiroma
Keanu Lagundimao

Project: github
App: Octo-Recipes