Inspiration

In an era dominated by deepfakes and algorithmic clickbait, the line between reality and fabrication is blurring. We realized that humans can no longer keep up with the speed of misinformation. We didn't just want to build another "search tool"; we wanted to build an autonomous "Truth Engine"—a digital detective that works tirelessly to verify the information consuming our screens. Shin Protocol (Shin meaning "Truth" or "New" in Japanese) was born from the desire to restore trust in the digital ecosystem.

What it does

Shin Protocol is an autonomous AI agent swarm that investigates viral content in real-time.

Video Investigation: Users can paste a link from YouTube or Instagram. The system autonomously extracts the metadata and transcript without requiring the user to watch it.

Visual Analysis: Users can upload questionable images. The system analyzes them for logical inconsistencies or signs of AI generation.

Fact-Checking: It performs a "stealth search" across live news indexes to cross-reference claims against verified sources.

The Verdict: Finally, a "Judge Agent" synthesizes the visual, textual, and search evidence to deliver a final verdict (REAL or FAKE) complete with a confidence score and citations.

How we built it

We built Shin Protocol using a Multi-Agent Architecture powered by Google Gemini 2.5 Flash for high-speed reasoning.

Frontend: Built with React and TailwindCSS, featuring a "Cyberpunk Terminal" aesthetic to visualize the AI's "thought process" in real-time. Backend: A Flask server orchestrates the agent swarm. The Swarm: We used LangChain to define distinct roles: Video Ops Agent: Handles metadata extraction. Search Agent: Scours the web for corroborating evidence. Vision Agent: Analyzes image semantics. Judge Agent: Weighs the evidence to form a conclusion.

Challenges we ran into

Our biggest hurdle was the "Datacenter IP Block." Early in development, our scraping tools (yt-dlp and standard Selenium scripts) worked locally but immediately failed when deployed to the cloud (Render). YouTube and Instagram aggressively blocked our server IPs, throwing "Sign In" errors that crippled the app.

The Fix: We completely pivoted our data extraction strategy. Instead of brute-force scraping, we implemented a fallback system using public oEmbed APIs and the Lite backend for DuckDuckGo. This allowed us to retrieve critical metadata (Titles, Authors) and search results without triggering bot detection systems.

Dependency Hell: We also faced a critical failure hours before submission where our search library was deprecated (duckduckgo_search renamed to ddgs). We had to perform a hot-fix migration to the new library to restore functionality.

Accomplishments that we're proud of

The "Unblockable" Search: We successfully engineered a "Stealth Search" mechanism that works reliably on cloud hosting without getting rate-limited.

Auto-Claim Detection: We built a safety net where, if a user provides a video URL without a specific claim, the AI automatically analyzes the video title and metadata to infer the claim itself, ensuring the investigation never hits a dead end.

Resilient Architecture: The system gracefully degrades—if the transcript fails, it uses the description; if that fails, it uses the title; if that fails, it uses the URL. It simply refuses to crash.

What we learned

APIs > Scraping: We learned the hard way that relying on screen scraping is a ticking time bomb. Switching to official endpoints (like oEmbed) is far more robust.

Agent Specialization: Breaking the problem into smaller agents (Search vs. Vision) yielded much higher accuracy than asking one LLM to do everything.

What's next for Shin Protocol

Browser Extension: We plan to build a Chrome extension that automatically overlays a "Veritas Score" on tweets and videos as you scroll.

Source Weighting: Implementing a reputation system to weight results from verified news outlets higher than random blogs.

Multilingual Support: leveraging Gemini's multilingual capabilities to fact-check local news in Hindi, Spanish, and Japanese.

Built With

Share this project:

Updates