Inspiration
Students who use online PDFs all have the shared experience of struggling to find the relevant info for their questions. A common tool used to navigate PDFs is CTRL+F, but this tool has its problems. With pages numbering up to 500, this tool sometimes fails to navigate the user to the relevant content. Even if CTRL+F does yield some results, it often finds content of no relevance. With BetterCTRL+F, we hope to improve this experience and aid students in this task.
What it does
Using an algorithm, the website allows the user to upload a pdf. Then, the user can give a prompt to the model, and from there, the user will be directed to possible points of relevance within a built-in PDF reader.
How we built it
The tools we used for this project are Vite and Flask. The website was first initially designed by hand. Then, the frontend developer was responsible for recreating the interface with some creative liberties taken. Simultaneously, the backend developer implemented the algorithm used to find relevant searches. After these roles were complete, we worked to integrate both ends.
Challenges we ran into
Our team of two mainly had front-end experience, so learning the back end proved to be a challenge. Getting our Flask server to correctly receive the PDF file to be processed was a challenge as well, but ultimately, we overcame this issue.
Accomplishments that we're proud of
For the front end, successfully completing the routing without losing file context was very enjoyable. While the fix may be easy, diagnosing this problem took some time, but it was all worth it in the end.
As for the backend, I'm certain that the overall implementation and integration of the algorithm was an enormous moment as well.
What we learned
Overall, our full stack knowledge has been deepened. It was the first time our team used Flask, and we have a much more concrete idea of what a backend really is and how to set up such a backend on a local server.
What's next for betterCtrlF
We originally were inspired by Alex Jon Dillhoffs RAG LLM as the algorithm inspiration, but we ultimately scaled this idea down in favor of our current algorithm.
Additionally, instead of posting the text of the PDF, we hope to embed a PDF viewer in the docviewer. Due to the issue of sourcing a free PDF viewer (react-pdf is a paid product), we were unable to implement this feature.
Built With
- css
- flask
- javascript
- react
- tailwind
- vite
Log in or sign up for Devpost to join the conversation.