<?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: Tanisha</title>
    <description>The latest articles on DEV Community by Tanisha (@tanisha_saxena_6ee4977663).</description>
    <link>https://dev.to/tanisha_saxena_6ee4977663</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%2F2928306%2F87dd7fd3-9df1-4e59-bce0-20a5b5a16bde.jpg</url>
      <title>DEV Community: Tanisha</title>
      <link>https://dev.to/tanisha_saxena_6ee4977663</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tanisha_saxena_6ee4977663"/>
    <language>en</language>
    <item>
      <title># 👻 Archive Afterlife: Giving Forgotten Open-Source Software a Second Life</title>
      <dc:creator>Tanisha</dc:creator>
      <pubDate>Tue, 27 Oct 2026 16:06:20 +0000</pubDate>
      <link>https://dev.to/tanisha_saxena_6ee4977663/-archive-afterlife-giving-forgotten-open-source-software-a-second-life-2ac2</link>
      <guid>https://dev.to/tanisha_saxena_6ee4977663/-archive-afterlife-giving-forgotten-open-source-software-a-second-life-2ac2</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/"&gt;Hacktoberfest Open-Source AI Challenge: Week 4&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  👻 Archive Afterlife: The Ghost in the Machine
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;Some code refuses to be forgotten.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What happens when a software project is abandoned? Its maintainers move on, its documentation gathers dust, and eventually, the ideas hidden inside its code risk disappearing into the digital dark ages.&lt;/p&gt;

&lt;p&gt;But what if we could bring those projects back to life?&lt;/p&gt;

&lt;p&gt;Meet &lt;strong&gt;Archive Afterlife&lt;/strong&gt; — a haunted digital archive that lets you explore forgotten software, interrogate its ghost, uncover its architecture, and imagine its future.&lt;/p&gt;

&lt;p&gt;Built for the final Hacktoberfest 2026 Open-Source AI Challenge, &lt;em&gt;Ghost in the Machine&lt;/em&gt;, this project combines software archaeology, AI-assisted exploration, and a little Halloween magic. 🕯️&lt;/p&gt;

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

&lt;p&gt;Archive Afterlife turns software documentation into an interactive archaeological experience. Instead of digging through old files alone, you can enter an archive, ask questions, investigate technical decisions, and generate a resurrection report.&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%2F3sjm25sx3cw2w52i1v1j.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%2F3sjm25sx3cw2w52i1v1j.png" alt=" " width="800" height="455"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  👻 1. Enter the Haunted Archive
&lt;/h3&gt;

&lt;p&gt;The experience begins with a simple message:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Some code refuses to be forgotten.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Explore four fictional software relics, each with its own technical history and architectural mysteries:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Phantasm Daemon (1999):&lt;/strong&gt; A peer-to-peer hypermedia daemon.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AetherNet Crawler (2004):&lt;/strong&gt; A semantic web crawler.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NecroOS Kernel Spec (2008):&lt;/strong&gt; A capability-based microkernel.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ChronosDB (2011):&lt;/strong&gt; An immutable time-series database concept.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each archive offers a starting point for exploring the ideas, architecture, and potential future of forgotten software.&lt;/p&gt;

&lt;h3&gt;
  
  
  🗣️ 2. Summon the Ghost
&lt;/h3&gt;

&lt;p&gt;What if you could interview an old codebase?&lt;/p&gt;

&lt;p&gt;The interactive terminal lets you explore an archive through three distinct perspectives:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Maintainer Echo&lt;/strong&gt; — explores the imagined design intent behind the project.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;System Daemon&lt;/strong&gt; — examines its low-level runtime concepts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Code Archaeologist&lt;/strong&gt; — investigates its architecture and technical trade-offs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The experience is designed to distinguish documented facts from speculation. When information is missing, the archive explicitly marks it as &lt;code&gt;[UNRECORDED IN CODEX]&lt;/code&gt; rather than inventing a historical answer.&lt;/p&gt;

&lt;h3&gt;
  
  
  📜 3. Bring Your Own Archive
&lt;/h3&gt;

&lt;p&gt;Have an old project sitting on your machine?&lt;/p&gt;

&lt;p&gt;Upload or drag and drop &lt;code&gt;.txt&lt;/code&gt;, &lt;code&gt;.md&lt;/code&gt;, &lt;code&gt;.c&lt;/code&gt;, &lt;code&gt;.h&lt;/code&gt;, or &lt;code&gt;.py&lt;/code&gt; files into the Archive Ingestion Lab.&lt;/p&gt;

&lt;p&gt;Archive Afterlife extracts document sections, reports file statistics, and identifies potential legacy concerns, including Python 2 dependencies, MD5 usage, &lt;code&gt;select(2)&lt;/code&gt;, and unbounded buffers.&lt;/p&gt;

&lt;p&gt;Your uploaded material becomes the active archive, allowing you to investigate your own software relics.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔎 4. Generate a Resurrection Report
&lt;/h3&gt;

&lt;p&gt;Every forgotten project deserves a second chance.&lt;/p&gt;

&lt;p&gt;The Resurrection Report generator creates a structured technical dossier containing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Original purpose and historical context&lt;/li&gt;
&lt;li&gt;Architecture and core primitives&lt;/li&gt;
&lt;li&gt;Potentially obsolete dependencies and technical risks&lt;/li&gt;
&lt;li&gt;Modernization opportunities and rewrite strategies&lt;/li&gt;
&lt;li&gt;Unanswered questions and missing artifacts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Reports distinguish documented facts from technical hypotheses and can be exported as Markdown, printed, or copied for further analysis.&lt;/p&gt;

&lt;h3&gt;
  
  
  🧩 5. Follow the Evidence
&lt;/h3&gt;

&lt;p&gt;An intriguing answer is not enough. Developers need to know where it came from.&lt;/p&gt;

&lt;p&gt;The Evidence Trail connects citations in responses and reports to the relevant file, section, and line range. Selecting a citation highlights the corresponding passage in the Codex Inspector.&lt;/p&gt;

&lt;p&gt;The idea is simple: make software archaeology easier to investigate, verify, and build upon.&lt;/p&gt;

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

&lt;p&gt;I used &lt;strong&gt;Google AI Studio's browser-based app-building workflow&lt;/strong&gt; to develop Archive Afterlife through iterative prompting and refinement.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React and TypeScript&lt;/strong&gt; for the interactive frontend and structured data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A modular Gemma 2 integration&lt;/strong&gt; for connecting the archive to an open-weight language model.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A server-side adapter&lt;/strong&gt; to keep model integration separate from the user interface.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Structured archive data&lt;/strong&gt; for immediately accessible sample projects.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Document ingestion and code-oriented analysis&lt;/strong&gt; for exploring uploaded files.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;An evidence-linked document viewer&lt;/strong&gt; and an exportable report generator.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also pushed the project to GitHub so its code can be explored and developed further.&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/Tanishaaaaaaa/ghost_challenge" rel="noopener noreferrer"&gt;https://github.com/Tanishaaaaaaa/ghost_challenge&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🧠 Why Open-Weight AI?
&lt;/h2&gt;

&lt;p&gt;The theme &lt;em&gt;Ghost in the Machine&lt;/em&gt; inspired me to think about a broader question: what happens when the tools we depend on disappear?&lt;/p&gt;

&lt;p&gt;Open-weight AI offers developers more flexibility in how they build and deploy AI-powered applications. Models such as Gemma can be used within systems that developers adapt to their own needs, subject to the relevant model license and deployment setup.&lt;/p&gt;

&lt;p&gt;For Archive Afterlife, that philosophy matters in several ways.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔓 Freedom to adapt&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A modular model adapter makes it easier to evolve the inference layer without redesigning the entire application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🗃️ Preserving technical knowledge&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Software archives should remain useful beyond the lifetime of a particular AI service. Keeping project documentation and analysis workflows distinct from the model helps preserve that flexibility.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔍 Transparency and evidence&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The archive's evidence trail encourages developers to inspect source material instead of blindly trusting generated explanations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🌱 Accessible experimentation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sample archives and deterministic demo responses let users explore the experience without requiring a live inference connection just to try the interface.&lt;/p&gt;

&lt;p&gt;Archive Afterlife is designed around a Gemma 2 integration, with a deterministic demo mode available when live inference is not configured. This makes the core experience accessible while keeping the model integration replaceable.&lt;/p&gt;

&lt;p&gt;To me, open innovation is not just about using an open model. It is about building systems that other people can understand, adapt, and carry forward.&lt;/p&gt;

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

&lt;p&gt;Building Archive Afterlife reinforced an interesting idea: AI can be more than a conversational interface.&lt;/p&gt;

&lt;p&gt;It can become a way to interact with technical history — provided that the experience makes room for evidence, uncertainty, and human judgment.&lt;/p&gt;

&lt;p&gt;A legacy codebase is rarely just a collection of outdated files. It is also a record of the problems developers faced, the trade-offs they made, and the possibilities they explored.&lt;/p&gt;

&lt;p&gt;Making that history easier to understand might help someone discover an idea worth saving.&lt;/p&gt;

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

&lt;p&gt;I'd love to take Archive Afterlife further by adding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More robust retrieval across large repositories.&lt;/li&gt;
&lt;li&gt;Deeper dependency and security analysis.&lt;/li&gt;
&lt;li&gt;Better citation verification for generated answers.&lt;/li&gt;
&lt;li&gt;More ways to export and preserve complete project archives.&lt;/li&gt;
&lt;li&gt;A fully tested live Gemma inference workflow.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  💬 Let's Talk
&lt;/h2&gt;

&lt;p&gt;If you could resurrect one abandoned open-source project, which would you choose?&lt;/p&gt;

&lt;p&gt;And more importantly, &lt;strong&gt;what would you ask its ghost?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Share your answers in the comments. Let's give forgotten ideas another life.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built for Hacktoberfest 2026 — Open-Source AI Challenge, Week 4: Ghost in the Machine.&lt;/em&gt; 👻&lt;/p&gt;

&lt;h1&gt;
  
  
  Hacktoberfest #OpenSource #AI #Gemma #WebDev
&lt;/h1&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title># 🦥 SlothFlow: Do Less. Let Open-Source AI Handle the Friction.</title>
      <dc:creator>Tanisha</dc:creator>
      <pubDate>Thu, 22 Oct 2026 16:14:14 +0000</pubDate>
      <link>https://dev.to/tanisha_saxena_6ee4977663/-slothflow-do-less-let-open-source-ai-handle-the-friction-4if8</link>
      <guid>https://dev.to/tanisha_saxena_6ee4977663/-slothflow-do-less-let-open-source-ai-handle-the-friction-4if8</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;
  
  
  🦥 SlothFlow: Do Less. Let Open-Source AI Handle the Friction.
&lt;/h1&gt;

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

&lt;p&gt;What if productivity wasn't about doing more, but about making everyday tasks require less effort?&lt;/p&gt;

&lt;p&gt;That's the idea behind &lt;strong&gt;SlothFlow&lt;/strong&gt;, a privacy-conscious AI suite built around the &lt;em&gt;Slow and Steady&lt;/em&gt; philosophy for Hacktoberfest 2026.&lt;/p&gt;

&lt;p&gt;Instead of creating another chatbot that gives you more things to read, I wanted to build tools that reduce the small, exhausting bits of everyday life: catching up on group chats, figuring out what to cook, organizing digital clutter, and winding down after a long day.&lt;/p&gt;

&lt;p&gt;SlothFlow combines local heuristics and browser-native capabilities with open-weight AI inference where it adds value.&lt;/p&gt;

&lt;p&gt;The result is a collection of five tools designed to help you conserve your energy for things that actually matter.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. 🌙 Overnight Chatter Condenser
&lt;/h3&gt;

&lt;p&gt;Ever wake up to hundreds of unread messages and feel like you've already had a full day?&lt;/p&gt;

