<?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: AKSHAT JAIN</title>
    <description>The latest articles on DEV Community by AKSHAT JAIN (@akshat_jain).</description>
    <link>https://dev.to/akshat_jain</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%2F672258%2F8238e4b5-0a86-47f0-9717-daedbea4da1c.jpg</url>
      <title>DEV Community: AKSHAT JAIN</title>
      <link>https://dev.to/akshat_jain</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/akshat_jain"/>
    <language>en</language>
    <item>
      <title>TouchGrass 🌿 — Turning Open-Weight AI into Real-World Adventures</title>
      <dc:creator>AKSHAT JAIN</dc:creator>
      <pubDate>Sun, 11 Oct 2026 17:48:38 +0000</pubDate>
      <link>https://dev.to/akshat_jain/touchgrass-turning-open-weight-ai-into-real-world-adventures-3of9</link>
      <guid>https://dev.to/akshat_jain/touchgrass-turning-open-weight-ai-into-real-world-adventures-3of9</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week1-2026-10-05"&gt;Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;TouchGrass is an AI-powered outdoor activity generator designed to help people spend less time staring at screens and more time exploring the world around them. 🌿&lt;/p&gt;

&lt;p&gt;We often want to take a break but end up scrolling through our phones because we don't know what to do. TouchGrass aims to make that decision easier.&lt;/p&gt;

&lt;p&gt;Users can choose their mood, available time, energy level, and whether they want to go solo or with others. The app then generates an outdoor adventure tailored to those preferences.&lt;/p&gt;

&lt;p&gt;The goal isn't to keep people engaged with another app. It's to help them find a reason to put their phones away and step outside.&lt;/p&gt;

&lt;p&gt;I built TouchGrass as a practical experiment in using AI to encourage real-world experiences rather than more screen time.&lt;/p&gt;

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

&lt;p&gt;🌿 Try the live app: &lt;a href="https://touchgrass-gdkp.onrender.com/" rel="noopener noreferrer"&gt;https://touchgrass-gdkp.onrender.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The application is deployed on Render and uses Groq for AI inference.&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%2Fqbny0obgrwapylybis60.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%2Fqbny0obgrwapylybis60.png" alt=" " width="800" height="485"&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%2Fai9rxp0i7gtjtbctnwht.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%2Fai9rxp0i7gtjtbctnwht.png" alt=" " width="800" height="683"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/akshat-jjain" rel="noopener noreferrer"&gt;
        akshat-jjain
      &lt;/a&gt; / &lt;a href="https://github.com/akshat-jjain/touchgrass" rel="noopener noreferrer"&gt;
        touchgrass
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      An open-AI adventure generator that gives you a mission and gets out of your way.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;TouchGrass&lt;/h1&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;An AI that wants you to stop using it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;TouchGrass creates short outdoor micro-adventures so the screen is the shortest part of going outside. It is being built for the DEV Hacktoberfest 2026 Week 1 “Touch Grass” challenge.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Local development&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Requirements: Node.js 22.12 or later and npm 10 or later.&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;npm ci
cp .env.example .env
npm run dev&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;The web app runs at &lt;code&gt;http://localhost:5173&lt;/code&gt;; the API runs at &lt;code&gt;http://localhost:3000&lt;/code&gt;. Vite proxies &lt;code&gt;/api&lt;/code&gt; requests to Fastify. The API health endpoint is &lt;code&gt;GET /health&lt;/code&gt;.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Adventure generation&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;The API supports two server-side providers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;AI_PROVIDER=stub&lt;/code&gt; uses the curated deterministic generator. It is the default for local development and tests.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;AI_PROVIDER=groq&lt;/code&gt; uses Groq’s OpenAI-compatible chat completions API and &lt;code&gt;openai/gpt-oss-20b&lt;/code&gt; by default. Set &lt;code&gt;GROQ_API_KEY&lt;/code&gt; on the server. The key must never use a &lt;code&gt;VITE_&lt;/code&gt; prefix or be placed in browser code.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The Groq generator requests strict JSON Schema output. All provider results…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/akshat-jjain/touchgrass" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;The project is open source under the MIT license. Feel free to explore the code, share feedback, or contribute improvements!&lt;/p&gt;

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

&lt;p&gt;I built TouchGrass using a TypeScript-based full-stack architecture:&lt;/p&gt;

&lt;p&gt;Frontend: React, Vite, and TypeScript&lt;/p&gt;

&lt;p&gt;Backend: Fastify and TypeScript&lt;/p&gt;

&lt;p&gt;Validation: Zod for shared contracts and structured data validation&lt;/p&gt;

&lt;p&gt;AI model: openai/gpt-oss-20b, an open-weight model accessed through Groq&lt;/p&gt;

&lt;p&gt;Deployment: Render&lt;/p&gt;

&lt;p&gt;The AI is central to the experience. It generates personalized outdoor activity suggestions based on the user's preferences instead of relying exclusively on a predefined list of activities.&lt;/p&gt;

