Inspiration
The relentless influx of information in today's digital age can be overwhelming. Having experienced first-hand the challenges of keeping up with academic papers, lengthy reports, and multimedia content, we were inspired to create a tool that simplifies the digestion of complex information. Our goal was to help individuals - from students to professionals - efficiently understand and utilize vast amounts of data without the need to comb through every word manually. Like a one stop shop for all your grind - research & study, you could have all the Q/A from various sources, documented and downloaded as pdfs.
What it does
The web app simplifies the process of consuming large volumes of information by providing a user-friendly platform that summarizes content from various sources and allows you to ask questions about them. Here's a breakdown of its core functionalities:
YouTube Video Summarization: Users can input a YouTube video URL, and the app processes the text from the video, generating a concise summary of the main points or answering the questions asked by the user. This feature is particularly useful for educational content, documentaries, and lengthy discussions, allowing users to grasp the essence of a video without watching it in its entirety.
URL Content Summarization: The app can take any URL provided by the user, scrape the text content from the page, and deliver a summary or answer the questions asked by the user. This is ideal for news articles, blog posts, and other online written content, enabling users to quickly understand the key information without reading through the entire text.
PDF Document Summarization: Users can upload PDF documents, and the app extracts the text to produce a summary or answer the questions asked by the user. This feature supports academic papers, reports, and any PDF documents, assisting users in reviewing large documents efficiently.
The part of the web app that we love talking about is the 'save notes' feature. It allows you to save all the questions you asked with their answers in the current session to a PDF file.
How we built it
The project was built using a combination of JavaScript, HTML, and CSS for the web interface, ensuring a responsive and accessible platform. On the back end, Node.js was integrated with Express framework to handle requests and communicate with APIs such as Puppeteer.js (for scraping) and Gemini (for generating summaries/QAs). This setup allowed for the summarization of content from YouTube videos, URLs, and PDFs.
Challenges we ran into
A significant challenge encountered during the development of the web app was dealing with the formatting of text received from the Gemini API. The text often came with varied formatting issues that did not align with the desired output format for summarization. This included handling special characters, inconsistent newlines, and embedded HTML or JSON formatting that complicated the parsing and summarization process. To address this, a series of preprocessing steps were implemented so that standardized the text input. This involved creating regex-based cleaning functions to strip unwanted characters and formatting, normalize whitespace, and remove any embedded code snippets.
Accomplishments that we're proud of
One of our most significant milestones was the successful integration of multiple content summarization APIs. This integration allows our web app, EzNotes, to efficiently summarize content from diverse sources such as YouTube videos, web pages, and PDF documents. To harmonize these different data sources into a single, coherent user experience stands out as a testament to our technical proficiency and dedication to creating a versatile tool.
What we learned
In the course of developing EzNotes, we dived deeper into generative AI and learned how sensitive these models are to the specifics of the input prompts. A slight alteration in the wording or structure of a prompt could dramatically alter the AI's output, influencing both the tone and substance of the generated summaries. This experience taught us the importance of precise prompt engineering and optimization to produce relevant and accurate content. It underscored the need for careful testing and refinement of input prompts to harness the full potential of AI in content summarization, ensuring that the responses align closely with user expectations and requirements.
What's next for EzNotes
From a scalability perspective, scraping data using Puppeteer every time the user inputs a URL can be compute-heavy. To tackle this issue, we plan to implement caching on URLs. Apart from that, we have plans to do the following -
Improved form/error handling - Better handling of invalid URLs/files to ensure the user is aware of the issues.
Integrating into pre-existing applications - Partnering and implementing the features from EzNotes into applications such as PDF readers, video players, and browsers would really increase usability.
Mobile App Development: Developing a mobile version of EzNotes could significantly increase its accessibility and usability.
Integration with Academic Databases: To further assist students and researchers, integrating with academic databases and journals for direct fetching and summarization of articles could be a powerful feature.
Real-Time Summarization Features: Developing features that allow users to get real-time summaries for live lectures, webinars, and other streaming content.
Enhanced Interactivity: Adding features such as note-taking, highlighting, and personal annotations directly in the app could make it a more comprehensive tool for study and research.
Privatizing the Data: RAG based approach could be used to deploy and run on sensitive and private data as well, to prevent data exposure to public and at the same ensuring domain specific relevancy
Built With
- css3
- express.js
- html5
- node.js
- puppeteer.js
Log in or sign up for Devpost to join the conversation.