&lt;p&gt;The Chatter Condenser turns pasted chat logs into a concise, two-line summary, an actionable &lt;strong&gt;FOMO Verdict&lt;/strong&gt;, and a filter for low-value debates.&lt;/p&gt;

&lt;p&gt;The goal isn't to read every message. It's to understand what matters, identify anything requiring your attention, and get on with your morning.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. 🥑 Lazy Fridge-to-Feast
&lt;/h3&gt;

&lt;p&gt;Staring into the refrigerator and still having no idea what to eat is a surprisingly common problem.&lt;/p&gt;

&lt;p&gt;This tool takes an ingredient or refrigerator image and helps turn available ingredients into low-effort meal suggestions. Its guiding principles are simple: fewer steps, minimal cleanup, and recipes designed around the infamous one-pan rule.&lt;/p&gt;

&lt;p&gt;It can also suggest staple ingredients to consider on your next grocery run.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. 🗂️ TidyDesk Procrastination Cleaner
&lt;/h3&gt;

&lt;p&gt;Downloads folders have a remarkable ability to become digital junk drawers.&lt;/p&gt;

&lt;p&gt;TidyDesk helps organize file information into sensible categories and generates a reviewable shell script for file organization. The goal is to make tidying a deliberate, manageable action instead of another task you keep postponing.&lt;/p&gt;

&lt;p&gt;Generated scripts should always be reviewed before execution, especially when working with personal documents or financial records.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. 🌧️ Offline Wind-Down &amp;amp; Procedural Soundscapes
&lt;/h3&gt;

&lt;p&gt;Sometimes the most useful thing an AI tool can do is help you stop staring at a screen.&lt;/p&gt;

&lt;p&gt;The Wind-Down Companion uses browser-native Web Audio synthesis to create procedural ambient soundscapes, including rain, wind, and campfire-inspired sounds, without requiring downloaded audio tracks.&lt;/p&gt;

&lt;p&gt;It also includes relaxing bedtime narratives, browser text-to-speech, and a sleep timer with a gradual fade-out.&lt;/p&gt;

&lt;p&gt;Its offline capabilities are especially useful here: once the application and required assets are available, supported sound-generation features can run without making model requests.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. ✍️ Hacktoberfest DEV Submission Builder
&lt;/h3&gt;

&lt;p&gt;Building a project is one challenge. Explaining its architecture, open-source choices, and impact is another.&lt;/p&gt;

&lt;p&gt;The Submission Builder generates Markdown drafts that describe the project and connect its design decisions to the challenge prompt.&lt;/p&gt;

&lt;p&gt;It helps turn implementation details into a structured project story, while the final post still needs a human review to ensure that every claim matches the code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo Snippet:
&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%2F6nktifefdcdkxc06c9s4.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%2F6nktifefdcdkxc06c9s4.png" alt=" " width="800" height="406"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Explore the five modules and try the features with sample inputs before using personal data.&lt;/p&gt;

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

&lt;p&gt;💻 &lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/Tanishaaaaaaa/slothAI" rel="noopener noreferrer"&gt;https://github.com/Tanishaaaaaaa/slothAI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository contains the source code and project documentation.&lt;/p&gt;

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

&lt;p&gt;SlothFlow was developed using a browser-based AI development workflow, with Gemini assisting in generating and refining the application.&lt;/p&gt;

&lt;p&gt;The architecture combines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React and TypeScript&lt;/strong&gt; for the application interface and modular components.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Browser-native Web Audio APIs&lt;/strong&gt; for procedural sound generation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local heuristics&lt;/strong&gt; for lightweight task processing without depending on remote model inference.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gemma open-weight model integration&lt;/strong&gt; for tasks that benefit from language-model reasoning, subject to the configured inference environment.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Browser-based file handling&lt;/strong&gt; and generated shell scripts for reviewable organization workflows.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project follows a hybrid approach: use lightweight local capabilities when they are sufficient, and use model inference when a more capable response is needed.&lt;/p&gt;

&lt;p&gt;This distinction matters. Open-weight models can be self-hosted, but a hosted inference endpoint still requires an internet connection. Likewise, offline functionality depends on which application assets and capabilities are already available locally.&lt;/p&gt;

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

&lt;p&gt;Open innovation matters because developers should have meaningful choices about how AI works, where data is processed, and how systems can be adapted.&lt;/p&gt;

&lt;p&gt;For SlothFlow, that means three things.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Choice over the model&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Open-weight models such as Gemma give developers more flexibility to experiment with model behavior, evaluate alternatives, and potentially self-host inference rather than relying exclusively on a proprietary hosted model.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Local capabilities where they make sense&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not every task needs an LLM. Simple heuristics can handle lightweight operations, while procedural audio can be generated directly in the browser. These approaches reduce unnecessary model calls and can continue working without a live inference service when their dependencies are available locally.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. More control over personal data&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Chat logs, refrigerator photos, and personal documents can contain sensitive information. Keeping processing local where practical reduces unnecessary data transfers. Any remote inference path must be disclosed clearly so users understand when their inputs leave the device.&lt;/p&gt;

&lt;p&gt;Open-source AI isn't automatically private, free, or offline. Those properties depend on the implementation and deployment choices. SlothFlow explores how combining open-weight models with local processing can give developers more control over those choices.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges I Ran Into
&lt;/h2&gt;

&lt;p&gt;The biggest design challenge was balancing a useful AI experience with a lightweight, low-friction application.&lt;/p&gt;

&lt;p&gt;A hybrid architecture introduces trade-offs: local heuristics are fast and can work offline, but are less flexible than language models. Hosted inference can produce richer results, but introduces connectivity, latency, and data-handling considerations.&lt;/p&gt;

&lt;p&gt;Another challenge is making productivity features genuinely useful without pretending the software can safely perform every action automatically. For example, a generated file-organization script should remain reviewable rather than silently moving or deleting important files.&lt;/p&gt;

&lt;p&gt;These trade-offs shaped SlothFlow's focus on small, understandable actions rather than automation for its own sake.&lt;/p&gt;

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

&lt;p&gt;I'd like to explore more robust local inference options, configurable privacy controls, better validation of AI-generated recommendations, and additional ways to reduce repetitive everyday work.&lt;/p&gt;

&lt;p&gt;The longer-term goal is simple: software that quietly removes friction instead of demanding more attention.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Hacktoberfest's &lt;em&gt;Slow and Steady&lt;/em&gt; theme was a reminder that useful software doesn't always need to be ambitious in the loudest possible way.&lt;/p&gt;

&lt;p&gt;Sometimes, the best tool is the one that helps you read fewer messages, wash fewer dishes, organize fewer things manually, or finally get some rest.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build thoughtfully. Automate the boring bits. Embrace your inner sloth.&lt;/strong&gt; 🦥&lt;/p&gt;

&lt;h1&gt;
  
  
  Hacktoberfest #OpenSourceAI #Gemma #AI #WebDev
&lt;/h1&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>RELAY: What If AI Could Hand Over Knowledge Without Losing the Context? 🔗🤖</title>
      <dc:creator>Tanisha</dc:creator>
      <pubDate>Sat, 17 Oct 2026 11:36:50 +0000</pubDate>
      <link>https://dev.to/tanisha_saxena_6ee4977663/relay-what-if-ai-could-hand-over-knowledge-without-losing-the-context-3gji</link>
      <guid>https://dev.to/tanisha_saxena_6ee4977663/relay-what-if-ai-could-hand-over-knowledge-without-losing-the-context-3gji</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/mlh-hackathon"&gt;MLH x DEV Writing Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Have you ever tried to hand over a task to someone else, only to realize that all the important details exist in your head, scattered messages, random notes, and old conversations?&lt;/p&gt;

&lt;p&gt;Now imagine an AI system that could bring those details together, distinguish facts from uncertainty, and prepare a useful handoff without pretending to know things it doesn't.&lt;/p&gt;

&lt;p&gt;That's the idea behind &lt;strong&gt;RELAY — Personal Knowledge Handoff AI&lt;/strong&gt;, a project I built to explore a more reliable way of transferring knowledge.&lt;/p&gt;

&lt;p&gt;RELAY takes messy personal knowledge, such as messages, notes, receipts, images, and voice notes, and organizes it into a temporary, evidence-backed handoff.&lt;/p&gt;

&lt;p&gt;Instead of simply generating a summary, the project focuses on questions that matter when someone else needs to act on the information:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Evidence-backed answers:&lt;/strong&gt; Can we connect an answer to the information that supports it?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Temporal conflict detection:&lt;/strong&gt; What happens when two pieces of information disagree or refer to different points in time?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Explicit uncertainty:&lt;/strong&gt; Can the system acknowledge what it doesn't know instead of presenting guesses as facts?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Source provenance:&lt;/strong&gt; Where did a particular piece of information come from?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Temporary handoffs:&lt;/strong&gt; How can we transfer the context someone needs without treating every detail as permanent knowledge?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is simple: make knowledge easier to transfer while preserving the context behind it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why I Built It
&lt;/h3&gt;

&lt;p&gt;I wanted to explore a problem that goes beyond generating answers with AI.&lt;/p&gt;

&lt;p&gt;In many real-world situations, the challenge isn't a lack of information. It's that the information is fragmented, outdated, contradictory, or difficult for another person to reconstruct.&lt;/p&gt;

&lt;p&gt;A generic summary can miss these distinctions. A confident AI-generated answer can also be misleading when the underlying evidence is incomplete.&lt;/p&gt;

&lt;p&gt;RELAY explores a different approach: &lt;strong&gt;the handoff should preserve evidence and uncertainty, not just produce a polished summary.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This project helped me think more deeply about how AI systems can be designed around trust, traceability, and practical usefulness rather than generation alone.&lt;/p&gt;

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

&lt;p&gt;🎥 &lt;strong&gt;Watch the demo:&lt;/strong&gt; &lt;a href="https://youtu.be/5DhEMq-5jpc" rel="noopener noreferrer"&gt;https://youtu.be/5DhEMq-5jpc&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;💻 &lt;strong&gt;Explore the source code:&lt;/strong&gt; &lt;a href="https://github.com/Tanishaaaaaaa/relay-ai-handoff" rel="noopener noreferrer"&gt;https://github.com/Tanishaaaaaaa/relay-ai-handoff&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The key idea behind RELAY is that the answer itself isn't the whole story. Being able to understand where information came from, identify conflicting details, and recognize uncertainty is equally important.&lt;/p&gt;

&lt;h2&gt;
  
  
  Partner Technologies
&lt;/h2&gt;

&lt;p&gt;RELAY explores an open-weight, local-first AI architecture alongside an application designed to organize information and build evidence-backed handoffs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Open-weight AI&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The project explores using open-weight models for knowledge processing. This approach offers flexibility in how AI inference can be configured and deployed, including the possibility of running models locally.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Evidence and provenance&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;An important part of the project is connecting extracted information to its supporting sources. This makes the handoff more useful than a standalone generated summary and helps preserve the context behind individual claims.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Conflict detection and uncertainty&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Information can change over time, and different sources can disagree. RELAY's design explicitly considers temporal conflicts and uncertainty instead of assuming every extracted fact is equally reliable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Local-first architecture&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The project explores a more flexible architecture in which local AI inference can be an option. This is especially interesting when considering the control developers may want over their AI infrastructure and data workflows.&lt;/p&gt;

&lt;p&gt;The broader lesson for me was that choosing an AI model is only one part of building a useful AI application. The surrounding system — including evidence handling, conflict detection, and uncertainty — matters just as much.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;For the MLH partner-technology requirement, I would identify the specific partner product and explain its actual implementation here before submitting. I don't want to claim an integration that the project hasn't verified.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Hackathon Experience
&lt;/h2&gt;

&lt;p&gt;Building projects around AI is a great reminder that an interesting idea is only the beginning.&lt;/p&gt;

&lt;p&gt;The real work comes from turning that idea into a concrete problem, making architectural decisions, experimenting with tools, and deciding which details deserve the most attention.&lt;/p&gt;

