<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tanish Singhal</title>
    <description>The latest articles on DEV Community by Tanish Singhal (@tanishh-13).</description>
    <link>https://dev.to/tanishh-13</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4159894%2F9686c437-07ed-4798-a4f9-ca9b5e7ff159.jpg</url>
      <title>DEV Community: Tanish Singhal</title>
      <link>https://dev.to/tanishh-13</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tanishh-13"/>
    <language>en</language>
    <item>
      <title>“Beta, Is This News Real?” — So I Built My Grandparents VerifAI</title>
      <dc:creator>Tanish Singhal</dc:creator>
      <pubDate>Sun, 04 Oct 2026 23:53:59 +0000</pubDate>
      <link>https://dev.to/tanishh-13/beta-is-this-news-real-so-i-built-my-grandparents-verifai-2ml9</link>
      <guid>https://dev.to/tanishh-13/beta-is-this-news-real-so-i-built-my-grandparents-verifai-2ml9</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;My grandparents get a lot of forwarded messages.&lt;/p&gt;

&lt;p&gt;News screenshots. Instagram posts. Random “breaking news”. Messages that have clearly been forwarded about 17 times already.&lt;/p&gt;

&lt;p&gt;And every now and then, I get the same question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;“Beta, ye sach hai kya?”&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Usually that means I have to search for the claim, open a few articles, compare what they say, and figure out whether the original post is actually telling the truth.&lt;/p&gt;

&lt;p&gt;While it is still possible for a tech savvy person to do this in a minute, it makes people with less or no technical knowledge, especially the elderly citizens highly dependent on someone to check something as small as a facebook post' legitimacy. With VerifAI, I wanted to target such audience and make them independent. &lt;/p&gt;

&lt;p&gt;So for this challenge, I decided to build something for them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;VerifAI.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The idea is simple:&lt;/p&gt;

&lt;p&gt;The primary objective behind building this project was convenience, I treated it the most important feature and tried to keep the platform as accessible in as many ways as possible- be it Whatsapp forward images, screenshots from old gallery, Instagram reel, Facebook post, article/blog online-&lt;br&gt;
&lt;strong&gt;Give VerifAI an image or a link, and it checks the claim against real evidence.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No searching around. No figuring out which article to trust. Just upload, wait a little, and get an understandable result.&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;Try it here:&lt;/p&gt;

&lt;p&gt;🌐 &lt;strong&gt;&lt;a href="https://verifaihacktoberfest.netlify.app/" rel="noopener noreferrer"&gt;verifaihacktoberfest.netlify.app&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can either upload a screenshot or paste a URL.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0isgpjl6nagx8ys3qmx3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0isgpjl6nagx8ys3qmx3.png" alt=" " width="800" height="428"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You may have stumbled upon such Instagram posts where you clearly can state that its a fake news but is exactly the kind of doubt your grandparents will ask when they see the same post(sometimes even I get confused and have to double check it XD)&lt;/p&gt;

&lt;p&gt;for example- the post we gave VerifAI:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnnhyziftjf4me0bwybza.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnnhyziftjf4me0bwybza.png" alt=" " width="800" height="976"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And the results it produced-&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4xvyu0046l4q5ipxqdlg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4xvyu0046l4q5ipxqdlg.png" alt=" " width="799" height="427"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;The entire pipeline is basically:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Screenshot / URL
       ↓
Extract the text
       ↓
Identify the claim
       ↓
Find relevant evidence
       ↓
Compare claim with evidence
       ↓
Show the result
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For screenshots, VerifAI uses &lt;strong&gt;OCR.space&lt;/strong&gt; to extract the text.&lt;/p&gt;

&lt;p&gt;For URLs, it fetches the page and extracts useful information such as the title, description and readable content.&lt;/p&gt;

&lt;p&gt;That content is then used to identify the factual claim.&lt;/p&gt;

&lt;p&gt;Once we have the claim, we search for relevant news evidence and pass the claim and evidence to the verification layer.&lt;/p&gt;

&lt;p&gt;The important word here is &lt;strong&gt;claim&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem We Kept Running Into
&lt;/h2&gt;

&lt;p&gt;This sounds like a pretty easy project.&lt;/p&gt;

&lt;p&gt;And honestly, the original idea was extremely small:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Given a claim and some evidence, tell me whether the claim is true or false.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But getting that distinction right turned out to be the hardest part.&lt;/p&gt;

&lt;p&gt;A model can see:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Thala Dhoni celebrated by FIFA on his birthday”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;and then see an article saying:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“FIFA celebrates MS Dhoni's birthday.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It might conclude that the claim is supported.&lt;/p&gt;

