← All projects
AI Chrome Extension TypeScript GraphQL

Buster.ai

A Chrome extension that detects misinformation and deepfakes in real time, adding in-page analysis to tweets and images with AI verdicts, confidence scores, fact-check sources, and visual deepfake heatmaps.

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.