&lt;p&gt;While working on RELAY, I kept coming back to one question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What makes an AI system useful enough to trust with a real task?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For me, the answer isn't just a better model. It's a system that can explain its answers, preserve the source of its information, recognize contradictions, and be honest about what remains unknown.&lt;/p&gt;

&lt;p&gt;That perspective shaped how I approached the project and what I wanted to learn from building it.&lt;/p&gt;

&lt;p&gt;I'm excited to keep exploring AI systems that solve practical problems while taking reliability and context seriously.&lt;/p&gt;

&lt;p&gt;Thanks to MLH and DEV for bringing builders together and creating opportunities to share projects, learn, and experiment! 🚀&lt;/p&gt;

&lt;p&gt;If you're interested in knowledge handoffs, evidence-backed AI, or open-weight models, I'd love for you to check out RELAY and share your thoughts.&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/Tanishaaaaaaa/relay-ai-handoff" rel="noopener noreferrer"&gt;https://github.com/Tanishaaaaaaa/relay-ai-handoff&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🎥 &lt;strong&gt;Demo:&lt;/strong&gt; &lt;a href="https://youtu.be/5DhEMq-5jpc" rel="noopener noreferrer"&gt;https://youtu.be/5DhEMq-5jpc&lt;/a&gt;&lt;/p&gt;

</description>
      <category>mlhacks</category>
      <category>devchallenge</category>
      <category>hackathon</category>
    </item>
    <item>
      <title>DukaanDraft</title>
      <dc:creator>Tanisha</dc:creator>
      <pubDate>Thu, 15 Oct 2026 16:57:09 +0000</pubDate>
      <link>https://dev.to/tanisha_saxena_6ee4977663/dukaandraft-4di5</link>
      <guid>https://dev.to/tanisha_saxena_6ee4977663/dukaandraft-4di5</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;h3&gt;
  
  
  🛍️ DukaanDraft — Your products. Better words. More sales.
&lt;/h3&gt;

&lt;p&gt;Small business owners often spend more time writing product descriptions than actually selling their products. Creating separate captions for Instagram, descriptions for WhatsApp catalogues, promotional messages, and answers to customer questions can quickly become repetitive.&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;DukaanDraft&lt;/strong&gt;, an AI-powered listing assistant that helps small Indian sellers turn basic product details into a ready-to-use marketing pack.&lt;/p&gt;

&lt;p&gt;The idea is simple: enter your product name, price, features, preferred platform, language, and tone. DukaanDraft generates:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📸 Instagram captions with relevant hashtags&lt;/li&gt;
&lt;li&gt;💬 WhatsApp catalogue descriptions&lt;/li&gt;
&lt;li&gt;✨ Three alternative opening hooks&lt;/li&gt;
&lt;li&gt;❓ Frequently asked questions based on the supplied product facts&lt;/li&gt;
&lt;li&gt;📣 A short promotional message&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It supports English, Hindi, and Hinglish, with different tones for different kinds of businesses.&lt;/p&gt;

&lt;p&gt;The goal is to help independent sellers, home businesses, jewellery makers, and small online stores spend less time writing copy and more time running their businesses.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Try DukaanDraft:&lt;/strong&gt; &lt;br&gt;
For the demo, I used an organic Kachi Ghani yellow mustard oil listing priced at ₹349 and asked the model to generate WhatsApp marketing copy in Hinglish.&lt;/p&gt;

&lt;p&gt;The generated content preserved the supplied product details, including the Rajasthan yellow mustard seeds, traditional wooden kohlu extraction below 45°C, and BPA-free UV-protected amber bottle.&lt;/p&gt;

&lt;p&gt;It also handled missing information correctly. When asked about cash on delivery and shipping timelines, it indicated that the seller needed to confirm those details rather than inventing an answer.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;GitHub repository:&lt;/strong&gt; &lt;a href="https://github.com/Tanishaaaaaaa/dukaan-draft" rel="noopener noreferrer"&gt;https://github.com/Tanishaaaaaaa/dukaan-draft&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project includes the frontend, backend generation endpoint, model integration, and product-copy generation workflow.&lt;/p&gt;

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

&lt;p&gt;I wanted to keep DukaanDraft small enough to build quickly but useful enough to solve a real business problem.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React and Vite&lt;/strong&gt; for the user interface.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Node.js and Express&lt;/strong&gt; for the backend API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google's open-weight Gemma model&lt;/strong&gt; for product-copy generation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google's Gen AI SDK&lt;/strong&gt; to send prompts to the model.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Environment-based secret management&lt;/strong&gt; to keep API credentials out of frontend code.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The frontend collects product details and sends them to a backend &lt;code&gt;/api/generate&lt;/code&gt; endpoint. The backend constructs a prompt using the seller's inputs, calls the configured Gemma model, and returns the generated content to the interface.&lt;/p&gt;

&lt;p&gt;The application is configured to use &lt;code&gt;gemma-4-26b-a4b-it&lt;/code&gt;. The generation flow was tested end to end, with a reported successful response and approximately 45 seconds of inference latency during the test.&lt;/p&gt;

&lt;p&gt;I also added error handling with retries for transient upstream failures, individual copy actions for generated FAQs, and responsive layouts for mobile screens.&lt;/p&gt;

&lt;p&gt;One important design decision was to ground the output in the seller's actual product information. Marketing copy is useful only when it remains trustworthy. DukaanDraft should not invent prices, product attributes, shipping promises, or answers to questions the seller has not addressed.&lt;/p&gt;

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

&lt;p&gt;For a small side hustle, the economics of AI matter.&lt;/p&gt;

&lt;p&gt;A seller generating a handful of product listings should not need an expensive, complicated software stack just to write product descriptions.&lt;/p&gt;

&lt;p&gt;Using an open-weight model such as Gemma gives developers the flexibility to experiment with different model configurations, tailor prompts to a specific audience, and explore different inference setups as a product grows.&lt;/p&gt;

&lt;p&gt;For DukaanDraft, this creates several opportunities:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Building for a specific audience&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Generic writing assistants are designed for a broad range of tasks. DukaanDraft focuses on the needs of small sellers, including platform-specific copy, INR pricing, and conversational Hinglish marketing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. More control over the AI workflow&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The generation prompts and output structure can be adapted to the seller's business without rebuilding the application around a proprietary, closed model.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Flexibility in deployment and cost&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Open-weight models provide options for hosted inference or, where supported hardware and model requirements permit, self-hosted inference. Comparing these options could help reduce costs as usage grows and give the application more control over its infrastructure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Building without unnecessary complexity&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I could focus on a narrow, useful workflow instead of building a large AI platform. The model performs the language-generation task, while the application handles product inputs, formatting, and copying the results.&lt;/p&gt;

&lt;p&gt;There are trade-offs, too. Hosted inference still depends on provider availability, latency, and applicable usage limits. Running an open-weight model does not automatically make inference free or guarantee that customer data remains private.&lt;/p&gt;

&lt;p&gt;For this version, I used hosted Gemma inference. A future version could explore local inference for sellers who need greater control over their data.&lt;/p&gt;

&lt;p&gt;To me, open innovation means having more choices about how an AI product is built, customized, and operated.&lt;/p&gt;

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

&lt;p&gt;The project was developed and tested with an AI-assisted coding workflow in Google AI Studio.&lt;/p&gt;

&lt;p&gt;I used iterative prompts to build the application, integrate Gemma, and audit the connection between the frontend and backend. The audit also covered product-fact preservation, API error handling, copy actions, and mobile responsiveness.&lt;/p&gt;

&lt;p&gt;I did not save a shareable DevRelay session for this build, so I am not including a session link.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gemma — Best Use of Gemma:&lt;/strong&gt; DukaanDraft uses Gemma as its configured product-copy generation model.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Overall Hacktoberfest Open-Source AI Challenge:&lt;/strong&gt; A focused AI product designed around a real customer problem and a plausible path to monetization.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;The next step is to put DukaanDraft in front of real small-business owners and learn whether it genuinely saves them time.&lt;/p&gt;

&lt;p&gt;I'd especially like to test it with independent sellers who manage their own Instagram and WhatsApp catalogues. Their feedback will help determine which features are worth building next and whether a paid tier for generating listings in batches makes sense.&lt;/p&gt;

&lt;p&gt;Because a useful side hustle should start with a real problem, not just an interesting model.&lt;/p&gt;

&lt;p&gt;Thanks for checking out DukaanDraft! 💗&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>TouchGrass Quest Lab 🌿: Can Gemma Turn a Short Break Into an Outdoor Adventure?</title>
      <dc:creator>Tanisha</dc:creator>
      <pubDate>Sun, 11 Oct 2026 06:52:16 +0000</pubDate>
      <link>https://dev.to/tanisha_saxena_6ee4977663/touchgrass-quest-lab-can-gemma-turn-a-short-break-into-an-outdoor-adventure-3l23</link>
      <guid>https://dev.to/tanisha_saxena_6ee4977663/touchgrass-quest-lab-can-gemma-turn-a-short-break-into-an-outdoor-adventure-3l23</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;p&gt;What I Built&lt;/p&gt;

&lt;p&gt;What if we used AI to help us spend less time on our screens?&lt;/p&gt;

&lt;p&gt;For Hacktoberfest Week 1, I explored that idea through TouchGrass Quest Lab, a small experiment using Gemma to generate personalized outdoor quests.&lt;/p&gt;

&lt;p&gt;The idea is simple: tell the model how much time you have, what kind of activity interests you, and what environment you're in. It generates a short mission that encourages you to step outside and notice the world around you.&lt;/p&gt;

&lt;p&gt;Instead of suggesting another app to scroll through, the goal is to give you something to do that doesn't require looking at your phone.&lt;/p&gt;

&lt;p&gt;I explored three scenarios:&lt;/p&gt;

&lt;p&gt;The Concrete Jungle Safari: Observe tree branches, listen for natural sounds, and discover plants growing in unexpected places.&lt;/p&gt;

&lt;p&gt;The Urban Leaf Detective: Compare leaf shapes, observe climbing plants, and notice the colors of flowers.&lt;/p&gt;

&lt;p&gt;Garden Glimpse: Adapt plant-observation activities for someone with only five minutes and no desire to touch plants.&lt;/p&gt;

&lt;p&gt;The most interesting part was the last scenario. When I asked Gemma to revise an existing quest for a more restrictive setting, it changed the activities and explained why it had made those changes.&lt;/p&gt;

&lt;p&gt;This is currently a prompt-based experiment rather than a finished application. I wanted to investigate the model's ability to generate useful activities and respond to constraints before attempting a larger implementation.&lt;/p&gt;

&lt;p&gt;Demo&lt;/p&gt;

&lt;p&gt;The experiment was conducted using Gemma through Google AI Studio.&lt;/p&gt;

&lt;p&gt;Demo artifacts: I'll include screenshots of the original quests and the revised Garden Glimpse response to show the actual model outputs.&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%2Ffv1r6jjoc3uh97rnfru4.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%2Ffv1r6jjoc3uh97rnfru4.png" alt=" " width="800" height="377"&gt;&lt;/a&gt;&lt;br&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%2Fz51bzsg30jez3do0fr66.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%2Fz51bzsg30jez3do0fr66.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Code&lt;/p&gt;

&lt;p&gt;The experiment documentation, prompts, recorded outputs, and evaluation notes are available in my GitHub repository:&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/Tanishaaaaaaa" rel="noopener noreferrer"&gt;
        Tanishaaaaaaa
      &lt;/a&gt; / &lt;a href="https://github.com/Tanishaaaaaaa/touchgrass-quest-lab" rel="noopener noreferrer"&gt;
        touchgrass-quest-lab
      &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;TouchGrass Quest Lab 🌿&lt;/h1&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;A small prompt-based experiment with Gemma in Google AI Studio&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Hacktoberfest 2026 — Week 1 theme: “Touch Grass”&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;TouchGrass Quest Lab explores whether an open-weight language model can generate short, safe, phone-free outdoor activities and revise them when the user's constraints change.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Scope note:&lt;/strong&gt; This repository documents a manual experiment conducted through Gemma in Google AI Studio. It is not a standalone application, does not run inference locally, and does not claim offline operation. Check the challenge rules or ask the organizers whether a prompt-and-evaluation artifact meets the “build something” requirement before treating this as an eligible submission.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Research question&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Can Gemma generate practical outdoor quests and adapt them when time, environment, or activity constraints change?&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Setup and reproducibility&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Interface: Google AI Studio&lt;/li&gt;
