Inspiration

Insert Bieber here

What it does

JustIn is a chrome extension that acts as a networking assistant when you view profiles on linkedIn. It provides insights into the predicted sector the profile is associated with(in terms of percentage), a summary of the user after all of the linkedin data is scraped, and a notes section with premade conversation starters that the user can edit and look into when connecting with said profile.

How we built it

The frontend was made using Plasmo and a mixture of typescript/javascript, with the inclusion of TinyMCE. The backend was also made with Javascript/Python, mainly to interact with the Gemini api(used for the summary and notes/convo starters) and a custom Flask python file that ran and loaded a trained tensorflow model(used for the affinity percentages to find the sector of best fit) also made with python. All of these features combined to make a functional chrome extension that interacted with these backend features in a timely manner.

TinyMCE

We used TinyMCE to enable users to edit notes. Users can load, edit, and save notes about any individual. This gives them the flexibility to persist data between sessions. There were issues getting TinyMCE to work with the extension due to CSP. We created Bieber Browser to simulate the tools we were missing and the full potential of the extension.

Challenges we ran into

A massive challenge was integrating the client usage of tensorflow models created with python into a javascript frontend. With multiple methods attempted, ranging from tensorflowjs and saving the model as a json, we ended up choosing to put the client side usage of the tensorflow model in a python flask server, where using js, we could send the flask script input data and get back the results of the neural network. LinkedIn itself also posed a serious challenge as the desktop version of the website is very restrictive and didn't allow us to get any info. We ended up changing User-Agents to Android to simulate mobile, which removed these obstacles.

Accomplishments that we're proud of

The creation of the affinity model(an AI model that takes in the scraped linkedIn data and classifies the most probably sectors the profile is associated with) was an interested NLP task using Tensorflow, and since the dataset had a unique number of columns(around 21), a custom model from scratch was called for, and delivered. Best of all, using Flask, it was able to generate predictions for a JS frontend client, allowing for accurate and deeper insights into a user's connections.

What we learned

  • The root of a directory is where the node_modules are
  • Extensions really do not like external scripts
  • LinkedIn desktop has many security features

What's next for JustIn

What's next is an even more robust and personalized user experience, with more customizable notes, and the ability to save data for each profile a user visits, and maybe more features that can provide more insights towards the connections people make in their careers.

Built With

Share this project:

Updates