Inspiration

As an aspiring developer, I get worried about the CS job market. 😭😭😭 Hopefully this helps my McDonald's application be competitive :D

now srsly, I wanted a way to illuminate the gap between me and the companies I wanted to work in so I know what specific steps like specific internships, research, clubs and courses to do that would match someone who works at that company, increasing the likelihood I was hired.

What it does

Since I don't have actual data, I used a script to generate random profiles of people with internships, courses, research, clubs and the company and position they worked as.

The program filters the dataset to find employees at the target company + position and identifies the most common experiences among those employees. Then the user’s profile is compared against these experiences to determine what’s already done and what is missing.

The program generates a local HTML file with a (similarity-network like) node-graph to make it easy visually to see the next steps for the user.

How we built it

the 2 data sets were csv files generated using the Faker library (fake data generator). General logic and comparison and iterating was used to match users to employee data. Directed graph was created using NetworkX. Graph rendered using PyVis

(chatGPT was also extremely helpful, it gave me recommendations for what tools to use and helped write the visualization file because I didn't have time to learn everything and implement it. )

Challenges we ran into

I knew NOTHING about Faker, NetworkX or PyVis or working with data in general. I also still can't figure out how to make the graph stretch out more and its kind of just bunched up in the middle.

Also my legend won't insert??? I added it in the readme tho

7:37 am: nvm it works :D

Accomplishments that we're proud of

Actually finishing a rough product not 5 minutes before deadline. Getting the finished graph to show up was so beautiful, up till now I just had terminal output but seeing the colors and arrows was SO sweet.

What we learned

How to use faker, NetworkX and PyVis. Also that generating data isn't as complex as I thought it'd be. Also learned compartmentalize PyVis so I can build around it but I have no time nor the energy to do so, at least today at 6:30 am Sunday.

What's next for Graph Career Path Recommender

AI!! I want to implement some type of llm that doesn't need strict formatting to fit within the database, because people can input things differently. Also, having an LLM scan the courses and compare with courses from different schools would allow more flexibility.

Having real data would be interesting, and a quick lookup where something popular e.g Google Software engineer has the top 5 most common things listed.

Finally, I just want to clean up the web app, add something for inputting the values into the actual app instead of the terminal. Maybe add some nice ui?

Built With

Share this project:

Updates