&lt;li&gt;Model family: Gemma&lt;/li&gt;
&lt;li&gt;Inference: hosted through Google AI Studio&lt;/li&gt;
&lt;li&gt;Runtime, model version, generation settings, and date/time should be added by the author if…&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Tanishaaaaaaa/touchgrass-quest-lab" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;The repository documents the prompts used, the observed model responses, and the limitations identified during testing.&lt;/p&gt;

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

&lt;p&gt;I used Gemma through Google AI Studio and designed a series of structured prompts to explore three questions:&lt;/p&gt;

&lt;p&gt;Can the model generate concrete outdoor activities rather than generic wellness advice?&lt;/p&gt;

&lt;p&gt;Does it adapt its suggestions when the activity preference changes?&lt;/p&gt;

&lt;p&gt;Can it revise a quest when the available time and environment become more restrictive?&lt;/p&gt;

&lt;p&gt;Each prompt specified the activity preference, time available, setting, equipment constraints, and safety requirements.&lt;/p&gt;

&lt;p&gt;I then reviewed the responses qualitatively, looking at relevance, actionability, constraint adherence, safety, and whether the activities could be completed without using a phone.&lt;/p&gt;

&lt;p&gt;One limitation became clear: the model sometimes generated relevant activities without fully satisfying the request. For example, a gardening prompt produced plant-observation tasks rather than activities involving gardening itself. The revised five-minute quest also failed to explicitly repeat the time limit.&lt;/p&gt;

&lt;p&gt;These small mismatches were useful findings. They reinforced the importance of evaluating AI-generated outputs instead of assuming that a plausible answer is necessarily a correct one.&lt;/p&gt;

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

&lt;p&gt;I chose Gemma because open-weight models offer developers opportunities to experiment with model behavior and, depending on the model's license and deployment setup, choose how inference is run or adapt a model to a particular task.&lt;/p&gt;

&lt;p&gt;For a future version of TouchGrass Quest Lab, local inference could be interesting. It could potentially let users generate quests without sending their prompts to a remote inference service, and possibly support offline use once the required model and software are installed.&lt;/p&gt;

&lt;p&gt;However, this experiment used hosted inference through Google AI Studio. I haven't tested local execution, offline functionality, fine-tuning, or a comparison against a closed model.&lt;/p&gt;

&lt;p&gt;For me, open innovation matters because it makes those alternative approaches possible to explore. It also encourages developers to understand the trade-offs instead of treating an AI model as an opaque API.&lt;/p&gt;

&lt;p&gt;I see TouchGrass Quest Lab as an early experiment in that direction: a small idea, a real model, observable outputs, and clear limitations.&lt;/p&gt;

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

&lt;p&gt;I used Google AI Studio for the experiment. I haven't saved a DevRelay agent session for this work, so there isn't a session link to share.&lt;/p&gt;

&lt;p&gt;The prompts and recorded outputs are documented in the repository instead.&lt;/p&gt;

&lt;p&gt;Prize Categories&lt;/p&gt;

&lt;p&gt;Potential category: Gemma — Best Use of Gemma&lt;/p&gt;

&lt;p&gt;Gemma was the model used in this experiment. However, given that this is currently a prompt-based evaluation rather than a complete application, I would verify eligibility with the challenge organizers before claiming this as a qualifying partner-category entry.&lt;/p&gt;

&lt;p&gt;The goal of TouchGrass Quest Lab is straightforward: explore whether AI can help people spend a little less time on their phones and a little more time noticing what's around them.&lt;/p&gt;

&lt;p&gt;Sometimes, the best interaction with technology is the one that encourages you to put it away.&lt;/p&gt;

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

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>The Person Who Knows Where Everything Is — So I Built an AI That Can Hand It Over</title>
      <dc:creator>Tanisha</dc:creator>
      <pubDate>Fri, 02 Oct 2026 16:49:46 +0000</pubDate>
      <link>https://dev.to/tanisha_saxena_6ee4977663/the-person-who-knows-where-everything-is-so-i-built-an-ai-that-can-hand-it-over-1ig6</link>
      <guid>https://dev.to/tanisha_saxena_6ee4977663/the-person-who-knows-where-everything-is-so-i-built-an-ai-that-can-hand-it-over-1ig6</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;br&gt;
&lt;a href="![%20](https://dev-to-uploads.s3.us-east-2.amazonaws.com/uploads/articles/erelc7dwwnhuxn998nqe.png)"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;There is usually one person in every household or friend group who somehow knows everything.&lt;/p&gt;

&lt;p&gt;Not everything in a dramatic way.&lt;/p&gt;

&lt;p&gt;Just the oddly specific things everyone eventually asks them:&lt;/p&gt;

&lt;p&gt;“Where is the spare key?”&lt;/p&gt;

&lt;p&gt;“Who fixed the washing machine last time?”&lt;/p&gt;

&lt;p&gt;“What do I do when the Wi-Fi stops working?”&lt;/p&gt;

&lt;p&gt;“When is the purifier due for service?”&lt;/p&gt;

&lt;p&gt;“Which plumber should I call?”&lt;/p&gt;

&lt;p&gt;The problem is that this knowledge rarely lives in one place.&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%2Fbyvmt11xqts6hpkxqxub.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%2Fbyvmt11xqts6hpkxqxub.png" alt=" " width="800" height="346"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Some of it is in WhatsApp messages.&lt;br&gt;
Some is in screenshots.&lt;br&gt;
Some is buried in PDFs and receipts.&lt;br&gt;
Some exists as voice notes.&lt;br&gt;
And some of it only exists in that one person's memory.&lt;/p&gt;

&lt;p&gt;That person was the inspiration for &lt;strong&gt;RELAY&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;RELAY is a personal knowledge handoff system that turns scattered information into a &lt;strong&gt;temporary, evidence-backed handoff&lt;/strong&gt; that someone else can actually use.&lt;/p&gt;

&lt;p&gt;Instead of asking the person who "knows everything" to sit down and manually explain it all, RELAY reconstructs the important context and organizes it into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What you need to know&lt;/li&gt;
&lt;li&gt;Who you need to contact&lt;/li&gt;
&lt;li&gt;What needs attention&lt;/li&gt;
&lt;li&gt;What changed recently&lt;/li&gt;
&lt;li&gt;What is uncertain&lt;/li&gt;
&lt;li&gt;Where each important fact came from&lt;/li&gt;
&lt;/ul&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%2F2zwxqybe71oczniskj8f.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%2F2zwxqybe71oczniskj8f.png" alt=" " width="800" height="404"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The key design principle is simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;RELAY should never sound more certain than the evidence allows.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For example, if an old message contains a Wi-Fi password but a newer message says the password was changed, RELAY doesn't guess the new one.&lt;/p&gt;

&lt;p&gt;It says:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;I don't know the current Wi-Fi password.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;An older password exists, but a later source says it was changed. No replacement was found.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That behaviour is intentional.&lt;/p&gt;

&lt;p&gt;I wanted to build something that doesn't just &lt;em&gt;remember&lt;/em&gt; information, but understands when information is &lt;strong&gt;old, conflicting, or incomplete&lt;/strong&gt;.&lt;/p&gt;


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

&lt;p&gt;&lt;strong&gt;Demo Video:&lt;/strong&gt; &lt;a href="https://youtu.be/5DhEMq-5jpc" rel="noopener noreferrer"&gt;https://youtu.be/5DhEMq-5jpc&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The most important interaction is not the answer itself.&lt;/p&gt;

&lt;p&gt;It is being able to ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;“Why do you think that?”&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;and see the source that supports it.&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%2Fdsyj529l7sydgczf9u6g.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%2Fdsyj529l7sydgczf9u6g.png" alt=" " width="800" height="406"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://dev.tourl"&gt;https://github.com/Tanishaaaaaaa/relay-ai-handoff/tree/main&lt;/a&gt;
&lt;/h2&gt;
&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;The architecture is deliberately split into two parts:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;reconstruction&lt;/strong&gt; and &lt;strong&gt;handoff&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The first stage takes messy information and turns it into structured facts.&lt;/p&gt;

&lt;p&gt;The second stage decides what belongs in the actual handoff.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Messages / PDFs / Images / Voice Notes
                  ↓
             Ingestion
                  ↓
        Open-weight AI / extraction
                  ↓
          Structured facts
                  ↓
       ┌──────────┼──────────┐
       ↓          ↓          ↓
    Sources    Timeline    Relations
       └──────────┼──────────┘
                  ↓
       Conflict + freshness checks
                  ↓
         Evidence-backed state
                  ↓
            Handoff Builder
                  ↓
          Temporary handoff
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Open-source AI
&lt;/h3&gt;

&lt;p&gt;RELAY is designed around &lt;strong&gt;Gemma&lt;/strong&gt;, an open-weight model that can be run locally through &lt;strong&gt;Ollama&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The repository includes an Ollama adapter in:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;server/ollama.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The model is instructed to answer only from the supplied reconstructed context and to explicitly say when the available evidence is insufficient.&lt;/p&gt;

&lt;p&gt;The system can therefore work in two modes:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Demo/evidence-engine mode&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Useful for running the project immediately without requiring local model inference.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Local Gemma mode&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;/api/ask&lt;/code&gt; endpoint can route questions through a locally running Gemma model via Ollama.&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%2Fpgwyvy1fxhm8ssywhfwg.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%2Fpgwyvy1fxhm8ssywhfwg.png" alt=" " width="799" height="214"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User question
     ↓
RELAY API
     ↓
Local Gemma
     ↓
Evidence-grounded answer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The model is not treated as the permanent source of truth.&lt;/p&gt;

&lt;p&gt;Instead, the application keeps the evidence and provenance separate from the model layer.&lt;/p&gt;

&lt;p&gt;That makes the model replaceable and the reasoning workflow inspectable.&lt;/p&gt;

&lt;h3&gt;
  
  
  Backend
&lt;/h3&gt;

&lt;p&gt;The backend is a Node.js + Express API.&lt;/p&gt;

&lt;p&gt;It exposes endpoints including:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GET  /api/health
GET  /api/handoff
GET  /api/facts
GET  /api/conflicts
GET  /api/sources

POST /api/ask
POST /api/handoff/build
POST /api/ingest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Evidence and conflict handling
&lt;/h3&gt;

&lt;p&gt;One of the most important parts of RELAY is that facts carry context around them.&lt;/p&gt;

&lt;p&gt;A fact isn't just:&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;"value"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Suresh"&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;It also has information such as:&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;"value"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Suresh"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"source"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"maintenance-chat.txt"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"updated"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2026-09-02"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"confidence"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;0.89&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 lets RELAY surface situations like:&lt;/p&gt;

&lt;h3&gt;
  
  
  Plumber contact changed
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Older:&lt;/strong&gt; Rakesh&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Newer:&lt;/strong&gt; Suresh&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reason:&lt;/strong&gt; A newer message explicitly replaces the older contact.&lt;/p&gt;

&lt;p&gt;Or:&lt;/p&gt;

&lt;h3&gt;
  
  
  Wi-Fi password is stale
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Older password:&lt;/strong&gt; Found&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;New password:&lt;/strong&gt; Unknown&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reason:&lt;/strong&gt; A later message says the password changed, but the replacement was not found.&lt;/p&gt;

&lt;p&gt;That is much more useful than simply retrieving every matching message.&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%2Fwe1mbaj7gy8ebklwjjf4.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%2Fwe1mbaj7gy8ebklwjjf4.png" alt=" " width="800" height="405"&gt;&lt;/a&gt;&lt;/p&gt;




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

&lt;p&gt;The information RELAY is designed to work with can be extremely personal.&lt;/p&gt;

&lt;p&gt;It can include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;private conversations&lt;/li&gt;
&lt;li&gt;phone numbers&lt;/li&gt;
&lt;li&gt;receipts&lt;/li&gt;
&lt;li&gt;addresses&lt;/li&gt;
&lt;li&gt;photographs&lt;/li&gt;
&lt;li&gt;household routines&lt;/li&gt;
&lt;li&gt;personal notes&lt;/li&gt;
&lt;li&gt;voice recordings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I didn't want the product to require all of that information to be sent to a remote black-box AI service just to answer a simple question.&lt;/p&gt;

&lt;p&gt;Using an open-weight model gives me another option:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Run the intelligence closer to the data.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;With a local Gemma + Ollama setup, the model can run on the user's own machine.&lt;/p&gt;

&lt;p&gt;That matters for this project for three reasons.&lt;/p&gt;

&lt;h3&gt;
  
  
  Privacy
&lt;/h3&gt;

&lt;p&gt;Sensitive personal information can stay local.&lt;/p&gt;

&lt;h3&gt;
  
  
  Control
&lt;/h3&gt;

&lt;p&gt;The model can be swapped, tested, evaluated, or replaced without redesigning the whole application.&lt;/p&gt;

&lt;h3&gt;
  
  
  Transparency
&lt;/h3&gt;

&lt;p&gt;The AI layer doesn't have to be the only place where reasoning happens. RELAY can keep evidence, source provenance, and conflict information as first-class parts of the system.&lt;/p&gt;

&lt;p&gt;For this particular problem, open AI isn't just a checkbox.&lt;/p&gt;

&lt;p&gt;The privacy requirement is part of the product itself.&lt;/p&gt;




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

&lt;p&gt;&lt;strong&gt;Best Use of Gemma&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;RELAY is designed around Gemma as the open-weight model layer, with local inference supported through Ollama.&lt;/p&gt;




&lt;p&gt;The idea behind RELAY started with something very ordinary:&lt;/p&gt;

&lt;p&gt;There is always someone everyone depends on because they remember the little things.&lt;/p&gt;

&lt;p&gt;The goal wasn't to make that person remember more.&lt;/p&gt;

&lt;p&gt;It was to make it easier for them to &lt;strong&gt;hand over what they already know&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And maybe that is a better way to think about AI memory:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Not keeping everything forever.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Keeping the right context until somebody else can carry it.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  devchallenge #weekendchallenge #hf26challenge #hacktoberfest #opensource #ai #gemma #ollama
&lt;/h1&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title># 🛰️ Problem Radar – Transforming Frustrations into Startups</title>
      <dc:creator>Tanisha</dc:creator>
      <pubDate>Wed, 25 Mar 2026 16:26:05 +0000</pubDate>
      <link>https://dev.to/tanisha_saxena_6ee4977663/-problem-radar-transforming-frustrations-into-startups-59i2</link>
      <guid>https://dev.to/tanisha_saxena_6ee4977663/-problem-radar-transforming-frustrations-into-startups-59i2</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/notion-2026-03-04"&gt;Notion MCP Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




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

&lt;p&gt;&lt;strong&gt;Problem Radar&lt;/strong&gt; is an innovation engine that converts everyday frustrations into startup-ready ideas in seconds.&lt;/p&gt;

&lt;p&gt;Instead of just brainstorming, it &lt;strong&gt;validates, structures, and prepares your idea for execution&lt;/strong&gt;—all while syncing everything seamlessly into Notion.&lt;/p&gt;

&lt;p&gt;Think of it as your &lt;strong&gt;personal hackathon co-founder&lt;/strong&gt; that never sleeps ⚡&lt;/p&gt;

&lt;h3&gt;
  
  
  💡 What makes it special?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Turns vague problems into &lt;strong&gt;clear startup concepts&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Generates &lt;strong&gt;technical + business insights instantly&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Provides a &lt;strong&gt;ready-to-execute roadmap&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Syncs everything into a &lt;strong&gt;beautiful, structured Notion workspace&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💻 Show us the code
&lt;/h2&gt;

&lt;p&gt;🔗 GitHub Repo:&lt;br&gt;
&lt;a href="https://github.com/Tanishaaaaaaa/problem-radar-ai" rel="noopener noreferrer"&gt;https://github.com/Tanishaaaaaaa/problem-radar-ai&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  🧠 How I Used Notion MCP
&lt;/h2&gt;

&lt;p&gt;Notion MCP is the &lt;strong&gt;core superpower&lt;/strong&gt; of Problem Radar.&lt;/p&gt;
&lt;h3&gt;
  
  
  🔗 Seamless Auto-Sync
&lt;/h3&gt;

&lt;p&gt;Every generated idea is instantly pushed to Notion using the Notion SDK. No manual effort. No copy-paste.&lt;/p&gt;
&lt;h3&gt;
  
  
  📄 Smart Page Generation
&lt;/h3&gt;

&lt;p&gt;Each project automatically creates a structured Notion page with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Problem Statement&lt;/li&gt;
&lt;li&gt;Solution Idea&lt;/li&gt;
&lt;li&gt;Target Users&lt;/li&gt;
&lt;li&gt;Tech Stack&lt;/li&gt;
&lt;li&gt;Elevator Pitch&lt;/li&gt;
&lt;li&gt;Market Viability Score&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  📊 Execution-Ready Workflow
&lt;/h3&gt;

&lt;p&gt;Problem Radar doesn’t stop at ideation. It creates a &lt;strong&gt;Sprint 1 Kanban board&lt;/strong&gt; directly inside Notion, giving users an immediate development roadmap.&lt;/p&gt;
&lt;h3&gt;
  
  
  ⚡ What this unlocks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Turns Notion into a &lt;strong&gt;live startup builder&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Bridges &lt;strong&gt;idea → validation → execution&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Eliminates friction between thinking and building&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  📡 Key Features
&lt;/h2&gt;
&lt;h3&gt;
  
  
  🛰️ Radar Visualization
&lt;/h3&gt;

&lt;p&gt;A real-time animated interface that simulates scanning for opportunities—bringing the entire concept to life.&lt;/p&gt;
&lt;h3&gt;
  
  
  🧠 Intelligent Hackathon Engine
&lt;/h3&gt;

&lt;p&gt;Generates:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Startup names&lt;/li&gt;
&lt;li&gt;Problem &amp;amp; solution breakdown&lt;/li&gt;
&lt;li&gt;Target audience&lt;/li&gt;
&lt;li&gt;Tech stack&lt;/li&gt;
&lt;li&gt;Elevator pitch&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All powered by a &lt;strong&gt;fast, local logic engine (no AI dependency)&lt;/strong&gt; for speed and privacy.&lt;/p&gt;
&lt;h3&gt;
  
  
  📈 Execution &amp;amp; Viability Dashboard
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Market Viability Score&lt;/li&gt;
&lt;li&gt;Monetization strategies&lt;/li&gt;
&lt;li&gt;Team composition suggestions&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  📋 Notion Superpower
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Auto-generated project pages&lt;/li&gt;
&lt;li&gt;Pre-filled structured content&lt;/li&gt;
&lt;li&gt;Built-in Kanban board&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  🛠️ Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; Next.js (App Router), React, Tailwind CSS&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Styling:&lt;/strong&gt; Glassmorphism + custom animations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Next.js Edge API Routes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integration:&lt;/strong&gt; Notion SDK (@notionhq/client)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Core Engine:&lt;/strong&gt; Local logic-based system&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  ⚙️ Setup &amp;amp; Installation
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/Tanishaaaaaaa/NotionAIChallenge.git
&lt;span class="nb"&gt;cd &lt;/span&gt;NotionAIChallenge
npm &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Create &lt;code&gt;.env.local&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NOTION_API_KEY=your_notion_token
NOTION_DATABASE_ID=your_database_id
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run the app:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🏆 Why This Could Win
&lt;/h2&gt;

&lt;p&gt;Problem Radar is not just a project—it’s a &lt;strong&gt;startup-generation system&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It combines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;⚡ Speed (instant idea generation)&lt;/li&gt;
&lt;li&gt;📊 Structure (execution-ready outputs)&lt;/li&gt;
&lt;li&gt;🧠 Intelligence (deep analysis engine)&lt;/li&gt;
&lt;li&gt;🔗 Integration (Notion as a command center)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 The result:&lt;br&gt;
A tool that doesn’t just inspire ideas—it &lt;strong&gt;builds them into reality&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 Final Thought
&lt;/h2&gt;

&lt;p&gt;Most people have ideas.&lt;br&gt;
Very few know how to execute them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Problem Radar bridges that gap.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>notionchallenge</category>
      <category>mcp</category>
      <category>ai</category>
    </item>
    <item>
      <title># 🛰️ I Built an App That Turns Daily Frustrations Into Hackathon Ideas (and It Might Replace Brainstorming 👀)</title>
      <dc:creator>Tanisha</dc:creator>
      <pubDate>Fri, 20 Mar 2026 18:23:46 +0000</pubDate>
      <link>https://dev.to/tanisha_saxena_6ee4977663/-i-built-an-app-that-turns-daily-frustrations-into-hackathon-ideas-and-it-might-replace-4lai</link>
      <guid>https://dev.to/tanisha_saxena_6ee4977663/-i-built-an-app-that-turns-daily-frustrations-into-hackathon-ideas-and-it-might-replace-4lai</guid>
      <description>&lt;p&gt;You know that moment in every hackathon where your team just sits there like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“So… what should we build?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Yeah. That.&lt;/p&gt;

&lt;p&gt;I got tired of it.&lt;/p&gt;

&lt;p&gt;So I built something to fix it.&lt;/p&gt;




&lt;h1&gt;
  
  
  🚀 Meet: Problem Radar
&lt;/h1&gt;

&lt;p&gt;An app that takes your everyday frustrations and turns them into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💡 A startup idea&lt;/li&gt;
&lt;li&gt;🛠️ A tech stack&lt;/li&gt;
&lt;li&gt;🎯 Target users&lt;/li&gt;
&lt;li&gt;🎤 A pitch&lt;/li&gt;
&lt;li&gt;📋 And even a build plan&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All in seconds.&lt;/p&gt;




&lt;h1&gt;
  
  
  🧠 The Idea
&lt;/h1&gt;

&lt;p&gt;Every day, we complain about things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Parking in cities is impossible”&lt;/li&gt;
&lt;li&gt;“Food delivery takes forever”&lt;/li&gt;
&lt;li&gt;“Attendance systems are outdated”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Hidden inside those complaints are &lt;strong&gt;startup ideas&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Problem Radar just… extracts them.&lt;/p&gt;




&lt;h1&gt;
  
  
  ⚙️ How It Works
&lt;/h1&gt;

&lt;p&gt;You type something like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Finding parking in Bangalore is impossible
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;And the app generates:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Problem Statement&lt;/li&gt;
&lt;li&gt;Target Users&lt;/li&gt;
&lt;li&gt;Severity Score&lt;/li&gt;
&lt;li&gt;Solution Idea&lt;/li&gt;
&lt;li&gt;Tech Stack&lt;/li&gt;
&lt;li&gt;Elevator Pitch&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then…&lt;/p&gt;

&lt;p&gt;👉 It auto-saves everything into Notion as a &lt;strong&gt;ready-to-build project&lt;/strong&gt;&lt;/p&gt;


&lt;h1&gt;
  
  
  🔥 The Cool Part (Notion Integration)
&lt;/h1&gt;

&lt;p&gt;This is where it gets interesting.&lt;/p&gt;

&lt;p&gt;Instead of just showing output, the app:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creates a structured page in Notion&lt;/li&gt;
&lt;li&gt;Adds problem + solution&lt;/li&gt;
&lt;li&gt;Suggests tech stack&lt;/li&gt;
&lt;li&gt;Generates a Sprint 1 plan&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So your idea doesn’t just sit there…&lt;/p&gt;

&lt;p&gt;👉 It becomes something you can actually start building immediately&lt;/p&gt;


&lt;h1&gt;
  
  
  🧩 Features That I’m Proud Of
&lt;/h1&gt;
&lt;h2&gt;
  
  
  📡 Radar Visualization
&lt;/h2&gt;

&lt;p&gt;A live “problem radar” UI that makes the whole experience feel like you're scanning for opportunities.&lt;/p&gt;
&lt;h2&gt;
  
  
  🧠 Logic-Based Engine (No AI API)
&lt;/h2&gt;

&lt;p&gt;Instead of relying on external AI APIs, I built a local logic engine that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;detects users&lt;/li&gt;
&lt;li&gt;estimates severity&lt;/li&gt;
&lt;li&gt;suggests solutions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Faster, cheaper, and works offline.&lt;/p&gt;
&lt;h2&gt;
  
  
  📈 Viability Dashboard
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Market score&lt;/li&gt;
&lt;li&gt;Monetization ideas&lt;/li&gt;
&lt;li&gt;Team suggestions&lt;/li&gt;
&lt;/ul&gt;


&lt;h1&gt;
  
  
  🛠️ Tech Stack
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Next.js (App Router)&lt;/li&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;Tailwind CSS&lt;/li&gt;
&lt;li&gt;Notion SDK&lt;/li&gt;
&lt;li&gt;Custom logic engine&lt;/li&gt;
&lt;/ul&gt;


&lt;h1&gt;
  
  
  🤯 Why This Matters
&lt;/h1&gt;

&lt;p&gt;Most tools help you build faster.&lt;/p&gt;

&lt;p&gt;This helps you decide:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;what is worth building in the first place&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;


&lt;h1&gt;
  
  
  🏆 Built for the Notion x MLH Challenge
&lt;/h1&gt;

&lt;p&gt;The goal was to create a system where:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;AI (or logic) + Notion = superpowers&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So I turned Notion into:&lt;br&gt;
👉 a live database of real-world problems + solutions&lt;/p&gt;


&lt;h1&gt;
  
  
  👀 What’s Next?
&lt;/h1&gt;

&lt;p&gt;I’m thinking of adding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time problem scraping (Reddit, reviews, etc.)&lt;/li&gt;
&lt;li&gt;Team collaboration&lt;/li&gt;
&lt;li&gt;“Trending problems” feed&lt;/li&gt;
&lt;/ul&gt;


&lt;h1&gt;
  
  
  💬 Question for you
&lt;/h1&gt;

&lt;p&gt;If this existed…&lt;/p&gt;

&lt;p&gt;👉 Would you use it before your next hackathon?&lt;/p&gt;


&lt;h1&gt;
  
  
  🔗 GitHub Repo
&lt;/h1&gt;

&lt;p&gt;

&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/Tanishaaaaaaa" rel="noopener noreferrer"&gt;
        Tanishaaaaaaa
      &lt;/a&gt; / &lt;a href="https://github.com/Tanishaaaaaaa/NotionAIChallenge" rel="noopener noreferrer"&gt;
        NotionAIChallenge
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      I built a system where Notion becomes your problem-solving brain, and AI continuously feeds it with real-world opportunities.
    &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;🛰️ Problem Radar - Transforming Frustrations into Startups&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Problem Radar&lt;/strong&gt; is a powerful innovation engine designed to bridge the gap between real-world pain points and actionable technical solutions. It empowers hackers and entrepreneurs to instantly validate ideas, draft technical specifications, and generate a clear roadmap for execution—all within a seamless, premium interface synced directly to Notion.&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🚀 Key Features&lt;/h2&gt;
&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;📡 The Radar Visualization&lt;/h3&gt;
&lt;/div&gt;

&lt;p&gt;A high-impact, real-time animation that brings the "Problem Radar" concept to life. It serves as your digital sentinel, constantly scanning for opportunities in every frustration.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;🧠 Intelligent Hackathon Engine&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;Built with a sophisticated local logic engine, Problem Radar performs deep analysis on your inputs to generate:&lt;/p&gt;


&lt;ul&gt;

&lt;li&gt;

&lt;strong&gt;Dynamic Startup Titles&lt;/strong&gt;: Unique, catchy branding for your project.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Problem &amp;amp; Solution Synthesis&lt;/strong&gt;: Clearly defined problem statements and action-driven solutions.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Target Audience Identification&lt;/strong&gt;: Precision mapping of who your solution serves.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Tech Stack Recommendations&lt;/strong&gt;: Tailored technology profiles optimized…&lt;/li&gt;

&lt;/ul&gt;&lt;/div&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Tanishaaaaaaa/NotionAIChallenge" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;








&lt;p&gt;If you made it this far — thanks 🙌&lt;br&gt;
Would love feedback from fellow builders!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>discuss</category>
      <category>notionchallenge</category>
    </item>
    <item>
      <title># 🤖 I Asked AI to Plan My Day… It Immediately Judged My Life</title>
      <dc:creator>Tanisha</dc:creator>
      <pubDate>Tue, 17 Mar 2026 16:13:50 +0000</pubDate>
      <link>https://dev.to/tanisha_saxena_6ee4977663/-i-asked-ai-to-plan-my-day-it-immediately-judged-my-life-3hmb</link>
      <guid>https://dev.to/tanisha_saxena_6ee4977663/-i-asked-ai-to-plan-my-day-it-immediately-judged-my-life-3hmb</guid>
      <description>&lt;p&gt;Artificial Intelligence is supposed to make our lives more productive.&lt;/p&gt;

&lt;p&gt;So naturally, I thought:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“What if AI planned my entire day?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Big mistake.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 Step 1: The Plan
&lt;/h2&gt;

&lt;p&gt;I asked the AI assistant:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Create a productive schedule for my day.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It responded instantly with something terrifyingly organized.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;6:00 AM — Wake up  
6:15 AM — Meditation  
6:45 AM — Exercise  
7:30 AM — Healthy breakfast  
8:00 AM — Deep focused work
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Meanwhile my real schedule looked like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;8:47 AM — Wake up in confusion  
8:49 AM — Check phone  
9:20 AM — Still checking phone  
9:45 AM — Panic about productivity
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We were already off to a great start.&lt;/p&gt;




&lt;h2&gt;
  
  
  ☕ Step 2: AI Suggests “Healthy Habits”
&lt;/h2&gt;

&lt;p&gt;AI suggested I drink &lt;strong&gt;lemon water&lt;/strong&gt; in the morning.&lt;/p&gt;

&lt;p&gt;I drank coffee instead.&lt;/p&gt;

&lt;p&gt;Three cups.&lt;/p&gt;

&lt;p&gt;The AI did not include &lt;strong&gt;“existential caffeine dependency”&lt;/strong&gt; in its plan.&lt;/p&gt;

&lt;p&gt;Missed opportunity.&lt;/p&gt;




&lt;h2&gt;
  
  
  📅 Step 3: “Deep Work Session”
&lt;/h2&gt;

&lt;p&gt;According to the schedule:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;8:00–11:00 AM: Deep work.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Reality:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;8:03 — open laptop  
8:04 — check email  
8:09 — check news  
8:13 — check messages  
8:21 — watch one YouTube video
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The YouTube video was titled:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“How to stop procrastinating.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I watched three.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧘 Step 4: AI Recommended Mindfulness
&lt;/h2&gt;

&lt;p&gt;The AI suggested a &lt;strong&gt;10-minute meditation break&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead I did a &lt;strong&gt;10-minute staring-at-the-screen break&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Technically still mindfulness.&lt;/p&gt;

&lt;p&gt;Just… aggressive mindfulness.&lt;/p&gt;




&lt;h2&gt;
  
  
  🍎 Step 5: Healthy Lunch
&lt;/h2&gt;

&lt;p&gt;The AI recommended:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Balanced nutrition with vegetables and lean protein.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I ordered food.&lt;/p&gt;

&lt;p&gt;The delivery app described it as:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Chef’s special comfort meal.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Which roughly translates to:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Calories with extra calories.”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🧠 Step 6: Evening Reflection
&lt;/h2&gt;

&lt;p&gt;The AI suggested ending the day by reflecting on accomplishments.&lt;/p&gt;

&lt;p&gt;So I asked myself:&lt;/p&gt;

&lt;p&gt;What did I achieve today?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;answered two emails&lt;/li&gt;
&lt;li&gt;opened 17 browser tabs&lt;/li&gt;
&lt;li&gt;learned absolutely nothing useful on the internet&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Progress.&lt;/p&gt;




&lt;h2&gt;
  
  
  🤖 What AI Taught Me About Productivity
&lt;/h2&gt;

&lt;p&gt;After one day of following an AI schedule, I learned something important.&lt;/p&gt;

&lt;p&gt;AI assumes humans behave like &lt;strong&gt;perfectly optimized machines&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;But humans are more like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;80% chaos
10% coffee
10% actually doing things
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And somehow…&lt;/p&gt;

&lt;p&gt;it still works.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thought
&lt;/h2&gt;

&lt;p&gt;AI might help us organize our lives.&lt;/p&gt;

&lt;p&gt;But until AI can handle:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;procrastination&lt;/li&gt;
&lt;li&gt;random curiosity&lt;/li&gt;
&lt;li&gt;and late-night snack decisions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Human productivity will remain beautifully unpredictable.&lt;/p&gt;




&lt;p&gt;❤️ If your daily routine also looks nothing like your productivity plan… you’re not alone.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>jokes</category>
      <category>techtalks</category>
    </item>
    <item>
      <title># When Our AI Flood Prediction System Broke Because of Bad Data — and How We Fixed It 🌧️🛡️</title>
      <dc:creator>Tanisha</dc:creator>
      <pubDate>Thu, 12 Mar 2026 13:57:32 +0000</pubDate>
      <link>https://dev.to/tanisha_saxena_6ee4977663/-when-our-ai-flood-prediction-system-broke-because-of-bad-data-and-how-we-fixed-it-30on</link>
      <guid>https://dev.to/tanisha_saxena_6ee4977663/-when-our-ai-flood-prediction-system-broke-because-of-bad-data-and-how-we-fixed-it-30on</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/wecoded-2026"&gt;2026 WeCoded Challenge&lt;/a&gt;: Echoes of Experience&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Moment Everything Broke
&lt;/h2&gt;

&lt;p&gt;It was the middle of a hackathon.&lt;/p&gt;

&lt;p&gt;Our AI model was ready.&lt;br&gt;
The dashboard looked beautiful.&lt;br&gt;
The architecture was solid.&lt;/p&gt;

&lt;p&gt;But our system &lt;strong&gt;had one fatal flaw&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It had &lt;strong&gt;no reliable data&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And without data, our flood prediction platform was useless.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Idea: Build an AI Guardian for Floods
&lt;/h2&gt;

&lt;p&gt;Our team built &lt;strong&gt;StormShield AI&lt;/strong&gt;, a real-time flood prediction and civic alert platform designed for Montgomery, Alabama.&lt;/p&gt;

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

&lt;blockquote&gt;
&lt;p&gt;Predict flood risks before they happen and alert citizens early.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The system combined:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time environmental data&lt;/li&gt;
&lt;li&gt;Machine learning forecasting&lt;/li&gt;
&lt;li&gt;Generative AI alerts&lt;/li&gt;
&lt;li&gt;An interactive dashboard&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In theory, it was powerful.&lt;/p&gt;

&lt;p&gt;But in practice, something kept breaking.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Hidden Enemy of AI Projects
&lt;/h2&gt;

&lt;p&gt;People think building AI systems is about models.&lt;/p&gt;

