Inspiration
Regardless of who they are or where they come from, education is a right for everybody. However, there is much that needs to be done to bridge inequities that exist within education. It can be quite daunting to read pages upon pages of huge chunks of monotonous text - even more so for people with learning disabilities or accessibility needs, or who aren't as fluent in English. We wanted to be able to extract key information from long documents in a way that is more accessible and digestible for the user.
What it does
Our application takes in a URL to a PDF from the user and then summarizes and displays it concisely with the help of large language models!
How we built it
We used React.js for our frontend, and Node.js and Express.js for the backend. On the frontend, we have users sending in a URL to their PDF, which is then sent to the backend for processing. On the backend, we have API calls to first convert the PDF to simple text using the pdf.co API, and then sends this format to OpenAI's API for summarizing the text with an appropriate prompt. This output text is then fed to the frontend for display.
Challenges we ran into
Establishing the connections for our endpoints between the frontend and backend was probably the most significant challenge we faced. We're also pretty unfamiliar with API calls and are still learning as we go!
Accomplishments that we're proud of
- Having a pretty user interface :D
- Being able to figure out how to configure the endpoints so that they'd work!
- Figuring out how to perform API calls
What we learned
To never underestimate how tedious frontend can be
What's next for ClearSpeak
Implementing text augmentation features, like allowing users to pick a font, increase and decrease font size, choose their desired colour contrast, etc. We'd also really like to incorporate a text-to-speech feature and a language-translating feature to increase accessibility!
Built With
- css
- express.js
- html
- javascript
- node.js
- openai
- pdf.co
- react
Log in or sign up for Devpost to join the conversation.