For university students whose schedules are often packed with quizzes, assignments and lectures, it is not uncommon for students to miss out on a few lectures. However, lectures in university are commonly two hours long and usually consist of a hundred slides in a pdf or ppt file. This can often lead to students getting intimidated by the backlog and falling victim to procrastination. This often leads to students missing even MORE lectures, and well, it becomes a vicious cycle caused by procrastination.
But why does this matter and how does our web-app mitigate this problem? We decided to create a platform that allows students to summarise content with ease. Whether it be from the lecture video or slides, students can just upload the lecture video / materials and expect a succinct summary from our web-app, Summarised, within seconds! This allows students to quickly sieve through the multitude of information that is available to them, increasing their efficiency at clearing their backlog and helping students learn with digitised tools like ours. With Summarised, students no longer have to fret about the lengthy lecture materials and focus on understanding the content itself.
What it does
Summarised harnesses machine learning to generate a comprehensive summary of the input it was given.
- Takes in inputs in the format of plain text, a file, an image or even a video
- Generates a cheat sheet based on the summary for the user
How we built it
For frontend, we used Figma to first visualize and come up with a high-fidelity design to base our web-app's UI on. Afterwards, we used CSS to style the frontend to make the UI user-friendly and simplistic, especially since we intended this web-app to be a single page application.
For backend, we originally wrote a custom Python extractive Textrank algorithm to find the optimal summary for the files uploaded, but due to time constraints, we were unable to get it working along with NodeJS even with the usage of "child_process" or "python-shell" as we could not find a way to import Python packages in NodeJS. Therefore, for proof-of-concept, we used a text-summarization package from npm to quickly integrate it into our web-app, ensuring that it has basic summarizing functionality.
Challenges we ran into
As we just started out, we faced challenges regarding the conversion of the different inputs into text files since our machine learning model only takes in text inputs. Further on, we faced challenges incorporating the model into our backend due to certain incompatibilities between Python and JS.
Accomplishments that we're proud of
We managed to deploy the web-app and even tried our hands at the algorithm behind summarising feature! Even though our algorithm was incompatible with the rest of the backend and did not make it into the final product, we were still proud that we were able to produce a basic functional prototype and demo in time for submission. Furthermore, some of us did not know each other before the hackathon and thanks to Lifehack, our team learnt to be more cohesive and coordinated, learning when to make compromises and to go the extra mile to help each other out even during trying times.
What we learned
We learnt that making a web-app that has machine learning based features is more challenging than it sounds. Furthermore, as it is our team’s first hackathon together, we realized the importance of teamwork and coordination required to deploy a functional web-app within the 48 hours given for the hackathon.
What's next for Summarised
For Summarised, we hope to incorporate a machine learning model to perhaps increase the accuracy and similarity of the summarised text when compared with the lecture notes. Furthermore, due to time constraints, several of our features are lacking, therefore, given more time, we aim to fully implement the video-to-cheatsheet features for Summarised as well as a feature where the user is allowed to input certain keywords for the platform to generate a more targeted summary.