&lt;p&gt;But the real challenge is something else:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data pipelines.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;StormShield depended on several live data sources:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;USGS stream gauge data&lt;/li&gt;
&lt;li&gt;NOAA weather alerts&lt;/li&gt;
&lt;li&gt;Additional environmental signals&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some sources had APIs.&lt;/p&gt;

&lt;p&gt;Others didn’t.&lt;/p&gt;

&lt;p&gt;For those missing APIs, we turned to &lt;strong&gt;Bright Data web scraping&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That’s when the real problems began.&lt;/p&gt;




&lt;h2&gt;
  
  
  When Scraping Started Failing
&lt;/h2&gt;

&lt;p&gt;The Bright Data scraping pipeline started behaving unpredictably.&lt;/p&gt;

&lt;p&gt;We ran into multiple issues:&lt;/p&gt;

&lt;p&gt;• Dynamic websites loading content with JavaScript&lt;br&gt;
• Inconsistent HTML structures&lt;br&gt;
• Rate limiting during scraping&lt;br&gt;
• Partial or delayed responses&lt;/p&gt;

&lt;p&gt;The result?&lt;/p&gt;

&lt;p&gt;Our real-time dashboard would randomly stop updating.&lt;/p&gt;

&lt;p&gt;Which meant our &lt;strong&gt;prediction engine stopped working too&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Turning Point: Rethinking the Architecture
&lt;/h2&gt;

&lt;p&gt;Instead of forcing scraping to work perfectly, we redesigned the pipeline.&lt;/p&gt;

&lt;p&gt;We switched to a &lt;strong&gt;hybrid ingestion system&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Priority 1: Official APIs
&lt;/h3&gt;

&lt;p&gt;We prioritized structured data from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;USGS Water Services API&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NOAA/NWS Alerts&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These became the backbone of our data pipeline.&lt;/p&gt;




&lt;h3&gt;
  
  
  Priority 2: Scraping as a Backup
&lt;/h3&gt;

&lt;p&gt;Bright Data scraping became a &lt;strong&gt;fallback enrichment layer&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This meant scraping failures &lt;strong&gt;no longer broke the system&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  Priority 3: Background Data Scheduler
&lt;/h3&gt;

&lt;p&gt;We implemented &lt;strong&gt;APScheduler jobs&lt;/strong&gt; that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;continuously poll data&lt;/li&gt;
&lt;li&gt;cache responses&lt;/li&gt;
&lt;li&gt;smooth noisy readings&lt;/li&gt;
&lt;li&gt;retry failures&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This made our system &lt;strong&gt;fault tolerant&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Moment the Dashboard Came Alive
&lt;/h2&gt;

&lt;p&gt;After hours of debugging…&lt;/p&gt;

&lt;p&gt;The dashboard suddenly updated.&lt;/p&gt;

&lt;p&gt;Live water levels appeared.&lt;/p&gt;

&lt;p&gt;Prediction graphs began moving.&lt;/p&gt;

&lt;p&gt;Alert statuses started changing dynamically.&lt;/p&gt;

&lt;p&gt;Our system was finally working &lt;strong&gt;end-to-end&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That moment felt like magic.&lt;/p&gt;




&lt;h1&gt;
  
  
  What We Built: StormShield AI 🛡️
&lt;/h1&gt;

&lt;p&gt;StormShield AI is a &lt;strong&gt;real-time flood prediction and civic alert system&lt;/strong&gt; designed to help communities respond to dangerous weather events faster.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Capabilities
&lt;/h3&gt;

&lt;p&gt;🌊 &lt;strong&gt;Real-Time Data Ingestion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Streams water-level telemetry from USGS gauges.&lt;/p&gt;




&lt;p&gt;📈 &lt;strong&gt;Flood Prediction Engine&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;An &lt;strong&gt;XGBoost model&lt;/strong&gt; predicts water levels &lt;strong&gt;30 minutes ahead (T+30)&lt;/strong&gt;.&lt;/p&gt;




&lt;p&gt;🚨 &lt;strong&gt;Smart Alert System&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;Trigger&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;🟢 GREEN&lt;/td&gt;
&lt;td&gt;Normal conditions&lt;/td&gt;
&lt;td&gt;Safe&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🟡 YELLOW&lt;/td&gt;
&lt;td&gt;Rapid rise detected&lt;/td&gt;
&lt;td&gt;Prepare&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🔴 RED&lt;/td&gt;
&lt;td&gt;Flood stage predicted&lt;/td&gt;
&lt;td&gt;Take action&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;p&gt;🤖 &lt;strong&gt;Generative AI Alerts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Using &lt;strong&gt;Gemini 2.0 Flash&lt;/strong&gt;, StormShield generates clear public safety messages that avoid panic but encourage action.&lt;/p&gt;




&lt;p&gt;🗺️ &lt;strong&gt;Interactive Dashboard&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Built using &lt;strong&gt;Streamlit&lt;/strong&gt;, featuring:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;live telemetry&lt;/li&gt;
&lt;li&gt;predictive charts&lt;/li&gt;
&lt;li&gt;flood zone maps&lt;/li&gt;
&lt;li&gt;AI Q&amp;amp;A assistant&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  Tech Stack
&lt;/h1&gt;

&lt;h3&gt;
  
  
  Backend
&lt;/h3&gt;

&lt;p&gt;Python&lt;br&gt;
FastAPI&lt;br&gt;
APScheduler&lt;br&gt;
Uvicorn&lt;/p&gt;

&lt;h3&gt;
  
  
  Frontend
&lt;/h3&gt;

&lt;p&gt;Streamlit&lt;br&gt;
Plotly&lt;br&gt;
Folium Maps&lt;/p&gt;

&lt;h3&gt;
  
  
  AI / ML
&lt;/h3&gt;

&lt;p&gt;XGBoost forecasting&lt;br&gt;
Gemini 2.0 Flash (alerts + RAG assistant)&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Sources
&lt;/h3&gt;

&lt;p&gt;USGS Water Services API&lt;br&gt;
NOAA / NWS Alerts&lt;br&gt;
Bright Data scraping&lt;/p&gt;




&lt;h2&gt;
  
  
  The Biggest Lesson I Learned
&lt;/h2&gt;

&lt;p&gt;Before this project, I thought the hardest part of AI engineering was training models.&lt;/p&gt;

&lt;p&gt;Now I know the truth.&lt;/p&gt;

&lt;p&gt;The hardest part is &lt;strong&gt;getting reliable data into the system&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Building StormShield forced us to rethink architecture, redesign pipelines, and adapt under pressure.&lt;/p&gt;

&lt;p&gt;And that’s the real engineering skill:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;resilience when things break.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Experiences Like This Matter
&lt;/h2&gt;

&lt;p&gt;Tech often looks polished from the outside.&lt;/p&gt;

&lt;p&gt;But behind every working system are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;broken pipelines&lt;/li&gt;
&lt;li&gt;failed experiments&lt;/li&gt;
&lt;li&gt;late-night debugging sessions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;StormShield AI reminded me that innovation doesn’t come from perfect plans.&lt;/p&gt;

&lt;p&gt;It comes from &lt;strong&gt;figuring things out when nothing works at first&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Project Links
&lt;/h2&gt;

