DISCLAIMER: I didn't realize the video audio was this bad. Sorry!!! Also, The application wouldn't allow me to run the project and screen record at the same time due to a setting that I had set for User privacy so I had to record the demo on my personal phone

Inspiration

Deepfakes and “too‑wild‑to‑be‑true” reels now blend into everyday feeds. After our own family fell victim to believing AI-generated content, we wanted a fast, friendly way to double‑check content without breaking the scroll. In the age of AI, security of information is a #1 priority as it has major impact on the lives of everyone around us. Thats why we made CheckCheck, a mobile android application so you can leave us do the double checking! ;)

  • YouTube recently announced that they're cracking down on low-quality AI-generated slop and so are we!

  • Shameless Promo: Google Play Store listing is pending! :)

What it does

  • Real‑time overlay flags AI vs REAL with confidence as you browse.
  • Live mode auto‑analyzes reels/posts/news; Manual mode runs on demand at your command.
  • Considers short playback audio plus frames from screen capture.
  • Chat with an AI Detective; upload images; get plain‑English answers.
  • History with search/filter/select‑delete and an Insights tab with visuals.

How we built it

  • UI/UX that puts our user's intuition, safety, and satisfaction above all!
  • Android MediaProjection + VirtualDisplay → ImageReader frames.
  • AudioPlaybackCapture (Android 10+) with a 10s ring buffer (WAV slice).
  • Motion gating; 5‑frame batches; min 4s between verdicts; 30s cooldown on 429.
  • Hardened Gemini prompts (SORA watermark rule, temporal/physics/text checks).
  • Token‑light fallback (3 frames) on MAX_TOKENS errors from Gemini API; temperature=0 for verdicts.
  • Local stores: History (JSON+JPEG), Chat; Insights uses a custom 3D chart view.

Challenges we ran into

  • Token/quota limits; solved by creating gating, fallbacks, conservative prompts.
  • Android 13/14 quirks: receiver flags, MediaProjection callbacks, FGS types.
  • “Surreal but real” vs “real‑looking AI” → strong rules for watermark vs deep-fake cues.
  • Preventing bogus history (e.g., “Analyzing…”) and blank thumbnails.

Accomplishments that we're proud of

  • All of our insights are driven by one smooth, “Dynamic Island”‑style overlay that feels native, natural and non-intrusive to the user as they scroll!
  • Playback capture for added audio context on top of screen capture.
  • Robust pipeline that degrades gracefully and stays responsive.
  • An option to pause and stop capturing media in one press on the island to protect your security!
  • History that’s actually useful: search, filters, bulk delete features, and Insights.
  • Conversational Chat that explains and can fact-check/discuss fake articles or generated content with media upload capabilities.

What we learned

  • Working with Gemini's wonderful 2.5-Flash-Lite API for faster queries.
  • Prompt design is product design—one sentence can flip a verdict.
  • UX gating (motion, min intervals, manual vs live) boosts reliability enormously.
  • Clear disclosures and permission education speed review and build trust.

What's next for CheckCheck

  • IOS coverage. (We would've built this project cross-platform but IOS has security constraints that limit execution of this system architecture.)
  • Backend MCP Server extending usability to Chrome extensions.
  • On‑device OCR for watermarks/text; optional on‑device STT (e.g., Whisper) and classification data modeling.
  • Backend proxy with attestation and server‑side key protection.
  • Model routing + streaming for lower latency, higher reliability.
  • Community “AI sightings” and reporter tools.
  • Larger evaluation sets and continuous tuning for edge cases.
Share this project:

Updates