DEMO for full length demo and presentation

https://youtu.be/beV5rCcdzvw

Inspiration

It's alarming that over 76% of women have received unsolicited explicit images online source

including many of our close friends, have received unwanted explicit images online. They’ve often told us how uncomfortable and vulnerable it makes them feel, fearing judgment or shame. Seeing how deeply this invasion of privacy affects their mental well-being inspired us to create a solution. That’s why we built Bestie—an AI-powered Chrome extension that not only shields users from unsolicited explicit content but also offers a friendly space to talk about mental health. We wanted to create something that helps women feel safer and more confident online, the way we’d want for our friends.

What it does

Bestie is designed with user safety and convenience in mind, offering a range of features to make browsing more secure and comfortable:

  • Protective Shield: Bestie preemptively blur all images on web page. Using TensorFlow.js and NSFW.js running offline, it analyzes each image to detect explicit content. If an image is flagged as safe, the blur is removed; if it’s inappropriate, the blur stays, shielding users from unwanted content.

  • Strict Mode for 100% Safety: For maximum protection, Bestie includes a Strict Mode that keeps every image on a page blurred, regardless of whether it’s flagged as safe or not. This feature guarantees users a completely safe browsing experience, ensuring no unblurred images appear unless the user chooses to reveal them.

  • Quick Image Control with Keyboard Shortcuts: To make image control effortless, Bestie allows users to manage blurring with simple keyboard shortcuts. Press Ctrl+Shift+S to reveal an image or Ctrl+Shift+Q to reapply the blur, making it quick and convenient to adjust image visibility. Additionally, Ctrl+Shift+E enables or disables the extension entirely, giving users the freedom to explore the internet without interruption whenever they choose with ease.

  • AI Companion with Advanced Image & text Insights: Beyond content filtering, Bestie serves as a supportive friend for mental health with an AI chat feature by right click on image or highlighted text powered by Google Gemini Pro 1.5 and Google Gemini Flash models. Users can chat about mental health, share stories, or just have a friendly conversation whenever needed (Press Ctrl+Shift+Y for easy access chat) . Additionally, Bestie can provide image insights by connecting to Google Gemini Pro’s online API, allowing users to ask for details about blurred images without fully revealing them.

  • Settings: Customize bestie to follow your need using allow list to allow websites that you trust and bestie will never active on that url, enable or disable bestie, enable or disable label text and clear chat if you want.

How we built it

We combined advanced technologies to build Bestie:

  • Chrome Extension: Developed the extension using JavaScript and Manifest V3, allowing seamless integration with the browser to scan and modify web content on the fly. We adapted to the architecture of Manifest V3 for more efficient memory, ensuring efficient resource management and handling dynamic elements, such as lazy-loaded content, effectively when detecting & analyzing new images.

  • Content Detection: Implemented machine learning algorithms using NSFWJS with mobilenetv2 to analyze and detect explicit content in images. Content Detection Sequence Diagram

  • Design and Testing: Utilized Google AI Studio for prompt testing and designing, ensuring the AI's interactions are both supportive and relevant with the context.

  • AI Chatbot: Integrated LLM (Large Language Model) using Google Gemini Pro 1.5 and Google Gemini Flash to create an empathetic and responsive AI companion capable of meaningful conversations to comfort users. By utilizing its multimodal capabilities, the chatbot can interpret both text and visual inputs, enabling it to respond thoughtfully to users' emotions and provide relevant support across various scenarios. This approach enhances the chatbot’s ability to engage users in a more personal, reassuring, and interactive way.

Challenges we ran into

  • Performance: since we use local model with TensorFlow.js we run into some problem when loading and unloading model, we utilize Offscreen feature inside chrome extension ManifestV3 to load image once for every tab and maintain it's lifecycle efficiently

  • Privacy Concerns: Ensuring user data remained stays in browser local memory while processing content. so we decide to not to use any cloud database and only utilize local storage memory in chrome extension

  • AI Empathy: Crafting an AI that can genuinely support mental health discussions demanded extensive testing and design and sensitivity considerations. we tried to change and formulate which of the prompt needed to make better context for AI to feel like it's really understand without feed too much input. we use Google AI studio for rapid prompt testing without changing single line of code

  • Dynamic Content Handling: Managing dynamic elements on web pages, such as lazy-loaded content, required innovative solutions to ensure consistent protection. currently bestie not working on video since video require more resource and hard to control on global playback level.

Accomplishments that we're proud of

  • Creating a Safer Space: Successfully developing a tool that can protect users from feeling of shock when receiving unsolicited explicit image, Testing it with friends showed us just how much of a difference it makes in creating a more secure, supportive online space.

  • Empathetic AI Development: Building an AI companion that can engage in supportive conversations, understand context and fun to chat with. we’ve seen how it can truly understand context and provide comfort, making interactions feel warmer and more relatable.

What we learned

  • Prompt Design: Gemini is great but like every other LLM outhere can only as good as the prompt designed and context provided. We learned that with Gemini Pro multimodal capability it improves our model output by providing it with screenshot of current active tab as context. with additional image context allowing it to generate more precise and relevant responses based on both text and visual cues.

  • Dealing with dynamic element: Since we dont intend for one specific app and want to be as broad as possible, catching and bluring dynamically added content is really hard. we succesfully encounter it using Mutation Observer within the Chrome extension, which monitors and responds to changes in real time, allowing us to manage dynamic content seamlessly.

  • Code using Gemini Code assistance: We dont have much experience in building Chrome extension, by utilizing Gemini code assitance we saves tons of time on implementing feature and solving bug.

What's next for Bestie - Your AI BFF

  • Expanded Platform Support: We plan to make Bestie available on other browsers and devices to reach a broader audience. Currently we only support google chrome.

  • Enhance detection model: improve mobilenetv2 in NSFW.js to add better accuracy in detecting explicit image, current problem still got many false negative result. we want to improve it by gathering more training data and contribute to NSFW.js

  • submit to Google Chrome Webstore: due to time limit and budget we currently don't have time and account to publish our creation into chrome webstore, in the really near future we want to publish and make it accessible for everyone to experience Bestie

What makes Bestie diffrent

Bestie is a uniquely powerful tool that combines proactive safety, privacy, and empathetic support to make online experiences safer and more reassuring. Using advanced offline AI with TensorFlow.js and NSFW.js, Bestie instantly blurs inappropriate images without storing any data outside the browser. Its Strict Mode and convenient shortcuts give users full control over image visibility, while its AI companion, powered by Google Gemini Pro, provides comforting mental health support. Uniquely, Bestie can understand the broader context of a webpage through a screenshot, making its interactions more personalized and relatable. With seamless dynamic content handling and customizable settings, Bestie goes beyond filtering—it's a secure, privacy-focused companion that transforms the internet into a safer, more supportive space.

Built With

Share this project:

Updates