Inspiration
I created Bookseed in order to address the The United Nations Sustainable Development Goal #4: Education. According to the UN, "Entrenched inequities in education have only worsened during the pandemic." To solve this problem, I wanted to increase the accessibility to educational resources, books specifically, and make it enjoyable to use those resources by allowing cutomization according to user preference. To do these things, I created Bookseed.
What it does
Bookseed is a webapp with two main functions: a library and a map. The library allows users to view over 6,000 books with their description, ratings, and genres. Clicking on a book will generate a page of reccomended similar books based off of the description, chosen from the .csv file by machine learning. Additionally, a map of all the public libraries in America is given so that users may locate where they can get the book of their choosing free of charge.
How we built it
Model: Python accesses the description of the original book and all of the other options in a .csv file and converts them into vectors using a pre-built machine learning feature-extraction model from sklearn. Then, the sklearn cosine similarity model is run to determine how similar those extracted features are to the original text. Finally, the number output is used to sort the csv file to obtain the top 4 books with similar descriptions.
Front End: HTML files are used as templates, loaded when the url changes to display output. CSS formats this output and adds style, in addition to the loading animation. JavaScript is used to add more animations, such as text sliding in or elements popping up. Finally, JQuery is used to manage complexity and format the result of pressing buttons and going to HTML pages.
Flask: Flask connects the back-end python to cache in browser, which then calls HTML templates and loads CSS, JavaScript, and JQuery. Flask also allows for python to be used inline. This allows the HTML template for the library page to iterate through nested lists in order to display the books as images using CSS formating and JavaScript reactions to hovering.
What's next for Book Reccomendations
I would first like to improve my dataset of books to include more options, especially more non-fiction options, with better image quality and more thorough descriptions to make the machine learning more accurate. I'd also like to improve the runtime of the pages through AWS servers, becuase everything takes a long time to compile.



Log in or sign up for Devpost to join the conversation.