Crafting experience...
10/26/2025
A Project Made By
Eduardo Aragon
Engineer
Jayden Coy
Engineer
Ragul Thiyagarajan
Engineer
Saaketh Kesireddy
Engineer
Hemant C
Engineer
Submitted for
Built At
Gator Hack IV
Hosted By
Have you ever felt like you're falling behind in tech—even while actively trying to stay informed?
For computer science students, staying current is essential for career readiness. But students face thousands of posts daily across Reddit and tech newsletters. Manually filtering this takes hours students don’t have. Over time, this reduces productivity and makes technological advancements less accessible.
We created Grasp to make staying informed actually manageable. Grasp automatically monitors trending tech discussions on Reddit. When something gains traction—like a new framework or AI tool—we capture it and create a complete learning experience. Each topic includes an AI-generated summary breaking down what the technology is. You see pros and cons laid out clearly. We generate quiz questions that test surface-level understanding—not to stump you, but to actually help you learn. By the time you finish a topic, you understand what it does, why it matters, and whether you want to dive deeper.
For the implementation of the project, we broke it down into three core components: frontend, database, and backend.
We have a frontend written in native HTML, CSS, and Javascript. The frontend primarily performs GET requests via Javascript’s fetch command. These fetch commands all return JSON responses or text responses that are handled asynchronously.
The database is a PostgreSQL database with three core tables: topics, generated_questions, and sensitive_info. Topics which essentially stores the name of the topic, where it was scraped from, and associated question ids. The topic schema doesn’t actually store the generated question object so that we can reduce the amount of data being retrieved on the home page visit. When the topic is retrieved we can then retrieve the associated exercises in the backend. We store users' emails and custom generated ids into sensitive_info using Supabase's authentication system for future complete implementation of a login/registration system, while ensuring safe, protective measures to avoid personal information exposure.
For the backend we utilized Google Cloud Functions via Firebase Functions. All functions are coded in Python 3.13. They are basically representative of a Flask API and are exposed via endpoints generated via Google Cloud. These exposed endpoints are then accessible to be called by fetch requests in Javascript.
Essentially the way the flow works is we have one scheduled function that runs hourly which parses relevant sources like Reddit and gets trending topics with which to update the database. This update function also takes care of how relevant a topic is and creates exercises for each topic. This update function updates the database and then other functions which are accessor functions and make getting data from the database easier on the frontend. The backend is the only way we interact with the database, and the frontend is the only way we interact with the backend. Because everything is modular and written in functions for backend it should be scalable.
The project codebase was composed with the following list of technologies:
Language | % of Codebase |
|---|---|
Python | 63.9 |
JavaScript | 19.4 |
CSS | 9.9 |
HTML | 6.8 |
The most significant struggle we had when creating this application was the ideation process. Although we had topics and ideas, it was difficult to come together as a team and decide on a idea that we all were passionate about. We overcame this adversity by thinking about our interests and mixing it into one application, leading us to an engineering based education app.
On the technical side it was difficult to balance the workflow of the project. As we only had one person working on the front-end and the rest of us collaborating on the backend. The process of bringing it all together and building features at the same speed became difficult.
One specific technical issue that became the largest time-consuming aspect of the project was implementing the chatbot support; but over time by working together we were able to overcome the Navigator API implementation problems and deliver a product that we are proud of. As a team, we learnt how to overcome this struggle by trying to help one another despite our separate domains. We learnt collaboration, communication, and patience that has helped us become better team members and leaders.
We were really proud of implementing a custom recommendation system that will evaluate the similarity of other collected topics in our database to the current topic being displayed and display links to those at the bottom of the webpage. We also designed our web application to be easily scalable, allowing us to scrape other websites and forums across the internet, which will help us cover a broader collection of trending Internet topics. Although we only had one person working on the front end, the web app still looks excellent and feels satisfying and responsive to click through the many different pages available. Furthermore, we were overjoyed that we were able to successfully integrate AI in multiple different creative ways. As said previously, we implemented a custom chatbot. We also used agentic AI to filter through all the scraped data from Reddit and extract only the useful, relevant information we needed to generate main topics. On top of that, we also generated custom questions, summaries, and pros/cons for all the extracted topics, so the user can test their knowledge on these topics. Finally, successfully integrating the Supabase database, frontend, and backend into an overall smooth, functional experience was our greatest accomplishment, because this was the sign we came out with a working project we were proud of after a long 48 hours.
We completed a lot more than we thought we could initially accomplish however there were some features we didn't have sufficient time to implement. These features primarily included an effective user management system, additional knowledge domains, and personalized recommendations. For the user management system we built out the basic framework with Supabase authentication but didn't feel like it was a very crucial component and didn't implement it due to the presence of more pressing concerns. For the additional knowledge domains, we thought we could make it relevant to other domains like healthcare where up-to-date information is nearly just as important. Personalized recommendations were a feature we thought we could implement if we had user management built in as we could find topics users were interested in and recommend them to more related topics. Though we weren't able to implement these features now they could definitely help to increase the reach and functionality of our application if they were implemented in the future.