Listening to long lectures while attempting to retain information is much more challenging in an online setting. The constant screen time and easy distractions contribute to this, leading to a lack of understanding and recollection.

What it does

Summify takes a unit of text, either through a text box or through a .txt file, and returns a neat summary of the contents using bert. Along with the summary, both keywords and questions are provided to help either delve more into the particular topics or quiz yourself based on the given material! Keywords are linked to a search query regarding the keyword as well as the relevant area of study. Questions are either MCQs, fill in the blanks, or true or false questions.

How we built it

For the front-end, we used HTML, CSS, and ReactJS. For the back-end, we used Flask and Python. For text summarization, keyword extraction, and question generation, we used existing technologies and APIs.

Challenges we ran into

One of the biggest challenges that we ran into was integrating the front-end with the back-end, as none of us had experience connecting React and Flask. Most of us had also not worked with these tools before, so we learned as we worked. Figuring how to apply the technologies for text summarization into the website was also difficult, considering the model sizes and lack of time to train over an existing model.

Accomplishments that we're proud of

We managed to create a working back-end and front-end with most of the members having no prior experience. We also managed to add features beyond our original plan of just text summarization, including keywords and sources with a question generator as well.

What we learned

We learned a lot about natural language processing, integrating front-end and back-end, effectively using CSS, React, and Flask. Some hadn't used Flask before, and some hadn't used React before, and none of us had used them together, so we learned whichever skills were new as well as the integration of the two together.

What's next for Summify

We hope to build our own models using NLP to enable our features instead of using existing APIs/models, or at least train pre-existing models with our own data. We also hope to add a video upload option as well.

Share this project: