<?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: Preetam Malawade</title>
    <description>The latest articles on DEV Community by Preetam Malawade (@preetam11).</description>
    <link>https://dev.to/preetam11</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%2F4178970%2Fd365cd8c-0134-4631-8c12-58963405a0f9.png</url>
      <title>DEV Community: Preetam Malawade</title>
      <link>https://dev.to/preetam11</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/preetam11"/>
    <language>en</language>
    <item>
      <title>I Built a Private, Local AI That Explains Why a Message Looks Like a Scam</title>
      <dc:creator>Preetam Malawade</dc:creator>
      <pubDate>Sat, 24 Oct 2026 14:17:38 +0000</pubDate>
      <link>https://dev.to/preetam11/i-built-a-private-local-ai-that-explains-why-a-message-looks-like-a-scam-3jng</link>
      <guid>https://dev.to/preetam11/i-built-a-private-local-ai-that-explains-why-a-message-looks-like-a-scam-3jng</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week3-2026-10-19"&gt;Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  ScamShield Local: An AI Scam Assistant That Shows Its Evidence, Not Just a Verdict
&lt;/h1&gt;

&lt;p&gt;Imagine receiving a message saying your bank account will be blocked in 30 minutes unless you verify your details.&lt;/p&gt;

&lt;p&gt;Or a job offer promising ₹45,000 per month that asks you to pay a registration fee first.&lt;/p&gt;

&lt;p&gt;The messages might look convincing. You might be in a hurry, worried about losing money, or unsure whether the sender is legitimate.&lt;/p&gt;

&lt;p&gt;You could ask an AI chatbot for help, but a response like &lt;em&gt;"This might be a scam. Be careful"&lt;/em&gt; doesn't really solve the problem. You still don't know which parts are suspicious or how to verify the claim safely.&lt;/p&gt;

&lt;p&gt;And if the message contains personal or financial information, sending it to a cloud-based AI service raises another concern: privacy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I built ScamShield Local to help people understand suspicious messages, see the evidence behind an AI assessment, and decide what to do next — without depending on a third-party AI API.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;ScamShield Local&lt;/strong&gt; is a local-first AI assistant that analyzes user-submitted messages and explains potential scam indicators.&lt;/p&gt;

&lt;p&gt;Instead of simply returning a &lt;em&gt;"Scam"&lt;/em&gt; label, it focuses on four things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Risk assessment:&lt;/strong&gt; Classifies the message as High Risk, Suspicious, or No Obvious Warning Signs Detected.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Evidence-based explanations:&lt;/strong&gt; Extracts exact phrases from the message and explains why they may be suspicious.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Safe verification steps:&lt;/strong&gt; Suggests independently checking official apps, websites, or trusted contact channels.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Explicit uncertainty:&lt;/strong&gt; Explains what cannot be reliably established from text alone, such as the sender's true identity or the legitimacy of a website.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, if a message threatens immediate account suspension, ScamShield can identify the wording that creates urgency and explain why it deserves scrutiny.&lt;/p&gt;

&lt;p&gt;If a job offer requests an upfront registration fee, it can highlight that request as a potential warning sign.&lt;/p&gt;

&lt;p&gt;The point isn't to make people suspicious of everything. It's to help them pause and investigate before clicking a link, sharing sensitive information, or transferring money.&lt;/p&gt;

&lt;p&gt;The people who benefit most are those who don't have the technical knowledge to recognize phishing techniques but still need a practical way to assess suspicious messages.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Prototype Screenshot:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://dev-to-uploads.s3.us-east-2.amazonaws.com/uploads/articles/yqtivtuofggxr9cm66tj.png" rel="noopener noreferrer"&gt;https://dev-to-uploads.s3.us-east-2.amazonaws.com/uploads/articles/yqtivtuofggxr9cm66tj.png&lt;/a&gt;&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%2Fecv5mz85duu0geawspji.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%2Fecv5mz85duu0geawspji.png" alt=" " width="800" height="783"&gt;&lt;/a&gt;&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%2F2mfej740ul08n876yp7o.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%2F2mfej740ul08n876yp7o.png" alt=" " width="800" height="867"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub repository:&lt;/strong&gt; &lt;a href="https://github.com/PREET4M/ScamShield" rel="noopener noreferrer"&gt;PREET4M/ScamShield&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can explore the source code and project documentation in the repository.&lt;/p&gt;

