Context
Buster.ai was building an AI backend capable of classifying text as misinformation and images as deepfakes. The challenge was delivering that intelligence to users at the point of consumption — not on a separate fact-check website, but inline in their Twitter feed, without disrupting the browsing experience.
What I built
I architected and built a multi-bundle Chrome extension.
Content Script — Injected into Twitter on load. Polls the DOM for the feed container, tracks Twitter's SPA navigation via a DOM mutation observer, user-interaction on tweets and images, and loads cached results to avoid redundant API calls.
Image analysis pipeline — On click, routes the data through the background service worker, and returns a colour-coded in-place label informing user of veracity.
Text analysis pipeline — Extracts tweet text, makes debounced API calls, and persistently highlights previously analysed articles.
Results iframe React app — Renders text analysis (verdict, score, fact-check source cards) and image analysis (original vs. heatmap toggle, deepfake label) in an iframe overlay injected into the page.
Extension popup React + Apollo app — Auth login form with GraphQL, plus a settings panel that syncs with the content script.
Build architecture — Custom Webpack configuration producing four separate bundles: content script, background service worker, results iframe, and popup. Full JavaScript-to-TypeScript migration.
Outcome
A production Chrome extension with a robust multi-bundle architecture, real AI backend integration, and a seamless in-feed UX that doesn't require users to leave Twitter to fact-check content.