Inspiration
Ever read a post on LinkedIn and felt like you needed to touch some grass?
Me too, and turns out lots of us have. Cringe content on LinkedIn is mocked on Twitter (#LinkedInCringe link ) and on Reddit(r/LinkedInLunatics link ).
While the definition of "cringe" is subjective, as someone who spends 6+ hours of LinkedIn daily, my feed is often flooded with low quality content such as duplicated posts, misinformation, fear mongering etc. From my personal experience on this platform, I was motivated to create a chrome extension that automatically classifies certain posts that I may not be interested to read and flags them as low quality.
On a more broader level, this tool is motivated from a larger discussion about mental health and social media. Social media is pervasive in our lives today, and LinkedIn operates at a critical juncture of Social Media and Career building. Yet, as we go through ups and downs in our career through phases of unemployment, career pivots etc, social media might do more harm than good. This tool is a means to help alleviate that pain for certain users by automatically excluding certain posts that may not be right for their mental health, user experience on the platform and productivity, all while allowing them to focus on valuable, professional content.
Warning
Please note that the classifications made by my tool may not always be accurate, and I fully understand that the concept of "cringe" is highly subjective. This project reflects my personal opinions and experiences, and I mean no offence to LinkedIn influencers or professionals who work tirelessly to create LinkedIn content.
This tool is simply an attempt to help me manage my mental health by filtering out certain types of posts that don't work for me personally. It is not intended to be a universally applicable solution. I encourage users to use it mindfully and respect the diversity of content and perspectives on LinkedIn.
What it does
The LinkedIn Cringe Filter Chrome extension automatically detects and filters low-quality LinkedIn posts. It classifies posts as "low quality". If a post is flagged, it replaces the post with an explanation, helping users avoid wasting time on irrelevant or demotivating content.
How we built it
I built a Chrome extension that parses LinkedIn posts in real-time, sends the content to a backend API (built with Flask), and processes it using a fine-tuned BERT model. The model classifies posts based on quality and returns a response indicating the reason for the classification. The backend is deployed on Azure, and the ML model is hosted on Azure ML Workbench. The front end and backend code was developed extensively using github copilot, and the ML algorithm and dataset was also developing leveraging GPT-4.
Challenges I ran into
1) Limited Training Data: The initial dataset of 200 posts was small, affecting the model’s accuracy. 2) Deployment Issues: I faced CORS errors and integration problems between the backend and GitHub, which delayed the deployment. 3) Frontend Development: Despite using AI to help with frontend code, achieving the right user experience took several iterations.
Accomplishments that I'm proud of
1) Successfully built an end-to-end system (Chrome extension, backend, ML model) with minimal prior experience in machine learning. 2) Leveraged AI tools like GitHub Copilot and Azure to speed up the development process and minimize manual coding. 3) Created a working prototype that addresses a real-world issue around Social Media and mental health
What I learned
1) My job as a Software Engineer is going to seriously change in the forseeable future, with how easy, convenient and exciting it is to develop tools leveraging AI. 2) Using GenAI allowed me to focus on parts of building software that were more important - like system design decisions, API design, deployment pipelines over manual configuration or setup issues. 3) Machine Learning: Learned how to fine-tune a BERT model and automate dataset generation for training.
What's next for Linkedin Cringe Classifier
Lots! I have so many ideas to improve the classifier quality, expand the dataset, incorporate human feedback and improve the AI-human interaction.
1) Expand the Dataset: Collect more human-made LinkedIn posts to retrain and improve model accuracy. 2) Improve User Experience: Implement features like user feedback for misclassifications and options to view flagged posts. 3) Refine the Model: Continue enhancing the classifier’s accuracy and adapt it to different types of content based on user feedback. 4) Scale to Other Platforms: Explore adapting the extension to work with other social media platforms to expand its reach, by promoting mindful and proactive social media content consumption 5) Multi modality: Incorporate image, video modalities along with text in the classifier
References
Some good posts for further reading on this topic:
https://www.reddit.com/r/LinkedInLunatics/comments/137tbi5/linkedin_cringe_overload/ https://fortune.com/2023/02/27/linkedin-evolution-networking-job-site-cringe-posts/ https://www.readtrung.com/p/why-is-linkedin-so-cringe
Log in or sign up for Devpost to join the conversation.