&lt;p&gt;But imagine the actual claim was:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;“MS Dhoni will represent India in FIFA.”&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Those two things are related.&lt;/p&gt;

&lt;p&gt;They are absolutely &lt;strong&gt;not the same claim&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That became one of the biggest lessons of the project:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Related evidence is not proof.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;An article mentioning the same person, event or organization isn't automatically evidence that the claim itself is true.&lt;/p&gt;

&lt;p&gt;The verifier needs to ask one very specific question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does this evidence actually establish the exact factual proposition being claimed?&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;I initially tried making the verification layer more complicated.&lt;/p&gt;

&lt;p&gt;More model reasoning. More classification. More logic.&lt;/p&gt;

&lt;p&gt;And somehow, the more complicated it became, the easier it was for the system to lose sight of the actual problem.&lt;/p&gt;

&lt;p&gt;Eventually I stripped it back.&lt;/p&gt;

&lt;p&gt;The goal isn't to understand everything about the internet.&lt;/p&gt;

&lt;p&gt;It isn't to decide whether two articles are generally talking about the same topic.&lt;/p&gt;

&lt;p&gt;It isn't even to determine whether something &lt;em&gt;sounds&lt;/em&gt; believable.&lt;/p&gt;

&lt;p&gt;It's simply:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Claim → Evidence → Does the evidence support or contradict THIS claim?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That simplicity ended up being much harder to get right than I expected.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Tech
&lt;/h2&gt;

&lt;p&gt;The frontend is a React/Vite application deployed on Netlify.&lt;/p&gt;

&lt;p&gt;The backend is built with FastAPI and deployed separately.&lt;/p&gt;

&lt;p&gt;The main pieces are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React + Vite&lt;/strong&gt; for the frontend&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FastAPI&lt;/strong&gt; for the backend API&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OCR.space&lt;/strong&gt; for screenshot text extraction&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web/news retrieval&lt;/strong&gt; for external evidence&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Claim analysis&lt;/strong&gt; for extracting the factual proposition&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verification layer&lt;/strong&gt; for comparing the claim against the retrieved evidence&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The nice thing is that there isn't some giant infrastructure behind it.&lt;/p&gt;

&lt;p&gt;The project is intentionally small.&lt;/p&gt;

&lt;p&gt;The challenge was never to build the world's most sophisticated misinformation platform.&lt;/p&gt;

&lt;p&gt;It was to solve one very specific problem well enough that someone who isn't technical could actually use it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Open Innovation Matters
&lt;/h2&gt;

&lt;p&gt;For a project like this, open innovation makes experimentation much easier.&lt;/p&gt;

&lt;p&gt;We could try different approaches, see where they failed, remove things that weren't helping, and keep simplifying until the actual problem became clear.&lt;/p&gt;

&lt;p&gt;And that was probably the most useful part.&lt;/p&gt;

&lt;p&gt;AI is really good at making a project look more complicated than it needs to be.&lt;/p&gt;

&lt;p&gt;Sometimes the better engineering decision is to remove the complicated part.&lt;/p&gt;

&lt;h2&gt;
  
  
  Built For A Friend ❤️
&lt;/h2&gt;

&lt;p&gt;I built VerifAI for my grandparents, but honestly, I think the problem is much bigger than just them.&lt;/p&gt;

&lt;p&gt;Almost every family has that one person who forwards a message and then asks:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Is this real?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And there's nothing wrong with asking.&lt;/p&gt;

&lt;p&gt;The internet is genuinely getting harder to verify, and a screenshot with a convincing headline can look completely legitimate at first glance.&lt;/p&gt;

&lt;p&gt;So I wanted to build something where the answer isn't:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Just Google it.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It's:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;“Send it here. We'll check.”&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's VerifAI.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;🌐 &lt;strong&gt;Live:&lt;/strong&gt; &lt;a href="https://verifaihacktoberfest.netlify.app/" rel="noopener noreferrer"&gt;https://verifaihacktoberfest.netlify.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;💻 &lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/Tanishh-13/VerifAI" rel="noopener noreferrer"&gt;https://github.com/Tanishh-13/VerifAI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you have someone in your family who regularly asks:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;“Beta, ye sach hai kya?”&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Maybe this one's for them too. ❤️&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Best Use of Gemma
&lt;/h3&gt;

&lt;p&gt;Gemma powers VerifAI's claim-analysis pipeline. It takes text extracted from screenshots or URLs and identifies the main factual claim, key entities, dates, and the best search query for finding independent evidence. Gemma is also available as a fallback during evidence verification.&lt;br&gt;
This lets VerifAI turn messy viral content into a structured claim that can be checked against real-world evidence.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
