The idea originated from my ex-teammate, @sleeping_cat4. As a student, he has a concern that a single tweet can potentially destroy college admissions (example) and future job applications. Because of that, I am building a tool to maintain a clean social media presence on Twitter. Having this mission, I named this project osoji (大掃除), which means spring cleaning or major cleanup. It's an extension of Twitter's harmful/rude prompts that protects individuals after the harm is done.
What it does
In its ideal form (v1.0), osoji would audit a publicly-available user's data thoroughly, and surface tweets (including replies and quotes), retweets, likes, as well as followings that are potentially harmful, i.e., containing offensive language, racist tweets, etc. Users can then choose to selectively act on each case such as deleting a tweet or undoing a like. They also have the option to clean everything in a single click.
How we built it
The web frontend is a statically generated website built on top of Next.js and it is deployed to Cloudflare Pages. To display tweets, I built a custom tweet component that is tailored for osoji's specific use cases (unnecessary information and actions are removed for a simpler UX).
The backend is a Flask web server that is responsible for aggregating data from multiple Twitter API v2 endpoints and performing sentiment analysis using Open API GPT-3 API. Due to my lack of skills, I am not able to complete the second part before the deadline. Because of that, I prepared a sample report to showcase what I envision osoji to be.
Challenges we ran into
I never wrote any Python code before, nor worked with NLP-related API. So being able to deploy a running Python service is such a fun learning experience.
Accomplishments that we're proud of