<?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: Mritunjai Gupta</title>
    <description>The latest articles on DEV Community by Mritunjai Gupta (@mritunjai).</description>
    <link>https://dev.to/mritunjai</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%2F4161952%2F405118bb-0d25-4126-a1d9-83b0f3a6bea2.jpg</url>
      <title>DEV Community: Mritunjai Gupta</title>
      <link>https://dev.to/mritunjai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mritunjai"/>
    <language>en</language>
    <item>
      <title>User-Friendly Forces — Your Privacy Matters</title>
      <dc:creator>Mritunjai Gupta</dc:creator>
      <pubDate>Sat, 24 Oct 2026 13:07:43 +0000</pubDate>
      <link>https://dev.to/mritunjai/user-friendly-forces-your-privacy-matters-1ig0</link>
      <guid>https://dev.to/mritunjai/user-friendly-forces-your-privacy-matters-1ig0</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;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;User-Friendly Forces is a Chrome extension that reads, analyzes, and summarizes website privacy policies — so you never have to sit through walls of legalese again.&lt;/p&gt;

&lt;p&gt;You know the drill: you click "I agree" without reading anything because nobody has time for 8,000 words of legal boilerplate at 2 AM. That agreement you just clicked through might allow the company to sell your browsing habits, share your data with 200+ "partners," retain your information indefinitely, or quietly opt you into targeted advertising.&lt;/p&gt;

&lt;p&gt;User-Friendly Forces fixes that by doing the lazy thing smartly. Click the extension on any privacy policy page, and within minutes you get:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;📊 A Privacy Score (0–100) — higher means more privacy-friendly&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📝 A plain-English 3-sentence summary of what the policy actually says&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🚩 Color-coded red flags (🔴 High / 🟡 Medium / 🟢 Low) with specific details like "Your data is sold to third parties" or "Retention period is indefinite"&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The entire analysis runs on your machine using Ollama — no data sent to any server you don't control. If Ollama isn't available, it gracefully falls back to the Gemini API (with a key you provide).&lt;/p&gt;

&lt;p&gt;Who gets to be lazier? Anyone who ever clicked "Accept" without reading — which is everyone. Now you can actually know what you agreed to, in 30 seconds instead of 30 minutes.&lt;/p&gt;

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

&lt;p&gt;Video Demo:   &lt;iframe src="https://www.youtube.com/embed/jGVChsPv4IY" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

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

&lt;p&gt;Code Base: &lt;/p&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/Mritunjaii" rel="noopener noreferrer"&gt;
        Mritunjaii
      &lt;/a&gt; / &lt;a href="https://github.com/Mritunjaii/User-Friendly-Forces-Extension" rel="noopener noreferrer"&gt;
        User-Friendly-Forces-Extension
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &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;User-Friendly Forces v2.0&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;A Chrome extension that analyzes website privacy policies and highlights suspicious patterns — using &lt;strong&gt;local AI (Ollama)&lt;/strong&gt; with &lt;strong&gt;Gemini as a cloud fallback&lt;/strong&gt;.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Architecture&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;[Chrome Extension popup]
        │ POST /  (prompt + optional Gemini key)
        ▼
[Node.js server — index.mjs]
        │
        ├─► Ollama  (localhost:11434)   ← primary (free, private)
        │
        └─► Gemini API                 ← fallback (if Ollama is offline)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Setup&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;1. Install dependencies&lt;/h3&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;npm install&lt;/pre&gt;

&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;The only runtime dependency is Node.js ≥18 (uses native &lt;code&gt;fetch&lt;/code&gt;).&lt;br&gt;
&lt;code&gt;express&lt;/code&gt; and &lt;code&gt;cors&lt;/code&gt; are installed via package.json.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;2. (Recommended) Install Ollama&lt;/h3&gt;

&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Download from &lt;a href="https://ollama.com" rel="nofollow noopener noreferrer"&gt;https://ollama.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Pull a model: &lt;code&gt;ollama pull llama3&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Ollama runs automatically at &lt;code&gt;http://localhost:11434&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can change the model by setting the environment variable:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;OLLAMA_MODEL=mistral node index.mjs&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;3. (Fallback) Get a free Gemini API key&lt;/h3&gt;