&lt;p&gt;The backend validates the generated output and applies safety checks before returning suggestions. I also implemented a deterministic fallback so the application can remain useful when AI generation fails.&lt;/p&gt;

&lt;p&gt;API credentials stay on the server rather than being exposed to the frontend.&lt;/p&gt;

&lt;p&gt;One of the important design decisions was treating AI output as untrusted data: a generated suggestion must pass validation and safety checks before it reaches the user.&lt;/p&gt;

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

&lt;p&gt;Open innovation matters because developers should have the freedom to understand, experiment with, and adapt the technology powering their applications.&lt;/p&gt;

&lt;p&gt;By using an open-weight model, TouchGrass isn't tied exclusively to a closed-model API. The project can explore alternative inference providers, experiment with different models, and evolve its generation pipeline as requirements change.&lt;/p&gt;

&lt;p&gt;For this project, open-weight AI made it possible to build a personalized generation experience while keeping the model integration behind a replaceable backend interface.&lt;/p&gt;

&lt;p&gt;I'm currently using hosted inference through Groq, so the application still depends on an online service. Local or offline inference is a possible future direction, not a feature I've implemented yet.&lt;/p&gt;

&lt;p&gt;For me, the bigger idea is that open AI technology should help developers build useful products—not just demonstrate what a model can say.&lt;/p&gt;

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

&lt;p&gt;I'm submitting TouchGrass for the Week 1 challenge. I'm claiming render partner prize categories at this stage.&lt;/p&gt;

&lt;p&gt;Thanks for organizing this challenge and encouraging developers to build with open-source AI.&lt;/p&gt;

&lt;p&gt;🌱 Less scrolling. More exploring. TouchGrass.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>I Built ApnaSahayak So My Parents Don't Have to Call Me Every Time a Message Looks Scary</title>
      <dc:creator>AKSHAT JAIN</dc:creator>
      <pubDate>Mon, 05 Oct 2026 06:56:04 +0000</pubDate>
      <link>https://dev.to/akshat_jain/i-built-apnasahayak-so-my-parents-dont-have-to-call-me-every-time-a-message-looks-scary-5h8h</link>
      <guid>https://dev.to/akshat_jain/i-built-apnasahayak-so-my-parents-dont-have-to-call-me-every-time-a-message-looks-scary-5h8h</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;I built &lt;strong&gt;ApnaSahayak&lt;/strong&gt;, a private digital helper for my parents.&lt;br&gt;
My parents receive messages from banks, payment services, delivery companies, and other services regularly. The problem isn't always understanding the English. The problem is knowing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What does this message actually mean?&lt;/li&gt;
&lt;li&gt;Do I need to do something?&lt;/li&gt;
&lt;li&gt;Is this safe?&lt;/li&gt;
&lt;li&gt;Should I click this link?&lt;/li&gt;
&lt;li&gt;Should I enter the OTP it is asking for?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I wanted to build something that could answer those questions without requiring them to call me every time a message looked confusing or urgent.&lt;/p&gt;

&lt;p&gt;So I built ApnaSahayak.&lt;/p&gt;

&lt;p&gt;The workflow is deliberately simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Paste a message → Understand it → Know what to do → Stay safe&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&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%2Fogpy6anoh3ogwniafus6.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%2Fogpy6anoh3ogwniafus6.png" alt=" " width="800" height="309"&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%2Fvjfb7y4ytmqydsaqff1q.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%2Fvjfb7y4ytmqydsaqff1q.png" alt=" " width="800" height="374"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For example, I can give ApnaSahayak a message like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;URGENT! Your bank account will be blocked today.
Verify your account immediately by clicking this link
and entering your OTP.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Instead of simply summarizing the message, ApnaSahayak breaks it down into three things:&lt;/p&gt;
&lt;h4&gt;
  
  
  What is this?
&lt;/h4&gt;

&lt;p&gt;It explains the message in simple English.&lt;/p&gt;
&lt;h4&gt;
  
  
  What should I do?
&lt;/h4&gt;

&lt;p&gt;It gives the user a practical next step.&lt;/p&gt;
&lt;h4&gt;
  
  
  Safety
&lt;/h4&gt;

&lt;p&gt;It highlights risks such as requests for OTPs, passwords, PINs, banking credentials, suspicious links, or urgent payment requests.&lt;/p&gt;

&lt;p&gt;The goal isn't to replace a bank or security professional. The goal is to give my parents a calm first explanation and encourage them to verify important requests through official channels.&lt;/p&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/akshat-jjain" rel="noopener noreferrer"&gt;
        akshat-jjain
      &lt;/a&gt; / &lt;a href="https://github.com/akshat-jjain/apnasahayak" rel="noopener noreferrer"&gt;
        apnasahayak
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A private digital helper for parents powered by local open-weight AI.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;🏠 ApnaSahayak&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;A private digital helper for parents.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ApnaSahayak helps parents understand confusing digital messages, know what to do next, and spot potential safety risks.&lt;/p&gt;

