Jun 22, 2023
Introduction
GRE Helper is a web application designed to help students prepare for the GRE exam more efficiently. It allows users to take mock tests and receive personalized feedback based on their performance. This project was born out of my personal need for a free and accessible platform to practice for the GRE exam. In this blog post, I will share my experiences developing GRE Helper as a personal project, an internship, and an open-source project, covering the challenges, motivation, future work, and the tech stack used.
Motivation
While preparing for the GRE exam, I wanted a free website where I could take mock tests before diving into the syllabus. By identifying weak areas early on, I could focus on improving those topics and be exam-ready in less time. My vision was to develop a free website and eventually add free and pro tiers to generate revenue. However, before that, a lot of development work and rigorous testing needed to be done.
Internship Opportunity
I was employed as a research intern under a professor at my university. I discussed the possibility of working on GRE Helper as my internship project, and the professor agreed. This allowed me to work on my passion project while also fulfilling my internship requirements.
Open Source Event
Our college coding club, CODE IIEST, organized a two-month-long open-source event, which I was leading with a few other students. I decided to include GRE Helper as a project for everyone to contribute to. Initially, four students contributed to the project, but the number of contributors declined to only one after a month. Despite the decline in contributors, the event provided an opportunity for juniors to learn Git, Figma, React, and contribute to the frontend.
Tech Stack
The technologies used in GRE Helper include:
React for frontend development
Flask for backend development
MySQL for database management
Google Cloud (App Engine, Cloud MySQL, Cloud Filestore) for deployment
Framer for AI-assisted design
Figma for converting designs to React code
ChatGPT for programming buddy/mentor
I chose React and Flask because of my prior experience with them, MySQL for its popularity and ease of use in managing databases, and Google Cloud for its scalability and ease of use.
Challenges and Learning
During the development of GRE Helper, I faced challenges related to deploying the application on Google Cloud, as it was my first time working with a cloud environment. I also learned a lot about Flask, API routes, and transferring data between databases, routes, and queries. Although the project is not yet fully optimized, it serves as an initial step towards a more refined software in the future.
Future Work
There is still much work to be done on GRE Helper, including:
Completing the dynamic frontend for users to take the first test
Making the website responsive for mobile devices
Generating a performance dashboard with tips and recommendations
Applying machine learning for personalized recommendations
As of now, the user can only start a test and see one question. In the future, I plan to refine the application, add free and pro tiers, and continue learning and growing through this project.
Summary
GRE Helper has been an incredible journey, allowing me to work on a personal project, fulfill my internship requirements, and lead an open-source event. It has taught me valuable skills in web development, cloud deployment, and project management. As I continue to develop GRE Helper, I look forward to sharing my progress and learning from the experiences of others in the tech community.