&lt;p&gt;For the strongest demonstration, I'll include a screenshot or screen recording showing the actual workflow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Paste a suspicious test message.&lt;/li&gt;
&lt;li&gt;Run the analysis locally.&lt;/li&gt;
&lt;li&gt;View the risk assessment and exact evidence quotes.&lt;/li&gt;
&lt;li&gt;Review the recommended verification steps.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;Note: ScamShield is an early prototype. I haven't included a separate deployed demo or video link here because I don't want to present an unverified link as a working demo.&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Explore the code:&lt;/strong&gt; &lt;a href="https://github.com/PREET4M/ScamShield" rel="noopener noreferrer"&gt;GitHub — ScamShield&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project uses a simple architecture that separates the user interface, backend validation, and local model inference.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;React + Vite
     |
     v
Python + FastAPI
     |
     v
Ollama + Gemma 3 4B
     |
     v
Structured Risk Analysis
     |
     v
Evidence &amp;amp; Safe Recommendations
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This separation makes the application easier to understand, maintain, and extend.&lt;/p&gt;

&lt;p&gt;The backend validates incoming requests, constructs the model prompt, and validates the structured response before returning it to the frontend.&lt;/p&gt;

&lt;p&gt;The model is instructed to treat the submitted message as untrusted content rather than instructions it should follow. This is important because a malicious message might contain text designed to manipulate the model itself.&lt;/p&gt;

&lt;p&gt;Prompt instructions and schema validation provide useful safeguards, but they do not eliminate every prompt injection risk or guarantee correct detection.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;I chose a local-first architecture because the application processes potentially sensitive information.&lt;/p&gt;

&lt;p&gt;Here's the stack:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React + Vite:&lt;/strong&gt; Frontend and analysis dashboard.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python + FastAPI:&lt;/strong&gt; Backend API, request handling, input validation, prompt construction, and output validation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama:&lt;/strong&gt; Local model runtime.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gemma 3 4B:&lt;/strong&gt; Open-weight language model used to analyze messages and generate structured findings.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When a user submits a message, the frontend sends it to the FastAPI backend. The backend prepares the request and passes it to the locally running model through Ollama.&lt;/p&gt;

&lt;p&gt;The model generates the analysis, and the backend checks the response structure before sending it to the frontend.&lt;/p&gt;

&lt;p&gt;The core AI workflow is designed to run without third-party AI API calls. This means users can perform the analysis using compatible local hardware without depending on a paid cloud inference service.&lt;/p&gt;

&lt;p&gt;I also smoke-tested the prototype against mock scenarios involving phishing alerts, upfront-fee job offers, ordinary notifications, and attempted prompt injections.&lt;/p&gt;

&lt;p&gt;These tests are an initial check of expected behavior, not a comprehensive benchmark of real-world scam detection accuracy. Broader evaluation, including false-positive and false-negative measurements, remains important.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;For a project like ScamShield Local, open innovation is about more than making source code available. It's about giving developers the freedom to inspect, question, test, and improve how an AI-powered security tool works.&lt;/p&gt;

&lt;p&gt;Using an open-weight model through a local runtime makes experimentation possible without requiring a paid, hosted model API for the core analysis.&lt;/p&gt;

&lt;p&gt;That matters in several ways.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Privacy-conscious experimentation:&lt;/strong&gt; Developers can build and test the analysis workflow locally instead of having to send every test message to a cloud AI provider.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Accessibility:&lt;/strong&gt; People can experiment with the project using compatible hardware without maintaining a paid inference subscription.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Transparency and extensibility:&lt;/strong&gt; Developers can inspect the application code, review the prompts and validation logic, and propose improvements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Community-driven testing:&lt;/strong&gt; Contributors can help identify failure cases, improve test coverage, evaluate different models, and explore support for regional languages.&lt;/p&gt;