&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Visit &lt;a href="https://aistudio.google.com/app/apikey" rel="nofollow noopener noreferrer"&gt;https://aistudio.google.com/app/apikey&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Copy your key&lt;/li&gt;
&lt;li&gt;Either set it as an env variable
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;GEMINI_API_KEY=AIza… node index.mjs&lt;/pre&gt;

&lt;/div&gt;
…or enter it directly in the extension's &lt;strong&gt;⚙️ Settings&lt;/strong&gt; panel…&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Mritunjaii/User-Friendly-Forces-Extension" 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;Stack:&lt;/p&gt;

&lt;p&gt;Chrome Extension (Manifest v3) — the user-facing popup, written in vanilla JS/HTML/CSS with a glassmorphism aesthetic&lt;br&gt;
Node.js backend (index.mjs) — a tiny Express server running locally on localhost:5000&lt;br&gt;
Ollama — primary AI inference, running completely locally on your machine&lt;br&gt;
Gemini API — cloud fallback, only used if Ollama is unavailable&lt;/p&gt;

&lt;p&gt;The open-source AI layer:&lt;/p&gt;

&lt;p&gt;The extension sends the privacy policy URL to the local Node server. The server uses Ollama's chat API (/api/chat) to run the analysis with whatever open-weight model you have installed — tested with llama3.2, llama2, and mistral. It also handles older Ollama versions by falling back to /api/generate.&lt;/p&gt;

&lt;p&gt;The model is given a strict structured prompt that forces JSON output with a privacy score, plain-English summary, and a list of flags with severity levels. A robust JSON extractor strips any markdown fences or preamble text the model might add before parsing.&lt;/p&gt;

