Inspiration

Many students find themselves without enough time to sift through hundreds of textbook pages when learning something. What would greatly help them is having a way of learning faster and more efficiently by reading condensed notes that cover the main ideas of a reading. We seek to resolve this with MasterSheet.

What it does

Our app takes in a DOCX/PDF file upload of any size from the user. It then parses it into a string that is inputted to an AI language model (GPT-3) to summarize its contents and outputs it in the form of condensed notes and formula sheets. These notes can be downloaded as a PDF file.

How we built it

We used Flask to interface with the GPT-3 API and implemented Restful APIs to connect with React on the frontend

Challenges we ran into

An initial challenge we ran into was how to effectively parse PDF files into strings that the GPT-3 can take in. We found out that it has a token/character limit of roughly 5000, so we split our PDFs into chunks and combined their respective summaries into one complete document.
The biggest challenge we faced was trying to connect React Vite to our Flask backend. We spent a lot of time trying to figure out how and where to call fetch APIs on the React frontend to receive data from the backend. Receiving the file input was also challenging but took less time.

Accomplishments that we're proud of

We're proud of designing a clean, minimalist UI/UX and an API that can accurately parse PDF files (up to hundreds of pages), throughly summarize its main points with GPT-3 and output it as a readable PDF file.

What we learned

We learned how to interact with the GPT-3 library in Python and prompt engineer specific inputs to get optimal and detailed results. We also gained experience working with OpenCV and PDF parsing libraries (PDFMiner) to read in vast amounts of information from extensive textbooks covering subjects such as math and history.

What's next for Master Sheet

We would like to include a quiz generator option covering core concepts from a reading in addition to generating formula/summary sheets.

Built With

Share this project:

Updates