&lt;p&gt;A closed API can be convenient and powerful, but it can also introduce external service dependencies, usage costs, and less control over the inference environment.&lt;/p&gt;

&lt;p&gt;Open-weight models and open-source tooling give this project another path: build locally, inspect the implementation, and improve it through community contributions.&lt;/p&gt;

&lt;p&gt;Open innovation doesn't automatically make an application secure or accurate. The real value comes from making it possible for others to examine the work and help improve it.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Optional section.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I'll add a DevRelay agent session here if I save and publish a relevant session showing the development process.&lt;/p&gt;

&lt;p&gt;For now, the GitHub repository is the primary project link.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Lazy Payoff
&lt;/h2&gt;

&lt;p&gt;The time-saving benefit isn't about automating away a complex investigation. It's about making the first step easier.&lt;/p&gt;

&lt;p&gt;Without ScamShield, someone unsure about a message might have to figure out what to look for, manually identify suspicious wording, and ask several follow-up questions to understand the risks.&lt;/p&gt;

&lt;p&gt;ScamShield brings those first steps into one workflow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Submit the message.&lt;/li&gt;
&lt;li&gt;Review the potential warning signs.&lt;/li&gt;
&lt;li&gt;Understand why specific phrases matter.&lt;/li&gt;
&lt;li&gt;Follow safer verification steps.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That can reduce the effort needed to get an initial, structured assessment.&lt;/p&gt;

&lt;p&gt;I haven't measured a reliable time-saving figure yet, so I won't claim a specific number of minutes saved or suggest that the tool prevents every scam.&lt;/p&gt;

&lt;p&gt;The more important goal is to help users make a more informed decision without needing to understand cybersecurity terminology first.&lt;/p&gt;

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

&lt;p&gt;My project is primarily focused on &lt;strong&gt;open-source AI and local inference&lt;/strong&gt;, using Ollama and Gemma 3 4B to build a privacy-conscious scam analysis assistant.&lt;/p&gt;

&lt;p&gt;I'll select the applicable partner prize categories according to the official challenge rules and the categories available on the submission page.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;ScamShield Local is an early prototype, and there are several areas I'd like to improve:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More systematic evaluation against diverse scam and legitimate-message examples.&lt;/li&gt;
&lt;li&gt;Better support for Indian languages and regional scam patterns.&lt;/li&gt;
&lt;li&gt;Stronger testing against prompt injection and adversarial inputs.&lt;/li&gt;
&lt;li&gt;Measurement of false positives and false negatives.&lt;/li&gt;
&lt;li&gt;Additional capabilities that preserve the local-first approach wherever possible.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are important steps toward making the tool more reliable and useful beyond a prototype.&lt;/p&gt;

&lt;h2&gt;
  
  
  Let's Build Safer AI Tools
&lt;/h2&gt;

&lt;p&gt;I believe AI is most useful when it helps people make better decisions instead of asking them to trust a black box.&lt;/p&gt;

&lt;p&gt;ScamShield Local is my attempt to put that idea into practice: local AI, understandable evidence, practical verification steps, and honest uncertainty.&lt;/p&gt;

&lt;p&gt;If you're interested in local AI, cybersecurity, or open-source development, I'd love for you to explore the project and share your feedback.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/PREET4M/ScamShield" rel="noopener noreferrer"&gt;https://github.com/PREET4M/ScamShield&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One question I'd love to hear your thoughts on:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If an AI flagged a message as suspicious, would you trust its verdict — or would you need it to show you the exact evidence first?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For me, showing the evidence is where trust should begin.&lt;/p&gt;

&lt;h1&gt;
  
  
  devchallenge #hf26challenge
&lt;/h1&gt;

</description>
      <category>hf26challenge</category>
      <category>devchallenge</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Hi</title>
      <dc:creator>Preetam Malawade</dc:creator>
      <pubDate>Mon, 12 Oct 2026 09:49:17 +0000</pubDate>
      <link>https://dev.to/preetam11/hi-2928</link>
      <guid>https://dev.to/preetam11/hi-2928</guid>
      <description>&lt;p&gt;I am new to this! I hope everything goes well&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
