Inspiration

Mentorship is important to one's educational journey, but there aren't a lot of online resources out there today that help people find mentors. Some college students have professors or TAs as mentors they can talk to, but people who take non-traditional routes to their careers lack this resource. Additionally, it's hard to find a mentor that will invest in helping you--many times cold calls or messages on LinkedIn go unanswered. Edify was born out of that need to find better mentors.

What it does

Edify is a web app that allows users to sign up or login through Auth0, and then allows them to pick a main career path, interests, and write a short blurb about themselves. We store this information, and then for each user, run Fuse (which uses Fuzzy Matching AI) to suggest potential mentors to each user based on shared interests and experience. Each user can both be a mentor and a mentee, so they will be considered as mentors for other users.

How we built it

Our tech stack was React with Next.js framework, Auth0 for authentication, Firebase / Cloud-Firestore for our database to store user info (and chat feature in the future), JavaScript backend, and some HTML/CSS rendering. For our matching, we implemented Fuse.js which in the background uses Fuzzy Matching AI through OpenAI.

Challenges we ran into

It was difficult to figure out Auth0 authentication and direct user tokens to Firebase, and we had to abandon some plans due to lack of time. For example, we originally wanted a built in chat feature between mentors and mentees but had to abandon it, wanted to store a user's resume in Firebase Storage but had difficulties displaying it, wanted to do the matching with the Jaccard algorithm but couldn't get it to work.

Accomplishments that we're proud of

We're proud of being able to get firebase to properly store users at least, and implementing fuse matching to recommend mentors, which is at the heart of our application. Additionally, we worked with a lot of completely new and very difficult technologies this time, like React and Next.js but were still able to deliver a mostly functional project.

What we learned

We learned how to deal with certain errors, how client side vs server side rendering works, how API integration works, etc. We also learned to sometimes aim lower, plan ahead, and reuse technologies we already know to build on them instead of constantly trying to learn new things that set us back.

What's next for Edify

We plan on implementing a chat feature in Edify with Cloud Firestore so mentors and mentees can directly message each other instead of having to use email. We also want to implement more features like matching on goals, years of experience, more complexity in general.

Built With

Share this project:

Updates