Inspiration
The inspiration behind Spark was the difficulty of the college admission process. As a team comprised of first-year students, we know how rigorous and challenging it is to gain admission to the schools we attend today. Although the process was tough, we all had a firm support system that enabled us to succeed academically. We also believe it's crucial to consider underrepresented and underprivileged individuals in our community. To address this issue, we decided to develop Spark, a platform that establishes a robust support system for underprivileged students, one student at a time.
What it does
Spark is a web application that connects student users with mentor users. In this sense, a student user creates a profile after setting up an account, while a mentor user does the same. After the student creates a profile, they are automatically matched with three different mentors who possess the most compatible traits.
How we built it
We built Spark using Next.js, Flask, FastAPI, NextUI, and SpaCy for NLP. The backend APIs were all constructed with FastAPI and integrated into MongoDB Atlas. The authentication system was developed using Next-Auth. All authentication was securely handled with CSRF tokens and hashed passwords, ensuring that the database never stores the unencrypted version of the password.
Challenges we ran into
The secure authentication system proved to be surprisingly difficult to set up. Ensuring client safety and website security while simultaneously transferring application-critical information was a major challenge to overcome. Configuring the API endpoints with MongoDB also presented some difficulties with Next.js.
Accomplishments that we're proud of
We are proud to have built a minimum viable product for such an expansive application.
What we learned
We learned that it's beneficial to delegate challenging tasks to external libraries, particularly for user authentication.
What's next for Spark
Our next steps for Spark involve expanding its user base and functionality. We aim to refine our matching algorithm to provide even better mentor-student pairings. Additionally, we plan to implement features such as chat functionality between mentors and students, progress tracking tools, and resources for college admissions preparation. First and foremost, however, we need to fully validate and complete testing of the UX with the website skeleton. We also aspire to collaborate with educational institutions and organizations to reach more underprivileged students, providing them with the support they need to succeed academically. Ultimately, our goal is to make a meaningful impact on the lives of underprivileged students and help bridge the gap in educational opportunities.
Log in or sign up for Devpost to join the conversation.