&lt;p&gt;The Gemini fallback tries 5 model names in sequence, skipping any that return 404 (some models aren't available in all regions):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;GEMINI_MODELS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;gemini-2.0-flash&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;gemini-1.5-flash&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;gemini-1.5-flash-latest&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;gemini-pro&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;gemini-1.0-pro&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The health endpoint (GET /health) lets the popup check provider availability at startup and show a live status badge — green for Ollama ready, yellow for Gemini fallback, red if nothing is available.&lt;/p&gt;

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

&lt;p&gt;Privacy tools need to be private themselves. That's the core tension with a closed-API approach.&lt;/p&gt;

&lt;p&gt;If I had built this with a hosted OpenAI or Anthropic API, every privacy policy you analyze would pass through their servers. You'd be trusting a third party with the URLs of every privacy page you visit, potentially leaking which services you use, when you use them, and what concerns you enough to check. A tool meant to protect your privacy shouldn't compromise it in the process of doing so.&lt;/p&gt;

&lt;p&gt;With Ollama:&lt;/p&gt;

&lt;p&gt;✅ Runs entirely offline — once the model is downloaded, no internet connection required&lt;br&gt;
✅ Zero data leaves your machine — the policy URL, the AI prompt, and the analysis result never touch an external server&lt;br&gt;
✅ Costs exactly $0 to run — indefinitely, for any number of policies&lt;br&gt;
✅ Model-agnostic — swap llama3.2 for mistral, phi3, gemma2, or any future open-weight model that fits your hardware, with no code changes&lt;br&gt;
✅ No API key, no rate limits, no usage quotas — analyze 500 privacy policies in a day if you want&lt;/p&gt;

&lt;p&gt;A closed API would have introduced a monthly bill, rate limits, and the irony of sending your privacy-checking queries to a company whose own privacy policy you haven't read. Open inference removes all three problems at once.&lt;/p&gt;

&lt;p&gt;The open approach also lets the community improve it: you could fine-tune a small model specifically on privacy policy datasets (there are several on Hugging Face) to get better, more consistent analysis than a general-purpose model provides. That's simply not possible with a closed API.&lt;/p&gt;

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

&lt;p&gt;The average privacy policy is 2,500 words and takes ~10 minutes to read properly.&lt;/p&gt;

&lt;p&gt;Most people spend 0 minutes reading it and just click "Accept."&lt;/p&gt;

&lt;p&gt;User-Friendly Forces gets you from "0 minutes of knowledge" to "actually informed" in under 2 minutes, without reading a word.&lt;/p&gt;

&lt;p&gt;In one week of testing across a dozen popular websites:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;🔴 3 out of 4 had at least one high-severity flag&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The most common flag: "Data shared with unspecified third parties"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Worst score seen: 18/100 (a popular fitness tracking app)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Best score seen: 71/100 (a small open-source developer tool)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The sloth doesn't read the privacy policy. The sloth makes the AI read it, hangs upside down, and waits for the summary. That's the energy.&lt;/p&gt;

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

&lt;p&gt;Best Use of Gemma — The extension works with Google's open-weight gemma2 model running locally through Ollama, giving users a Google-quality model without any API calls&lt;br&gt;
Best Use of GitHub Copilot — Development workflow used Copilot for iterating on the structured prompt engineering and the JSON extraction logic&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Turning WhatsApp Bursts into Briefs: A Local AI Tool for Freelancers &amp; Small Businesses</title>
      <dc:creator>Mritunjai Gupta</dc:creator>
      <pubDate>Thu, 15 Oct 2026 20:51:40 +0000</pubDate>
      <link>https://dev.to/mritunjai/turning-whatsapp-bursts-into-briefs-a-local-ai-tool-for-freelancers-small-businesses-4oi4</link>
      <guid>https://dev.to/mritunjai/turning-whatsapp-bursts-into-briefs-a-local-ai-tool-for-freelancers-small-businesses-4oi4</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week2-2026-10-12"&gt;Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Client communication on WhatsApp is notoriously chaotic. Freelancers and small business owners rarely receive structured project briefs; instead, clients send rapid-fire bursts of fragmented messages that bury essential scope shifts, budgets, and deadlines.&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;Client Buddy&lt;/strong&gt;, a privacy-first client intelligence dashboard designed specifically for freelancers and small businesses.&lt;/p&gt;

&lt;p&gt;It solves the "fragmented burst" problem by automatically grouping a client's rapid-fire messages and converting them into structured executive briefs containing explicit deliverables, hard deadlines, and tone-matched suggested reply drafts.&lt;/p&gt;

&lt;p&gt;To respect professional boundaries, Client Buddy enforces a strict &lt;strong&gt;"Zero Auto-Reply"&lt;/strong&gt; policy—the application never messages clients automatically, ensuring all outbound communication requires human discretion via 1-click copy-paste drafts. Finally, for severe incidents (like a server crash or payment failure), the system flags the issue as &lt;code&gt;CRITICAL&lt;/code&gt; and triggers an immediate outbound phone call alert to your mobile device using a synthesized AI voice so you never miss an emergency.&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%2Fleby7ciphmaajsizy2ze.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%2Fleby7ciphmaajsizy2ze.png" alt=" " width="799" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Video Demo[&lt;a href="https://youtu.be/T6_h7ZFzigc" rel="noopener noreferrer"&gt;https://youtu.be/T6_h7ZFzigc&lt;/a&gt;]&lt;/p&gt;

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

&lt;p&gt;Code Base[&lt;a href="https://github.com/Mritunjaii/Client-Buddy.git" rel="noopener noreferrer"&gt;https://github.com/Mritunjaii/Client-Buddy.git&lt;/a&gt;]&lt;/p&gt;

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

&lt;p&gt;Client Buddy is structured as a modern monorepo separating the dashboard from the heavy-lifting background workers.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The Ingestion Engine: I used whatsapp-web.js with Puppeteer to run a headless browser session that securely captures live incoming messages.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Sliding-Window Batcher: To prevent disjointed summaries, incoming messages from the same chat reset a 120-second inactivity countdown (flushAt). I used MongoDB to store these pending batches, implementing atomic lease locks (findOneAndUpdate) to guarantee thread safety and exactly-once processing across background workers.   &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Local-First AI: The background worker feeds the aggregated batch into Ollama, running open-weight models (llama3.2:latest or gemma:2b) locally. The prompt forces strict JSON outputs to populate the Next.js dashboard with requirements, open questions, and drafted replies.   &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Critical Alerts: If the local LLM classifies a burst as a CRITICAL emergency, the backend calls the ElevenLabs API (eleven_multilingual_v2) to synthesize a realistic voice briefing, and uses Twilio to literally ring my mobile phone with the alert.   &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Zero-Footprint Privacy: Raw source messages are protected by a native MongoDB 7-day TTL index (expireAfterSeconds: 0), automatically purging raw chat records to maintain GDPR compliance.  &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;When you are managing client relationships, privacy is non-negotiable. Processing client NDAs, proprietary code snippets, and financial budgets through a closed-source cloud API is often a massive compliance violation.&lt;/p&gt;

&lt;p&gt;Open innovation made Client Buddy possible. By leveraging local inference through Ollama and open-weight models, sensitive conversation histories never leave the user's machine for analysis. It provides enterprise-grade intelligence with zero cloud LLM exposure and zero per-token costs. Open models give freelancers the power of advanced AI without forcing them to compromise their clients' trust. &lt;/p&gt;

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

&lt;p&gt;I am submitting Client Buddy for the following prize categories:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Best Use of Gemma:&lt;/strong&gt; Utilized locally via Ollama as the core reasoning engine to extract structured deadlines, requirements, and reply drafts from messy chat data.   &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Best Use of MongoDB Atlas:&lt;/strong&gt; Used for complex state management, atomic worker lease locks (findOneAndUpdate) for the batching engine, and TTL indexes for privacy-first raw data purging.   &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Best Use of ElevenLabs:&lt;/strong&gt; Integrated the eleven_multilingual_v2 model to synthesize crystal-clear, natural speech for outbound emergency PSTN phone calls.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>AFTERWORLD: Every Place Has a Past. Every Place Has a Possible Future.</title>
      <dc:creator>Mritunjai Gupta</dc:creator>
      <pubDate>Sat, 10 Oct 2026 20:20:16 +0000</pubDate>
      <link>https://dev.to/mritunjai/afterworld-every-place-has-a-past-every-place-has-a-possible-future-5dhn</link>
      <guid>https://dev.to/mritunjai/afterworld-every-place-has-a-past-every-place-has-a-possible-future-5dhn</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;&lt;strong&gt;AFTERWORLD&lt;/strong&gt; is an editorial, open-weight AI web companion that transforms physical landmarks, urban structures, and historical sites into living portals across time. &lt;br&gt;
Most modern web experiences are designed to maximize screen time, trap users in algorithmic feeds, and pull attention inward. &lt;strong&gt;AFTERWORLD does the exact opposite: it exists to pull you off your screen and out into the real physical world.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  How it gets people out to "Touch Grass":
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Geolocated Discovery ("Find Portals Near Me")&lt;/strong&gt;: With a single tap, AFTERWORLD uses your device's geolocation to discover historical landmarks around your immediate physical coordinates. Whether you're standing in front of a centuries-old monument or walking down a historic city street, it turns your physical walk into a field expedition.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Three Portals of Time&lt;/strong&gt;:

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Past (Strictly Grounded)&lt;/strong&gt;: Deep historical narratives constructed &lt;em&gt;exclusively&lt;/em&gt; from verified public records (Wikidata, Wikipedia, UNESCO, and curated archives). Every claim includes clickable, transparent source citations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Present (Architectural &amp;amp; Physical Reality)&lt;/strong&gt;: Real-world coordinates, satellite/cartographic mapping, physical conservation challenges, and verified imagery.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Future (Speculative Projection)&lt;/strong&gt;: Imaginative horizons labeled &lt;code&gt;Imagined future — not a prediction&lt;/code&gt; exploring ecological shifts, architectural preservation, and future human stewardship over decades and centuries.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hands-Free Audio Walk Narration&lt;/strong&gt;: Built-in voice synthesis (Web Speech API) turns every portal into an ambient audio walking tour. Pocket your phone, put on your headphones, and listen to the past and future of the ground you are walking on while looking up at the world around you.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero Distraction, Zero Surveillance&lt;/strong&gt;: No accounts, no likes, no gamified leaderboards, and zero GPS tracking. You explore physical reality on your own terms.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Live Demo: [&lt;a href="https://afterworld-hacktoberfest-open-source-ai.onrender.com/" rel="noopener noreferrer"&gt;https://afterworld-hacktoberfest-open-source-ai.onrender.com/&lt;/a&gt;]&lt;br&gt;
Video Demo: [&lt;a href="https://youtu.be/hjsaewygV5U" rel="noopener noreferrer"&gt;https://youtu.be/hjsaewygV5U&lt;/a&gt;]&lt;/p&gt;

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

&lt;p&gt;GitHub Repository: &lt;a href="https://github.com/Mritunjaii/AfterWorld-Hacktoberfest-Open-Source-AI-Challenge-Week-1.git" rel="noopener noreferrer"&gt;https://github.com/Mritunjaii/AfterWorld-Hacktoberfest-Open-Source-AI-Challenge-Week-1.git&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;AFTERWORLD is built around &lt;strong&gt;Google Gemma 2 (&lt;code&gt;gemma2:2b&lt;/code&gt;)&lt;/strong&gt; running via a swappable &lt;strong&gt;Ollama local inference provider&lt;/strong&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%2Fa3kac4gs8k02fijp7p16.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%2Fa3kac4gs8k02fijp7p16.png" alt=" " width="734" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Zero-Hallucination Historical Grounding
&lt;/h3&gt;

&lt;p&gt;Generative AI often hallucinates historical facts, inventing dates, names, and battles. In AFTERWORLD, the Past mode enforces an uncompromising architectural contract:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The backend queries Wikipedia/Wikidata APIs for the target location to build an evidence bundle of verifiable facts and source URLs.&lt;/li&gt;
&lt;li&gt;The prompt instructs &lt;strong&gt;Gemma 2&lt;/strong&gt; to act strictly as a curator, synthesizing prose &lt;em&gt;only&lt;/em&gt; from the supplied facts and returning exact fact IDs used.&lt;/li&gt;
&lt;li&gt;If the AI model is offline or facts are insufficient, the system falls back to a deterministic, strictly cited prose synthesizer rather than fabricating history.
### 2. Fully Local, Private Edge Inference
Through the &lt;code&gt;AIModelProvider&lt;/code&gt; interface, AFTERWORLD connects directly to an Ollama instance serving &lt;code&gt;gemma2:2b&lt;/code&gt;:&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fast 2B Parameter Footprint&lt;/strong&gt;: Runs seamlessly on consumer laptops and edge devices without needing a dedicated server GPU.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Swappable Model Adapter&lt;/strong&gt;: The application is model-agnostic and can effortlessly run Llama 3, Mistral, or custom fine-tunes with an environment variable tweak (&lt;code&gt;OLLAMA_MODEL=gemma2:2b&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;I wanted AFTERWORLD to be more than another application that sends a prompt to a closed AI API.&lt;/p&gt;

&lt;p&gt;Open-weight models make it possible to experiment with the storytelling process, change models, control prompts, and potentially run inference on infrastructure we control.&lt;/p&gt;

&lt;p&gt;Using Gemma through Ollama provides a path toward local development and self-hosted inference. This can reduce dependence on a proprietary model provider and offer more control over where data is processed.&lt;/p&gt;

&lt;p&gt;Open geographic data and a modular source-retrieval pipeline also make the project easier to extend and adapt.&lt;/p&gt;

&lt;p&gt;Most importantly, the model is part of the actual product: it transforms retrieved historical evidence into an engaging narrative and creates a separate imaginative future for each location.&lt;/p&gt;

&lt;p&gt;The vision is an exploration tool that encourages people to experience the world directly, with AI serving as a guide rather than the destination.&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;Best Use of &lt;strong&gt;Gemma&lt;/strong&gt;: If the implemented Gemma integration is used for narrative generation.&lt;/li&gt;
&lt;li&gt;Best Use of &lt;strong&gt;SerpApi&lt;/strong&gt;: If SerpApi is genuinely integrated into the source-discovery pipeline.&lt;/li&gt;
&lt;li&gt;Best Use of &lt;strong&gt;MongoDB Atlas&lt;/strong&gt;: If Atlas is used for application data and story caching.&lt;/li&gt;
&lt;li&gt;Best Use of &lt;strong&gt;Render&lt;/strong&gt;: If the application or backend is deployed on Render.&lt;/li&gt;
&lt;li&gt;Best Use of &lt;strong&gt;Sentry&lt;/strong&gt;: If Sentry is integrated for application monitoring.&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Healtify: Turn your everyday bad habits into good one</title>
      <dc:creator>Mritunjai Gupta</dc:creator>
      <pubDate>Sun, 04 Oct 2026 19:25:13 +0000</pubDate>
      <link>https://dev.to/mritunjai/healtify-turn-your-everyday-bad-habits-into-good-one-43cc</link>
      <guid>https://dev.to/mritunjai/healtify-turn-your-everyday-bad-habits-into-good-one-43cc</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 Healtify, a personal lifestyle tracking and wellness companion for a friend who has been struggling with smoking and other unhealthy habits.&lt;br&gt;
The initial idea was simple: create an application where he could track things like smoking, alcohol consumption, outside food, screen time, sleep, and physical activity.&lt;br&gt;
But while building it, I realized there was a problem with only tracking bad habits.&lt;br&gt;
If someone is already frustrated with their habits, opening an app every day and seeing charts showing smoking, junk food, or other negative behaviors going up can become discouraging. Instead of motivating them, the application could make them feel like they are constantly failing.&lt;br&gt;
So I changed the idea.&lt;br&gt;
Healtify tracks both the habits that are helping you and the habits that are working against you.&lt;br&gt;
It tracks eight lifestyle dimensions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Food &amp;amp; Nutrition&lt;/li&gt;
&lt;li&gt;Smoking&lt;/li&gt;
&lt;li&gt;Alcohol&lt;/li&gt;
&lt;li&gt;Physical Activity&lt;/li&gt;
&lt;li&gt;Sleep &amp;amp; Recovery&lt;/li&gt;
&lt;li&gt;Hydration&lt;/li&gt;
&lt;li&gt;Screen Time&lt;/li&gt;
&lt;li&gt;Mental Wellness&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The application calculates a transparent Healtify Score from 0–100 using a deterministic scoring system. The score is calculated by the backend rather than being guessed by AI.&lt;br&gt;
One of my favorite features is Habit Balance. Instead of simply showing "bad habits," it visualizes the relationship between positive lifestyle behaviors and risk factors.&lt;br&gt;
For example, if someone is struggling with smoking but has simultaneously started walking more, exercising, sleeping better, and drinking more water, Healtify makes that progress visible.&lt;br&gt;
The goal is:&lt;br&gt;
Don't focus only on what you're doing wrong. See what you're doing right, understand what needs attention, and gradually move your lifestyle in a better direction.&lt;/p&gt;

&lt;p&gt;Healtify also provides AI-generated lifestyle reflections that interpret the user's trends and suggest small, practical actions. The AI is an interpretation layer, not a medical diagnostic system.&lt;/p&gt;

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

&lt;p&gt;Live Demo:&lt;br&gt;
[&lt;a href="https://healtify-fcik.onrender.com/" rel="noopener noreferrer"&gt;https://healtify-fcik.onrender.com/&lt;/a&gt;]&lt;br&gt;
Video Demo:&lt;br&gt;
[&lt;a href="https://youtu.be/MJy8uAH1tzk" rel="noopener noreferrer"&gt;https://youtu.be/MJy8uAH1tzk&lt;/a&gt;]&lt;br&gt;
The demo walks through:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Recording daily lifestyle habits&lt;/li&gt;
&lt;li&gt;Real-time Healtify Score calculation&lt;/li&gt;
&lt;li&gt;Lifestyle category trends&lt;/li&gt;
&lt;li&gt;Habit Balance visualization&lt;/li&gt;
&lt;li&gt;Positive habits vs. risk factors&lt;/li&gt;
&lt;li&gt;AI-generated wellness reflections&lt;/li&gt;
&lt;li&gt;Lifestyle goals and areas needing attention&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;GitHub Repository:&lt;br&gt;
[&lt;a href="https://github.com/Mritunjaii/Healtify.git" rel="noopener noreferrer"&gt;https://github.com/Mritunjaii/Healtify.git&lt;/a&gt;]&lt;br&gt;
Tech Stack&lt;br&gt;
Frontend&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React
Backend&lt;/li&gt;
&lt;li&gt;Node.js&lt;/li&gt;
&lt;li&gt;Express.js
Database&lt;/li&gt;
&lt;li&gt;MongoDB
AI&lt;/li&gt;
&lt;li&gt;Llama 3.2 via Ollama — primary/local AI&lt;/li&gt;
&lt;li&gt;Gemini API — cloud fallback
Architecture:
React
↓
Node.js + Express
↓
MongoDB
↓
AI Service Layer
↓
Llama 3.2 via Ollama
↓
Gemini Cloud Fallback&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The AI service is separated from the rest of the application so that Healtify can use local AI whenever available and fall back to Gemini when the local model is unavailable.&lt;/p&gt;

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

&lt;p&gt;One of the main design decisions in Healtify was to make AI an interpretation layer, rather than allowing AI to control the application's core logic.&lt;br&gt;
The Healtify Score is calculated deterministically by the Node.js/Express backend.&lt;br&gt;
Each lifestyle category is normalized to a 0–100 score, and the overall score is calculated from those category scores.&lt;br&gt;
The AI receives a structured summary of the user's lifestyle data and trends.&lt;br&gt;
For example:&lt;br&gt;
{&lt;br&gt;
  "steps": 10400,&lt;br&gt;
  "workoutMinutes": 45,&lt;br&gt;
  "sleepHours": 8.1,&lt;br&gt;
  "waterLiters": 2.3,&lt;br&gt;
  "smokingCount": 2,&lt;br&gt;
  "outsideFoodCount": 1&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;This information is passed to the AI service.&lt;br&gt;
Local AI First&lt;br&gt;
Healtify primarily uses Llama 3.2 through Ollama.&lt;br&gt;
This allows the application to run the AI interpretation locally without sending the user's lifestyle information to a cloud AI provider.&lt;br&gt;
The local model generates things such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Daily reflections&lt;/li&gt;
&lt;li&gt;Weekly summaries&lt;/li&gt;
&lt;li&gt;Score explanations&lt;/li&gt;
&lt;li&gt;Practical micro-actions&lt;/li&gt;
&lt;li&gt;Achievable lifestyle goals
For example:
"Your activity and sleep have been strong this week. Your biggest opportunity is reducing smoking while maintaining your current exercise routine."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cloud Fallback&lt;br&gt;
If the local Ollama service or model is unavailable, Healtify can use the Gemini API as a fallback.&lt;br&gt;
The flow is:&lt;br&gt;
User requests AI Insight&lt;br&gt;
        ↓&lt;br&gt;
Node.js AI Service&lt;br&gt;
        ↓&lt;br&gt;
Is Ollama available?&lt;br&gt;
      /       \&lt;br&gt;
    YES        NO&lt;br&gt;
     ↓          ↓&lt;br&gt;
Llama 3.2    Gemini API&lt;br&gt;
     \          /&lt;br&gt;
      ↓        ↓&lt;br&gt;
       AI Insight&lt;br&gt;
          ↓&lt;br&gt;
         React&lt;/p&gt;

&lt;p&gt;This gives the application the benefits of local AI when possible, while still providing a reliable cloud fallback.&lt;/p&gt;

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

&lt;p&gt;Open innovation is especially important for Healtify because the application deals with personal lifestyle data.&lt;br&gt;
Using a local open-weight model through Ollama means Healtify can process AI insights locally without requiring every piece of lifestyle information to be sent to a cloud AI provider.&lt;br&gt;
This gives the project:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Greater control over data processing&lt;/li&gt;
&lt;li&gt;Local AI inference&lt;/li&gt;
&lt;li&gt;Reduced dependency on a single cloud provider&lt;/li&gt;
&lt;li&gt;The ability to experiment with different models&lt;/li&gt;
&lt;li&gt;A path toward more privacy-focused deployments&lt;/li&gt;
&lt;li&gt;The ability to run the AI layer without a constant internet connection
The project also demonstrates that an AI-powered application does not necessarily need to send every request to a proprietary cloud model.
Llama 3.2 via Ollama handles the primary AI workload locally, while Gemini provides a fallback when local inference isn't available.
More importantly, Healtify doesn't use AI for everything.
The application itself controls:&lt;/li&gt;
&lt;li&gt;Habit tracking&lt;/li&gt;
&lt;li&gt;Data storage&lt;/li&gt;
&lt;li&gt;Score calculation&lt;/li&gt;
&lt;li&gt;Category scoring&lt;/li&gt;
&lt;li&gt;Habit Balance&lt;/li&gt;
&lt;li&gt;Goals&lt;/li&gt;
&lt;li&gt;Historical trends
The AI simply helps the user understand the patterns in their own data.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Render: Deployed and hosted as a live full-stack Web Service on Render with automated builds and environment variable management.&lt;/li&gt;
&lt;li&gt;Gemma:Open-weight AI storytelling powered by Llama 3.2 via Ollama (with gemini cloud fallback).&lt;/li&gt;
&lt;li&gt;MongoDB:as a database&lt;/li&gt;
&lt;/ul&gt;

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