Our logo, symbolizing how fast information can travel during this day and age
Home screen of our website, where you can process either a trending topic (default values 1 month, worldwide), or your own keywords
When a result is finished loading, it'll bring you to a new page, where the articles found are summarized, with the link underneath
The state of our world and its rapid growth inspired us to create Trendit, a web application designed to keep you in the loop. There are many important social causes and events taking place in our world right now and staying well-informed empowers us to make educated decisions.
There were times in our own lives where we felt clueless about a large pop culture event and wished there was an easy way to learn about it. Modern pop culture can oftentimes be riddled with references and inside jokes that are confusing to navigate. We wanted to help people stay in touch despite the confusion and change occurring in everyone's lives at the moment.
What it does
Trendit is a web application designed for the user to research and catch up on any topic of choice. Using data from search analytics and an NLP summarizer, the user is provided relevant information in a concise manner with other links for additional reading. Trendit grabs information from a diverse range of sources to provide the user with a varied and sophisticated understanding of the topic at hand.
How we built it
We built Trendit with HTML, CSS, JS, Flask, and a variety of Python libraries. The UI was designed to be simple and pleasant. To create the logo orbiting animation, we used JS with some mathematic functions. To retrieve URLs and to show currently trending topics, we used the PyTrends library. To make Google searches, we used requests, and to parse them we used beautifulsoup. To create summaries, we used the newspaper module. Finally, to communicate with the frontend, we used Flask.
Challenges we ran into
We were all new to Flask, which we used in order to connect the front-end website with our back-end, where we scrape, summarize, and process the data to be delivered. During the first few hours, we spent our time getting accustomed to Flask, following along with YouTube tutorials, and setting up our Github Repo and PyCharm environment.
In order to deliver our content, we scraped data from websites which proved to be a more complicated task than initially anticipated. Issues such as sending too many requests and optimization required us to perform additional research and to be more ingenuitive with our approaches.
We also dealt with an issue where our webpage was returning ERR_Empty_Response. Utilizing monkey wrench we were able to properly manage the threaded processes and prevent this error from reoccurring.
Accomplishments that we're proud of
We are proud of learning an entirely new web framework - Flask - in 36 hours and still being able to create a useful and innovative project. We learned how to use many different libraries and built-in features to enhance our project. In addition, we are proud of our strong teamwork and dedication allowing us to create a fully-fledged project while all in quarantine.
What we learned
This project taught us about web scraping and the intricacies between balancing efficiency and stability. In addition, we learned how to utilize an array of python libraries to summarize articles, manage datasets, and find trends. Through this hackathon, we learned how to incorporate Python with HTML (backend and frontend) to create a website with more unique and advanced functions.
During this hackathon we learned about:
-HTML, CSS & JS
What's next for Trendit
We hope to lower the time needed for processing and deliver more accurate results for more obscure searches.
In terms of visual improvements, in order to make the processing time a little more clear cut, we also would've liked to have the moon orbiting while it loads.