Inspiration

We were motivated by the rising spread of deepfakes and misinformation, which erodes public trust in governments, organizations, and media. Fake or selectively edited news can damage reputations and mislead readers, especially since many people rarely fact‑check or cross‑reference sources. With ContextLens, a Chrome extension, we aim to make fact‑checking fast, accessible, and reliable—helping users avoid misinformation while strengthening civic trust.

What it does

Users can upload an image, paste an image URL, or capture a screenshot of their current page. The extension extracts text from the image, performs web searches to retrieve relevant information, and compares the screenshot against the original source. It then synthesizes the findings into a clear verdict, highlighting missing context, changes in framing, and trustworthy sources—empowering users to verify information instantly.

How we built it

The app has two main parts:

  1. Frontend (Chrome Extension): Allows users to upload images, paste URLs, or capture screenshots, then displays the results.

  2. Backend (FastAPI): Receives the image at /ocr, validates it, and processes it with Pillow to optimize size and format.

The OCR pipeline works as follows:

  • Convert the screenshot into a NumPy image array.
  • PaddleOCR detects text regions and recognizes characters/words.
  • Extract recognized text lines, remove empty strings, and join them into a single text block.

The backend then passes this text to analyze_context() in context_analyzer.py, which uses OpenAI with web search to identify the likely original article, compare the screenshot against the full context, and return a JSON verdict (e.g., is_misleading, missing_context, original_headline, sources). The frontend displays the verdict, missing context, sources, and extracted text.

Challenges we ran into

We were unfamiliar with how github worked as it was the first hackathon experience for some of us, so one of us actually did not git pull the previous changes from github and we ended up having to restart the whole process again.

Aside from that, while adding and refining some of the features of the chrome extension, we realised that after adding some features, the intended output display got disrupted and we spent a long time trying to figure out what went wrong.

Accomplishments that we're proud of

We were really proud about how the whole extension turned out, from the design to it serving it's purpose which aligned with how and what we wanted it to be since the start. Aside from that we think what stood out was how we worked together as a team even though there were times when we stepped into challenges or had to restart certain processes.

What we learned

We discovered how challenging it can be to align frontend and backend features smoothly, especially when new functionality disrupts existing outputs. The importance of version control discipline—properly pulling and merging changes in GitHub—to avoid wasted effort and restarts.

Through this experience, we gained hands‑on experience with OCR pipelines, text extraction, and integrating AI models with web search to provide contextual analysis, we've also realized that misinformation isn’t only about fake content; authentic news can be reframed or cropped to mislead, and detecting that requires careful comparison of sources and dates.

What's next for Hungry Hamster

We hope to package and publish the Chrome extension so it’s accessible to everyday users.At the same time, optimize backend performance to handle larger images and faster OCR without slowing down.

Built With

Share this project:

Updates