&lt;p&gt;It is intentionally small: paste a message, let the local AI explain it, and get three clear answers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;What is this?&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;What should I do?&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Safety&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Why I built it&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;I built ApnaSahayak for my parents.&lt;/p&gt;

&lt;p&gt;Digital messages from banks, payment services, delivery companies, account providers, and other services can be difficult to interpret quickly. A parent may not know whether a message is important, what action is required, or whether a link is safe.&lt;/p&gt;

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

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Instead of calling me every time a confusing message arrives, they can ask ApnaSahayak first.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What makes it different&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;ApnaSahayak uses a local open-weight AI model rather than requiring a cloud AI API.&lt;/p&gt;

&lt;p&gt;The application runs:&lt;/p&gt;

&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;
&lt;pre class="notranslate"&gt;&lt;code&gt;Parent's message
       ↓
ApnaSahayak
       ↓
Ollama
       ↓
Qwen3 4B
       ↓&lt;/code&gt;&lt;/pre&gt;…&lt;/div&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/akshat-jjain/apnasahayak" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;



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

&lt;p&gt;The application uses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Streamlit&lt;/li&gt;
&lt;li&gt;Ollama&lt;/li&gt;
&lt;li&gt;Qwen3 4B
The architecture is intentionally simple:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Parent's message
       ↓
ApnaSahayak
       ↓
Ollama
       ↓
Qwen3 4B
       ↓
Structured local response
       ↓
What is this?
What should I do?
Safety
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The model returns a small structured response instead of generating an unrestricted answer. The application then controls how that information is presented.&lt;br&gt;
For example, the model returns:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"what_is_this"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"..."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"what_should_i_do"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"..."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"safety"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"..."&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This keeps the AI responsible for understanding the message while keeping the user experience predictable.&lt;/p&gt;

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

&lt;p&gt;This is probably the most important technical decision in the project.&lt;br&gt;
Messages from parents can contain sensitive information:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;bank notifications&lt;/li&gt;
&lt;li&gt;transaction information&lt;/li&gt;
&lt;li&gt;account alerts&lt;/li&gt;
&lt;li&gt;personal messages&lt;/li&gt;
&lt;li&gt;payment information&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I didn't want the default architecture to require sending those messages to a third-party AI service.&lt;br&gt;
ApnaSahayak uses an open-weight model through local inference.&lt;br&gt;
The model runs through Ollama on the user's own computer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User's message
     ↓
Local application
     ↓
Ollama
     ↓
Qwen3 4B
     ↓
Local response
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That means the application does not need a cloud AI API to understand the message.&lt;/p&gt;

&lt;p&gt;For this particular use case, that matters more to me than simply using the largest available model.&lt;/p&gt;

&lt;p&gt;Open models also give me control over the AI layer. I can change the model, modify the system instructions, change the inference setup, or experiment with a different open-weight model without redesigning the entire application around one proprietary API.&lt;/p&gt;

&lt;p&gt;The open approach therefore isn't an implementation detail.&lt;br&gt;
Privacy and control are part of the product.&lt;/p&gt;

&lt;h4&gt;
  
  
  Why I Built It for My Parents
&lt;/h4&gt;

&lt;p&gt;I didn't want to build another generic chatbot.&lt;/p&gt;

&lt;p&gt;I wanted to solve a small problem that actually exists in my family.&lt;/p&gt;

&lt;p&gt;When someone receives a message saying:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Your account will be blocked today!"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;the natural reaction is urgency.&lt;/p&gt;

&lt;p&gt;ApnaSahayak is designed to slow that reaction down:&lt;/p&gt;

&lt;p&gt;Understand first. Act second.&lt;/p&gt;

&lt;p&gt;That is the behavior I wanted the product to encourage.&lt;/p&gt;

&lt;h4&gt;
  
  
  Safety
&lt;/h4&gt;

&lt;p&gt;ApnaSahayak is intentionally conservative around sensitive information.&lt;br&gt;
The model is instructed to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;never request OTPs, PINs, passwords, CVVs, or banking credentials&lt;/li&gt;
&lt;li&gt;warn about suspicious links&lt;/li&gt;
&lt;li&gt;highlight unexpected payment requests&lt;/li&gt;
&lt;li&gt;avoid claiming that a message is definitely legitimate&lt;/li&gt;
&lt;li&gt;avoid claiming that something is definitely a scam when the evidence isn't sufficient&lt;/li&gt;
&lt;li&gt;recommend verifying important requests through official channels&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This isn't intended to be a security product.&lt;/p&gt;

&lt;p&gt;It is a safety-oriented explanation layer for people who may not immediately understand a digital message.&lt;/p&gt;

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

&lt;p&gt;The biggest lesson was that a useful AI product doesn't need to be large.&lt;br&gt;
The first version of ApnaSahayak only does one thing:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Help my parents understand a confusing message safely.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Running the model locally made the privacy story much clearer, and using a small open-weight model forced me to keep the experience focused instead of hiding behind a large general-purpose API.&lt;/p&gt;

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