As students, we are familiar with the hours spent sifting through pages of search results when trying to solve a problem or learn a new concept. Our inspiration came from a desire to simplify this process, as well as wanting to learn new frameworks at HackUCI 2019. Our team was all interested in creating a web application, and we also wanted to follow the themes of the event: Create, Connect, Inspire. We wanted to help connect students to new technologies in order to inspire them to create something new and amazing. And what better way than to do that than creating a tool that encourages and enhances the learning process?
What it does
Shoom optimizes and restructures search results when you are trying to learn a new technology or framework. The results are and parsed into 4 categories: official documentation, videos, forums/blogs, and articles. It then displays more relevant and helpful information, such as official documentation or videos, rather than sites that mention the technology but do not teach it.
How we built it
We built Shoom mainly using React.js. We also used Google API's in order to use google to search for the technology you are looking for. Shoom then parses the search results in order to categorize them into the main categories, and then renders a small snapshot of each relevant result.
Challenges we ran into
One of the biggest challenges that we ran into was getting used to React.js. At first, we wanted to pass data between component classes on separate pages, but realized that we would need to use Redux, which would have taken a lot longer to integrate. We solved this problem by breaking down the components into a hierarchy of parent/children components that all referenced the parent's state.
Another challenge we ran into was trying to work with the Google Custom Search API. We could make a query using a static string, but ran into some difficulty trying to make the query depending on what the user enters into the search bar.
Accomplishments that we're proud of
One accomplishment that we are proud of is how much we all learned throughout the weekend. We all had very little to no experience using React before we started Shoom, and we all had a chance to work with and learn React in one way or another.
Another accomplishment that we are proud of is how well we worked together, especially being the first hackathon for 2/3 of our team. We were able to use git effectively to monitor version control, and we planned and organized very well together.
What we learned
We learned a lot about what goes into making a project in only 36 hours. We were able to see what a fast-paced work environment was like, and we were able to see how disciplined we could be to get as much done as we could. We also learned a lot about web development and how to collaborate with a team to make a successful web application.
What's next for Shoom
We plan on implementing more Artificial Intelligence/Machine Learning to Shoom in the future. We would like to tailor to the individual user experience by learning how the user learns most effectively, and focusing on those sources more than others. We also want to integrate a back-end to support saving search results that the user finds useful, which is also used to further streamline future search results. This would enable the user to go back and view sources that they found beneficial and want to reference further in the future.