&lt;p&gt;GitHub&lt;br&gt;
[&lt;a href="https://github.com/Tanishaaaaaaa/StormShield" rel="noopener noreferrer"&gt;https://github.com/Tanishaaaaaaa/StormShield&lt;/a&gt;]&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;As a woman in tech, participating in hackathons like this reminds me that innovation often comes from diverse perspectives and collaborative problem solving.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>devchallenge</category>
      <category>wecoded</category>
      <category>dei</category>
      <category>career</category>
    </item>
    <item>
      <title>🛡️ We Built an AI Flood Guardian in a Hackathon — Meet StormShield AI</title>
      <dc:creator>Tanisha</dc:creator>
      <pubDate>Thu, 12 Mar 2026 13:06:39 +0000</pubDate>
      <link>https://dev.to/tanisha_saxena_6ee4977663/we-built-an-ai-flood-guardian-in-a-hackathon-meet-stormshield-ai-4g1k</link>
      <guid>https://dev.to/tanisha_saxena_6ee4977663/we-built-an-ai-flood-guardian-in-a-hackathon-meet-stormshield-ai-4g1k</guid>
      <description>&lt;p&gt;🌧️⚡&lt;br&gt;
Hackathons are chaotic.&lt;br&gt;
You start with coffee ☕&lt;br&gt;
You end with questionable sleep decisions, rapid-fire Git commits, and a lot of “wait… does this even run?” moments.&lt;br&gt;
But sometimes something really cool comes out of that chaos.&lt;br&gt;
For the World Wide Vibes Hackathon, our team OmniShield decided to build something that could actually help people during extreme weather events.&lt;br&gt;
So we built:&lt;br&gt;
🛡️ StormShield AI — a real-time flood prediction and civic alert system&lt;br&gt;
A system that monitors water levels, predicts floods, and alerts citizens before things get dangerous.&lt;br&gt;
And yes… we built it during a hackathon.&lt;/p&gt;

&lt;p&gt;🌍 Live Demo&lt;br&gt;
You can try the project here:&lt;br&gt;
🚀 Live App (Render Deployment)&lt;br&gt;
👉 &lt;a href="https://stormshieldai-montgomery.streamlit.app/" rel="noopener noreferrer"&gt;https://stormshieldai-montgomery.streamlit.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🎥 Demo Video&lt;br&gt;
We also recorded a walkthrough showing the system in action.&lt;br&gt;
🎬 Watch the demo&lt;/p&gt;

&lt;p&gt;Or watch directly here:&lt;br&gt;
👉 &lt;a href="https://www.youtube.com/watch?v=La_nr6mdPw0" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=La_nr6mdPw0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🌊 The Problem&lt;br&gt;
Flooding is one of the most common natural disasters worldwide.&lt;br&gt;
The problem isn’t just detecting floods — it’s detecting them early enough to act.&lt;br&gt;
Most traditional systems:&lt;br&gt;
rely on static thresholds&lt;/p&gt;

&lt;p&gt;provide delayed alerts&lt;/p&gt;

&lt;p&gt;don’t explain what people should actually do&lt;/p&gt;

&lt;p&gt;We wanted to build something smarter:&lt;br&gt;
⚡ Real-time monitoring&lt;br&gt;
🤖 AI-powered predictions&lt;br&gt;
📢 clear public alerts&lt;/p&gt;

&lt;p&gt;🛡️ Enter StormShield AI&lt;br&gt;
StormShield acts like a digital guardian for the city.&lt;br&gt;
It continuously monitors environmental data, predicts what might happen next, and informs citizens before flood conditions escalate.&lt;br&gt;
Think of it as:&lt;br&gt;
🚨 An AI-powered early warning system for floods&lt;br&gt;
Built for Montgomery, Alabama.&lt;/p&gt;

&lt;p&gt;🌟 Key Features&lt;br&gt;
🌍 Real-Time Data Ingestion&lt;br&gt;
StormShield constantly collects live environmental data from:&lt;br&gt;
🌊 USGS stream gauge data&lt;/p&gt;

&lt;p&gt;⛈ NOAA / NWS weather alerts&lt;/p&gt;

&lt;p&gt;🌦 local weather telemetry&lt;/p&gt;

&lt;p&gt;This keeps the system aware of changing flood conditions in real time.&lt;/p&gt;

&lt;p&gt;🤖 Predictive Flood Forecasting&lt;br&gt;
We trained a machine learning model using XGBoost on historical water-level data.&lt;br&gt;
The model predicts:&lt;br&gt;
🌊 water levels 30 minutes into the future (T+30)&lt;br&gt;
That short prediction window can provide critical early warning time.&lt;/p&gt;

&lt;p&gt;🚨 Smart Alerting Engine&lt;br&gt;
StormShield automatically categorizes risk levels:&lt;br&gt;
Status&lt;br&gt;
Condition&lt;br&gt;
Meaning&lt;br&gt;
🟢 GREEN&lt;br&gt;
Normal water level&lt;br&gt;
Safe conditions&lt;br&gt;
🟡 YELLOW&lt;br&gt;
Rapid water rise&lt;br&gt;
Prepare / caution&lt;br&gt;
🔴 RED&lt;br&gt;
Predicted flood stage&lt;br&gt;
Immediate action&lt;/p&gt;

&lt;p&gt;The system also monitors rate-of-rise, one of the earliest indicators of flash flooding.&lt;/p&gt;

&lt;p&gt;✨ Generative AI Alerts (Gemini 2.0 Flash)&lt;br&gt;
Raw flood data isn’t helpful for most people.&lt;br&gt;
So we integrated Gemini 2.0 Flash to generate clear, calm public alerts.&lt;br&gt;
Instead of confusing telemetry, people receive messages like:&lt;br&gt;
“Water levels are rising rapidly near Sligo Creek. Residents should avoid low-lying roads and prepare for possible evacuation guidance.”&lt;br&gt;
Helpful. Clear. Not panic-inducing.&lt;/p&gt;

&lt;p&gt;💬 Ask StormShield AI&lt;br&gt;
We also built a RAG-powered AI assistant.&lt;br&gt;
Citizens can ask questions like:&lt;br&gt;
“Is my neighborhood at risk?”&lt;/p&gt;

&lt;p&gt;“Which roads are flooded?”&lt;/p&gt;

&lt;p&gt;“Where are evacuation points?”&lt;/p&gt;

&lt;p&gt;StormShield searches live system data and answers instantly.&lt;/p&gt;

&lt;p&gt;📊 The Dashboard&lt;br&gt;
We created a live interactive dashboard using Streamlit.&lt;br&gt;
Features include:&lt;br&gt;
📈 real-time water telemetry&lt;br&gt;
🌊 predictive flood charts&lt;br&gt;
🗺 interactive flood zone maps&lt;br&gt;
📍 live sensor markers&lt;br&gt;
And one of our favorite features:&lt;br&gt;
🌳 Green Infrastructure Simulator&lt;br&gt;
It estimates how many trees would be needed to reduce water runoff and flood risk.&lt;br&gt;
Because sometimes the best flood defense is simply more trees.&lt;/p&gt;

&lt;p&gt;⚙️ Tech Stack&lt;br&gt;
Backend&lt;br&gt;
🐍 Python&lt;/p&gt;

&lt;p&gt;⚡ FastAPI&lt;/p&gt;

&lt;p&gt;⏱ APScheduler&lt;/p&gt;

&lt;p&gt;🚀 Uvicorn&lt;/p&gt;

&lt;p&gt;Frontend&lt;br&gt;
🎛 Streamlit&lt;/p&gt;

&lt;p&gt;🗺 Folium (interactive maps)&lt;/p&gt;

&lt;p&gt;📊 Plotly charts&lt;/p&gt;

&lt;p&gt;AI / ML&lt;br&gt;
🌳 XGBoost (time-series forecasting)&lt;/p&gt;

&lt;p&gt;🤖 Gemini 2.0 Flash (alert generation + RAG chatbot)&lt;/p&gt;

&lt;p&gt;Data Sources&lt;br&gt;
🌊 USGS Water Services API&lt;/p&gt;

&lt;p&gt;⛈ NOAA / NWS alerts&lt;/p&gt;

&lt;p&gt;🌐 Bright Data&lt;/p&gt;

&lt;p&gt;🏗️ Project Architecture&lt;br&gt;
StormShield/&lt;br&gt;
│&lt;br&gt;
├── backend/&lt;br&gt;
│   ├── ingestion/&lt;br&gt;
│   ├── processing/&lt;br&gt;
│   ├── prediction/&lt;br&gt;
│   ├── alert/&lt;br&gt;
│   ├── simulation/&lt;br&gt;
│   └── query/&lt;br&gt;
│&lt;br&gt;
├── frontend/&lt;br&gt;
│   ├── dashboard&lt;br&gt;
│   ├── interactive maps&lt;br&gt;
│   └── chatbot interface&lt;br&gt;
│&lt;br&gt;
└── data/&lt;br&gt;
    ├── model weights&lt;br&gt;
    └── telemetry cache&lt;/p&gt;

&lt;p&gt;🚀 Running the Project Locally&lt;br&gt;
Clone the repo:&lt;br&gt;
git clone &lt;a href="https://github.com/Tanishaaaaaaa/StormShield.git" rel="noopener noreferrer"&gt;https://github.com/Tanishaaaaaaa/StormShield.git&lt;/a&gt;&lt;br&gt;
cd StormShield&lt;br&gt;
Create environment:&lt;br&gt;
python -m venv venv&lt;br&gt;
source venv/bin/activate&lt;br&gt;
Install dependencies:&lt;br&gt;
pip install -r requirements.txt&lt;br&gt;
Train the model:&lt;br&gt;
python backend/modules/prediction/train.py&lt;br&gt;
Run backend:&lt;br&gt;
uvicorn backend.main:app --reload --port 8000&lt;br&gt;
Run dashboard:&lt;br&gt;
streamlit run frontend/app.py&lt;/p&gt;

&lt;p&gt;🏆 Hackathon Context&lt;br&gt;
This project was built for the World Wide Vibes Hackathon.&lt;br&gt;
Goal:&lt;br&gt;
Build an AI-powered civic application that can help communities respond to extreme weather events.&lt;br&gt;
Team: OmniShield&lt;br&gt;
Project: StormShield AI&lt;br&gt;
Sometimes hackathon ideas stay as prototypes.&lt;br&gt;
But occasionally they turn into real-world solutions.&lt;br&gt;
StormShield might just be one of those.&lt;/p&gt;

&lt;p&gt;💬 We’d Love Feedback&lt;br&gt;
If you were building an AI-powered smart city platform, what would you add?&lt;br&gt;
Better prediction models?&lt;br&gt;
IoT sensors?&lt;br&gt;
Automated evacuation planning?&lt;br&gt;
Curious to hear ideas from the community.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>hackathon</category>
      <category>machinelearning</category>
      <category>opensource</category>
    </item>
    <item>
      <title>The Day I Realized Most Microservices Should Have Been a Cron Job</title>
      <dc:creator>Tanisha</dc:creator>
      <pubDate>Thu, 12 Mar 2026 12:55:06 +0000</pubDate>
      <link>https://dev.to/tanisha_saxena_6ee4977663/the-day-i-realized-most-microservices-should-have-been-a-cron-job-162c</link>
      <guid>https://dev.to/tanisha_saxena_6ee4977663/the-day-i-realized-most-microservices-should-have-been-a-cron-job-162c</guid>
      <description>&lt;p&gt;Let me tell you a story about a system that had:&lt;br&gt;
14 microservices&lt;/p&gt;

&lt;p&gt;Kubernetes&lt;/p&gt;

&lt;p&gt;message queues&lt;/p&gt;

&lt;p&gt;observability dashboards&lt;/p&gt;

&lt;p&gt;distributed tracing&lt;/p&gt;

&lt;p&gt;CI/CD pipelines for each service&lt;/p&gt;

&lt;p&gt;It looked beautiful.&lt;br&gt;
It also did one simple thing.&lt;br&gt;
Once a day.&lt;br&gt;
At midnight.&lt;/p&gt;

&lt;p&gt;The Problem&lt;br&gt;
The system’s job was simple:&lt;br&gt;
Pull data from an API&lt;/p&gt;

&lt;p&gt;Process it&lt;/p&gt;

&lt;p&gt;Store the results in a database&lt;/p&gt;

&lt;p&gt;That’s it.&lt;br&gt;
Yet somehow the architecture diagram looked like this:&lt;br&gt;
API → Ingestion Service → Queue → Processing Service → Queue → Worker → Database&lt;br&gt;
All running on Kubernetes.&lt;br&gt;
With autoscaling.&lt;br&gt;
For a job that ran once every 24 hours.&lt;/p&gt;

&lt;p&gt;The Moment of Realization&lt;br&gt;
During a debugging session someone asked:&lt;br&gt;
“Why does this need three services?”&lt;br&gt;
Silence.&lt;br&gt;
Then someone said the sentence that changed everything:&lt;br&gt;
“Could this just be… a cron job?”&lt;/p&gt;

&lt;p&gt;The Architecture We Replaced It With&lt;br&gt;
Before:&lt;br&gt;
Kubernetes&lt;br&gt;
 ├── ingestion-service&lt;br&gt;
 ├── processing-service&lt;br&gt;
 ├── worker-service&lt;br&gt;
 └── queue infrastructure&lt;br&gt;
After:&lt;br&gt;
cron → script → database&lt;br&gt;
Lines of code dropped from ~4000 → ~300.&lt;br&gt;
Infrastructure complexity dropped by about 90%.&lt;br&gt;
Operational issues dropped to almost zero.&lt;/p&gt;

&lt;p&gt;Why This Happens So Often&lt;br&gt;
Developers love building distributed systems.&lt;br&gt;
But many systems don’t actually need to be distributed.&lt;br&gt;
What happens is usually this:&lt;br&gt;
A simple system starts growing&lt;/p&gt;

&lt;p&gt;Someone suggests microservices&lt;/p&gt;

&lt;p&gt;The architecture becomes “future proof”&lt;/p&gt;

&lt;p&gt;The future never actually arrives&lt;/p&gt;

&lt;p&gt;Suddenly you have Kubernetes managing a workflow that could run inside a single Python script.&lt;/p&gt;

&lt;p&gt;Microservices Are Great — When You Actually Need Them&lt;br&gt;
Microservices solve real problems:&lt;br&gt;
independent scaling&lt;/p&gt;

&lt;p&gt;team autonomy&lt;/p&gt;

&lt;p&gt;fault isolation&lt;/p&gt;

&lt;p&gt;complex systems with many domains&lt;/p&gt;

&lt;p&gt;But if your system:&lt;br&gt;
runs once a day&lt;/p&gt;

&lt;p&gt;processes a small dataset&lt;/p&gt;

&lt;p&gt;is owned by one team&lt;/p&gt;

&lt;p&gt;has a simple workflow&lt;/p&gt;

&lt;p&gt;You probably don’t need microservices.&lt;br&gt;
You might just need:&lt;br&gt;
cron + script&lt;/p&gt;

&lt;p&gt;The Hidden Cost of Over-Engineering&lt;br&gt;
Every additional service adds:&lt;br&gt;
deployment pipelines&lt;/p&gt;

&lt;p&gt;monitoring dashboards&lt;/p&gt;

&lt;p&gt;failure points&lt;/p&gt;

&lt;p&gt;infrastructure cost&lt;/p&gt;

&lt;p&gt;debugging complexity&lt;/p&gt;

&lt;p&gt;When something breaks, you’re suddenly tracing requests across five services instead of reading one log file.&lt;/p&gt;

&lt;p&gt;The Rule I Follow Now&lt;br&gt;
Before building a distributed system, I ask one question:&lt;br&gt;
Could this be solved by a cron job?&lt;br&gt;
If the answer is yes…&lt;br&gt;
Start there.&lt;br&gt;
You can always add complexity later.&lt;br&gt;
But removing it is much harder.&lt;/p&gt;

&lt;p&gt;The Irony&lt;br&gt;
The funny thing is that the simplest system often ends up being the most reliable one.&lt;br&gt;
Because it has fewer things that can go wrong.&lt;br&gt;
Sometimes the best architecture decision is simply not building more architecture.&lt;/p&gt;

&lt;p&gt;Your Turn&lt;br&gt;
Be honest.&lt;br&gt;
Have you ever seen a system that looked like this?&lt;br&gt;
Kubernetes + 10 services&lt;br&gt;
…doing something that could have been solved with a cron job and 200 lines of code?&lt;br&gt;
If yes, I want to hear that story 😄&lt;/p&gt;

</description>
      <category>programming</category>
      <category>architecture</category>
      <category>devops</category>
      <category>microservices</category>
    </item>
  </channel>
</rss>
