What Inspired Us

Living in the UAE means being part of one of the most connected, multicultural communities in the world. Between school parent groups, expat communities, and neighborhood chats — information moves fast. Too fast.

We kept seeing it happen: a health claim shared in a WhatsApp group, a rumor about a school closure, a "breaking news" post that turned out to be completely fabricated. By the time someone corrected it, hundreds of people had already seen it — and believed it.

That's what inspired FactSnap. Not a research tool for journalists. A tool for everyday people, right where they're already reading.

What We Built

FactSnap is a Chrome extension that lets users verify claims instantly without leaving their browser. It has three core features:

  • Fact Check — Highlight any text on a webpage and get an instant AI-powered verdict: True, False, Misleading, or Unverified — with a credibility score, explanation, and related facts.

  • Pre-Post Check — Paste something before you share it online. FactSnap warns you if it contains false or misleading information before you spread it.

  • URL Check — Paste any news article link and get an assessment of the source's credibility and reliability.

Built with HTML, CSS, JavaScript, and powered by the Groq API (Llama 3.1) for fast, accurate AI responses.

How We Built It

We started by identifying the core problem: fact-checking tools exist, but nobody uses them because the friction is too high. You have to copy text, open a new tab, search, and read a long article. We wanted zero friction.

Chrome extensions run directly in the browser, so we built FactSnap as a Manifest V3 extension. A content script captures highlighted text and passes it to the popup via Chrome's storage API. The popup sends it to the Groq API with a carefully engineered system prompt that returns structured JSON — verdict, confidence score, explanation, sources, and related facts.

We designed specifically for UAE users — the trending claims, the context in our prompts, and the anonymity-first approach all reflect the needs of a diverse expat community.

Challenges We Faced

The biggest challenge was getting the AI to return consistent, parseable JSON every time. Large language models sometimes add extra text, markdown formatting, or incomplete responses. We solved his by using regex to extract the JSON object from any response, and added robust error handling throughout.

We also had to navigate Chrome's Manifest V3 restrictions service workers replace background pages, and certain APIs behave differently. The chrome.action.openPopup() method for example required careful handling with the context menu integration.

Finally, balancing speed and accuracy was a challenge. We chose Llama 3.1 on Groq because of its extremely low latency users get a result in under 2 seconds, which is critical for adoption.

What We Learned

  • How to build and deploy a Chrome Extension from scratch
  • Prompt engineering for structured JSON outputs
  • How to design for real community needs, not just technical showcases
  • The importance of error handling in production AI applications

What's Next for FactSnap

  • Arabic and Hindi language support for UAE's diverse communities
  • Image/screenshot fact-checking via vision models
  • A shared community database of verified UAE-specific claims
  • Mobile version as a share sheet extension

Built With

Share this project:

Updates