<?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: Varun Fatehpuria </title>
    <description>The latest articles on DEV Community by Varun Fatehpuria  (@varun666).</description>
    <link>https://dev.to/varun666</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%2F4163081%2F885e739b-97df-4c1e-8bbd-7a5274dfecaa.jpg</url>
      <title>DEV Community: Varun Fatehpuria </title>
      <link>https://dev.to/varun666</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/varun666"/>
    <language>en</language>
    <item>
      <title>PHANTOM Terminal: Something Is Still Running 👻</title>
      <dc:creator>Varun Fatehpuria </dc:creator>
      <pubDate>Tue, 27 Oct 2026 07:31:50 +0000</pubDate>
      <link>https://dev.to/varun666/phantom-terminal-something-is-still-running-11l8</link>
      <guid>https://dev.to/varun666/phantom-terminal-something-is-still-running-11l8</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week4-2026-10-26"&gt;Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;What if your terminal could tell ghost stories?&lt;/p&gt;

&lt;p&gt;Meet &lt;strong&gt;PHANTOM Terminal&lt;/strong&gt;, a local-first, AI-powered haunted terminal inspired by the eerie feeling that something might still be running long after a machine should have gone quiet.&lt;/p&gt;

&lt;p&gt;For this week's &lt;em&gt;Ghost in the Machine&lt;/em&gt; theme, I wanted to combine the atmosphere of retro computer terminals with the possibilities of open-weight AI. Instead of building another chatbot with a conventional interface, I created a terminal-inspired experience where ordinary text fragments become mysterious transmissions.&lt;/p&gt;

&lt;p&gt;PHANTOM currently has three modes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Terminal Haunting:&lt;/strong&gt; Feed it a harmless command or log fragment and receive eerie commentary.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ghost Story:&lt;/strong&gt; Turn a prompt about abandoned servers, forgotten software, or strange computer activity into an original horror story.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Memory Archive:&lt;/strong&gt; Preserve meaningful stories, favorite songs, meals, traditions, and memories in a gentler experience inspired by remembrance and Día de los Muertos.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The interface uses a dark terminal aesthetic, phosphor-green accents, subtle CRT-inspired styling, and a minimal command-line layout.&lt;/p&gt;

&lt;p&gt;The central idea is simple: &lt;strong&gt;a machine doesn't need to be connected to the cloud to feel alive.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;PHANTOM does not automatically inspect your shell history or execute commands. You choose what text to share with it.&lt;/p&gt;

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

&lt;p&gt;The project currently runs locally.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Run it yourself:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install Python 3.10 or newer.&lt;/li&gt;
&lt;li&gt;Optionally install &lt;a href="https://ollama.com/" rel="noopener noreferrer"&gt;Ollama&lt;/a&gt; to enable local AI inference.&lt;/li&gt;
&lt;li&gt;Download the default model:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   ollama pull qwen2.5:3b
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Start the application:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   python app.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On Windows, you can also use &lt;code&gt;py app.py&lt;/code&gt;.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open &lt;a href="http://127.0.0.1:8000" rel="noopener noreferrer"&gt;http://127.0.0.1:8000&lt;/a&gt; in your browser.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The application includes a template-based fallback, so you can explore the interface even when Ollama is unavailable. The fallback works offline but does not generate responses using an LLM.&lt;/p&gt;

&lt;p&gt;A public deployment and recorded video demo are not available yet.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Project:&lt;/strong&gt; PHANTOM Terminal — Ghost in the Machine&lt;/p&gt;

&lt;p&gt;The source code includes the Python backend, terminal-inspired frontend, local-model integration, offline fallback, documentation, and automated tests.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Project repository:&lt;/strong&gt; [&lt;a href="https://github.com/Varun-666/ghost-in-the-machine" rel="noopener noreferrer"&gt;https://github.com/Varun-666/ghost-in-the-machine&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Project structure:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ghost-in-the-machine/
├── app.py
├── static/
│   ├── index.html
│   ├── style.css
│   └── app.js
├── tests/
│   └── test_app.py
├── README.md
├── LICENSE
└── .gitignore
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The project is licensed under MIT.&lt;/p&gt;

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

&lt;p&gt;I built PHANTOM using Python, HTML, CSS, and JavaScript, with &lt;a href="https://ollama.com/" rel="noopener noreferrer"&gt;Ollama&lt;/a&gt; serving an open-weight language model locally.&lt;/p&gt;

&lt;p&gt;The default model is &lt;strong&gt;Qwen2.5 3B&lt;/strong&gt;, which can be replaced with another compatible model by changing the configuration.&lt;/p&gt;

&lt;p&gt;The architecture is intentionally straightforward:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The user selects a mode and enters a text fragment.&lt;/li&gt;
&lt;li&gt;The frontend sends the input to the local Python backend.&lt;/li&gt;
&lt;li&gt;The backend attempts to generate a response using Ollama's local API.&lt;/li&gt;
&lt;li&gt;If the model service is unavailable, the application switches to its built-in fallback.&lt;/li&gt;
&lt;li&gt;The frontend displays the response in the terminal interface.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The application does not require a hosted AI API, a cloud account, or a paid inference service.&lt;/p&gt;

&lt;p&gt;I also included basic input validation, safe rendering of generated text, a prompt-length limit, and automated tests.&lt;/p&gt;

&lt;p&gt;The current version is a local web application rather than a fully autonomous agent. It deliberately avoids executing shell commands or accessing system files automatically.&lt;/p&gt;

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

&lt;p&gt;For PHANTOM, open innovation is not just a technology choice. It is part of the project's identity.&lt;/p&gt;

&lt;p&gt;A haunted terminal is an interesting experiment, but the idea becomes much more meaningful when the underlying AI can run on your own machine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Privacy by design&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A user might want to turn personal notes, old logs, or meaningful memories into a story. Running inference locally means those prompts do not need to be sent to a third-party AI provider.&lt;/p&gt;

&lt;p&gt;PHANTOM has no cloud AI API integration, and it does not automatically save prompts or responses. When Ollama is enabled, the application sends prompts to the local Ollama service on the same machine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Offline access&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After the required software and model have been downloaded, the application can generate responses without an internet connection. This makes experimentation possible without relying on the availability of an external AI service.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Freedom to change models&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The model is not permanently tied to a single provider. Users can experiment with different compatible models, compare their writing styles, and adapt the experience to their hardware and preferences.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. No per-request API fees&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Local inference avoids per-request charges from a hosted AI API. It still has hardware, electricity, storage, and setup costs, but there is no mandatory cloud inference bill.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Long-term ownership&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;An application built around replaceable models and an open codebase is easier to inspect, modify, self-host, and maintain independently of a single AI provider.&lt;/p&gt;

&lt;p&gt;A closed API could also generate convincing ghost stories. What it would not inherently provide is the same combination of local execution, model choice, inspectable application code, and freedom from a required hosted inference service.&lt;/p&gt;

&lt;p&gt;That is the part of open innovation I wanted to explore: making AI something people can run, understand, and adapt themselves.&lt;/p&gt;

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

&lt;p&gt;PHANTOM currently uses a local model interface rather than an autonomous agent harness. I have not recorded a DevRelay session for this project, so I am leaving this section out rather than linking to a session that does not exist.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Spirit of It
&lt;/h2&gt;

&lt;p&gt;There is something unsettling about an old computer that still has one process running.&lt;/p&gt;

&lt;p&gt;Maybe it is an abandoned game server. Maybe it is a log file with a timestamp that makes no sense. Maybe it is a forgotten program that someone wrote years ago and never finished.&lt;/p&gt;

&lt;p&gt;I wanted PHANTOM to capture that feeling without needing an elaborate horror game or an expensive cloud model.&lt;/p&gt;

&lt;p&gt;But there is another side to the idea.&lt;/p&gt;

&lt;p&gt;For Día de los Muertos, the same technology can be used to preserve the small things that make memories meaningful: a family recipe, a favorite song, a familiar saying, or a story that deserves to be told again.&lt;/p&gt;

&lt;p&gt;One mode lets a machine whisper fictional horrors. Another lets it help keep real memories alive.&lt;/p&gt;

&lt;p&gt;The machine doesn't have to forget just because we stopped listening.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sometimes, the most interesting thing about a ghost is what it helps us remember.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Primary fit:&lt;/strong&gt; Open-Source AI / Local Inference.&lt;/p&gt;

&lt;p&gt;PHANTOM is built around open-weight AI served locally through Ollama, with a replaceable model configuration and a functional offline fallback.&lt;/p&gt;

&lt;p&gt;I am entering the main Ghost in the Machine challenge. I have not selected additional partner prize categories because I have not verified which specific partner categories and eligibility requirements apply.&lt;/p&gt;




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

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title># LazyDesk: Let Local AI Handle the Mess — Slow and Steady</title>
      <dc:creator>Varun Fatehpuria </dc:creator>
      <pubDate>Wed, 21 Oct 2026 05:39:01 +0000</pubDate>
      <link>https://dev.to/varun666/-lazydesk-let-local-ai-handle-the-mess-slow-and-steady-3o95</link>
      <guid>https://dev.to/varun666/-lazydesk-let-local-ai-handle-the-mess-slow-and-steady-3o95</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week3-2026-10-19"&gt;Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Ever opened your Downloads folder looking for one file and ended up staring at hundreds of documents, screenshots, archives, and random files instead?&lt;/p&gt;

&lt;p&gt;I wanted to build something that could take care of that boring work for me.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Meet LazyDesk&lt;/strong&gt;, a local-first, AI-assisted file organizer built as a command-line tool. It helps organize cluttered directories by categorizing files, suggesting meaningful filenames, and generating an organization plan that you can review before applying.&lt;/p&gt;

&lt;p&gt;The idea is simple: let AI handle the thinking, while predictable rules handle the actual file operations.&lt;/p&gt;

&lt;p&gt;LazyDesk is designed to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scan directories without modifying files.&lt;/li&gt;
&lt;li&gt;Classify files into categories such as Documents, Images, Code, Archives, and more.&lt;/li&gt;
&lt;li&gt;Use a locally running AI model to suggest categories and clearer filenames.&lt;/li&gt;
&lt;li&gt;Preview proposed changes before applying them.&lt;/li&gt;
&lt;li&gt;Keep a local transaction history and support best-effort undo.&lt;/li&gt;
&lt;li&gt;Work without a cloud AI API once the dependencies and model are installed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of spending time manually sorting files every few weeks, you can let LazyDesk prepare the plan and review it when you're ready.&lt;/p&gt;

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

&lt;p&gt;The project is written in Python and follows a modular architecture so that AI classification, planning, filesystem operations, and recovery can evolve independently.&lt;/p&gt;

&lt;p&gt;The core principle is that &lt;strong&gt;the AI suggests; LazyDesk validates and executes&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Rather than letting a language model manipulate files directly, the application validates its output and generates a proposed plan. File changes happen through a separate, explicit command.&lt;/p&gt;

&lt;p&gt;The project is released under the MIT license.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Repository:&lt;/strong&gt; &lt;a href="https://github.com/Varun-666/LazyDesk" rel="noopener noreferrer"&gt;https://github.com/Varun-666/LazyDesk&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;I built LazyDesk around Python, Typer, Rich, Pydantic, SQLite, and Ollama.&lt;/p&gt;

&lt;p&gt;Here's how the pieces fit together:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Python&lt;/strong&gt; provides the cross-platform foundation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Typer&lt;/strong&gt; handles the command-line interface.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rich&lt;/strong&gt; makes scan results and organization plans readable in the terminal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama&lt;/strong&gt; provides a local inference interface for an open-weight language model.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pydantic&lt;/strong&gt; validates the model's structured output.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SQLite&lt;/strong&gt; stores transaction history and recovery information.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;pytest and GitHub Actions&lt;/strong&gt; support automated testing and continuous integration.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The workflow has six main stages:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Scan:&lt;/strong&gt; Collect file metadata without changing anything.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Classify:&lt;/strong&gt; Use extension-based rules and, when available, local AI suggestions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plan:&lt;/strong&gt; Generate destination paths and check for potential conflicts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Preview:&lt;/strong&gt; Display the proposed changes for review.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Apply:&lt;/strong&gt; Revalidate the plan and execute approved operations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recover:&lt;/strong&gt; Use the transaction history to attempt to undo eligible operations.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The AI provider is kept separate from the core organizer. That means the project can evolve to support different local inference runtimes without rewriting the filesystem logic.&lt;/p&gt;

&lt;p&gt;The initial model configuration uses &lt;code&gt;qwen3:4b&lt;/code&gt; as an example, but the model can be changed in the configuration. Actual performance depends on the model, hardware, and type of files being processed.&lt;/p&gt;

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

&lt;p&gt;For me, the most important part of this project is not simply adding AI to a file organizer. It's making that AI usable without requiring a cloud AI service.&lt;/p&gt;

&lt;p&gt;Personal folders can contain financial documents, study materials, source code, private notes, and other information that users may not want to upload to a third-party service.&lt;/p&gt;

&lt;p&gt;By running inference locally, LazyDesk can keep the AI processing on the user's machine when configured correctly.&lt;/p&gt;

&lt;p&gt;Open-weight models also make experimentation possible. Users can choose a different model, adjust the instructions, customize categories, and change the classification strategy without being locked into one proprietary AI API.&lt;/p&gt;

&lt;p&gt;There are practical benefits, too:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Privacy:&lt;/strong&gt; File contents can remain on the user's machine instead of being sent to a hosted AI provider.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Control:&lt;/strong&gt; Users can inspect and modify the code that decides how files are organized.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flexibility:&lt;/strong&gt; The model and classification rules can be customized.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost:&lt;/strong&gt; Local inference avoids per-request charges from a hosted AI API, although running the model still uses hardware and electricity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offline potential:&lt;/strong&gt; Once dependencies and model weights are installed, ordinary organization workflows can operate without an internet connection.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Open innovation also means being honest about limitations. Open-weight models have different licenses, resource requirements, and capabilities. They do not automatically guarantee perfect privacy, accuracy, or unrestricted redistribution.&lt;/p&gt;

&lt;p&gt;LazyDesk is designed to make those choices more transparent and give users control over their own workflows.&lt;/p&gt;

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

&lt;p&gt;I haven't attached a DevRelay session yet.&lt;/p&gt;

&lt;p&gt;Once I have a shareable development session, I'll add it here so others can follow the implementation process and see how the project evolved.&lt;/p&gt;

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

&lt;p&gt;The goal is to turn a repetitive, manual task into a short review process.&lt;/p&gt;

&lt;p&gt;Instead of opening files one by one, deciding where each belongs, renaming them, and moving them manually, users can generate an organization plan and inspect the proposed changes in one place.&lt;/p&gt;

&lt;p&gt;I haven't measured real-world time savings yet, so I won't invent a number. The next step is to test LazyDesk on a representative folder, measure the time required with and without the tool, and evaluate how often its suggested categories and filenames need corrections.&lt;/p&gt;

&lt;p&gt;The other important payoff is peace of mind: scanning and planning are read-only, and applying changes requires an explicit command.&lt;/p&gt;

&lt;p&gt;LazyDesk is still an early-stage project, so its file operations and recovery behavior need further testing before it should be trusted with important data. Always keep backups of irreplaceable files.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Primary theme:&lt;/strong&gt; Slow and Steady — local-first AI that reduces repetitive work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technology focus:&lt;/strong&gt; Open-weight models and local inference through Ollama.&lt;/p&gt;

&lt;p&gt;I'll add any specific partner prize categories after confirming the current challenge's eligibility requirements.&lt;/p&gt;




&lt;p&gt;The philosophy behind LazyDesk is simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You shouldn't need to spend your time organizing everything manually when your own machine can help you do the boring parts.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Build once. Configure it your way. Let the computer do the repetitive work.&lt;/p&gt;

&lt;p&gt;Slow and steady.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>CraftContent.AI</title>
      <dc:creator>Varun Fatehpuria </dc:creator>
      <pubDate>Tue, 13 Oct 2026 06:03:19 +0000</pubDate>
      <link>https://dev.to/varun666/craftcontentai-43jn</link>
      <guid>https://dev.to/varun666/craftcontentai-43jn</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;
  
  
  CraftCopy AI — Product Listings for Handmade Businesses
&lt;/h3&gt;

&lt;p&gt;CraftCopy AI is an AI-powered writing assistant designed for independent makers and small handmade businesses.&lt;/p&gt;

&lt;p&gt;Selling a handmade product involves more than making it. Sellers also need to write product descriptions, create social media captions, research searchable tags, and prepare listings for different platforms. For someone running a small shop alone, these repetitive tasks take time away from creating products and serving customers.&lt;/p&gt;

&lt;p&gt;CraftCopy AI aims to simplify that process. A seller enters basic product information, such as the product name, materials, dimensions, price, target audience, and key features. The application generates editable product titles, descriptions, social media captions, search tags, and image alt text.&lt;/p&gt;

&lt;p&gt;The initial audience is crochet artists, handmade jewellery makers, and independent online sellers.&lt;/p&gt;

&lt;p&gt;The side-hustle opportunity is to help these sellers prepare marketing content more efficiently. Future versions could introduce batch listing generation, reusable brand presets, and specialized templates for different product categories.&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/Varun-666/CraftContent.ai" rel="noopener noreferrer"&gt;https://github.com/Varun-666/CraftContent.ai&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;The project includes a Python backend, a browser-based interface, model integration, a fallback generation workflow, and automated tests.&lt;/p&gt;

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

&lt;p&gt;CraftCopy AI is built with Python, FastAPI, HTML, CSS, and JavaScript.&lt;/p&gt;

&lt;p&gt;The AI integration uses &lt;strong&gt;Qwen2.5-0.5B-Instruct&lt;/strong&gt;, an open-weight language model, through Hugging Face Transformers.&lt;/p&gt;

&lt;p&gt;The intended workflow is straightforward:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The seller provides structured product details.&lt;/li&gt;
&lt;li&gt;The backend prepares the input for the language model.&lt;/li&gt;
&lt;li&gt;The model generates draft marketing content.&lt;/li&gt;
&lt;li&gt;The seller reviews, edits, and copies the results.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The application also includes a template-based fallback when model inference is unavailable. This keeps the basic workflow accessible while distinguishing fallback output from genuine model-generated content.&lt;/p&gt;

&lt;p&gt;The model can be downloaded and run locally, subject to hardware requirements and the model's license. This avoids requiring a paid proprietary model API for every generation request.&lt;/p&gt;

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

&lt;p&gt;I wanted to explore how open-weight AI could make a small business tool more accessible to independent developers and sellers.&lt;/p&gt;

&lt;p&gt;A commercial writing tool built entirely around a proprietary API may introduce recurring inference costs, dependency on a third-party provider, and restrictions on how its underlying model can be customized.&lt;/p&gt;

&lt;p&gt;Using an open-weight model provides a different approach.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Control over inference:&lt;/strong&gt; The model can run locally, allowing users to keep product information on their own machines rather than sending every prompt to an external model provider.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Control over costs:&lt;/strong&gt; Once the model has been downloaded, local inference does not incur a per-request fee from a third-party model API. Hardware, electricity, storage, and maintenance still have costs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Freedom to experiment:&lt;/strong&gt; Developers can evaluate different compatible models, adjust prompts, and explore specialized workflows for handmade product categories.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Accessibility:&lt;/strong&gt; The project can be cloned, inspected, modified, and extended by other developers.&lt;/p&gt;

&lt;p&gt;Local operation does require an initial model download and sufficient computing resources. The goal is not to claim that open models are automatically better at every task, but to make experimentation and deployment more accessible without making a proprietary API a mandatory dependency.&lt;/p&gt;

&lt;p&gt;For a small side-hustle product, that flexibility matters: it creates room to experiment with different approaches without tying every generation to someone else's pricing and service availability.&lt;/p&gt;

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

&lt;p&gt;Optional. I will add a DevRelay session if I capture one that demonstrates the development process.&lt;/p&gt;

&lt;h2&gt;
  
  
  My First User
&lt;/h2&gt;

&lt;p&gt;CraftCopy AI is intended for independent makers and small handmade businesses. The next milestone is to test it with a real seller and collect feedback on listing quality, editing effort, and missing features.&lt;/p&gt;

&lt;p&gt;I have not yet established whether a seller would pay for the product, so validating that demand is part of the next stage.&lt;/p&gt;

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

&lt;p&gt;I will select the applicable partner categories according to the official challenge rules before publishing.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Touchgrass.AI</title>
      <dc:creator>Varun Fatehpuria </dc:creator>
      <pubDate>Thu, 08 Oct 2026 09:34:41 +0000</pubDate>
      <link>https://dev.to/varun666/touchgrassai-20aa</link>
      <guid>https://dev.to/varun666/touchgrassai-20aa</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week1-2026-10-05"&gt;Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I built &lt;strong&gt;TouchGrass AI&lt;/strong&gt;, an open-source AI companion designed to help people spend less time on their screens and more time outdoors. 🌱&lt;/p&gt;

&lt;p&gt;The idea is simple: &lt;strong&gt;use AI for a few seconds, then put the phone away.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Users can choose an activity mode, available time, energy level, outdoor setting, and personal interests. TouchGrass AI then generates a short, practical outdoor mission that they can actually go outside and complete.&lt;/p&gt;

&lt;p&gt;The app currently includes three modes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🌿 &lt;strong&gt;Nature&lt;/strong&gt; — discover and observe things around you&lt;/li&gt;
&lt;li&gt;🚶 &lt;strong&gt;Explore&lt;/strong&gt; — generate small outdoor exploration challenges&lt;/li&gt;
&lt;li&gt;🌱 &lt;strong&gt;Garden&lt;/strong&gt; — get simple gardening and plant-care activities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is designed for anyone who wants a simple reason to step outside, whether that's a short walk, exploring a local park, observing nature, or spending some time in the garden.&lt;/p&gt;

&lt;p&gt;The goal isn't to make people spend more time interacting with AI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The goal is to make the AI interaction as short as possible.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;💻 &lt;strong&gt;GitHub:&lt;/strong&gt; [&lt;a href="https://github.com/Varun-666/touchgrass.ai" rel="noopener noreferrer"&gt;https://github.com/Varun-666/touchgrass.ai&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;The repository contains the complete application, including the frontend, FastAPI backend, AI integration, prompts, fallback system, PWA support, tests, and documentation.&lt;/p&gt;

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

&lt;p&gt;TouchGrass AI is built around &lt;strong&gt;open-weight AI and local inference&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The AI component uses &lt;strong&gt;Qwen2.5-0.5B-Instruct&lt;/strong&gt;, accessed through the Hugging Face Transformers ecosystem.&lt;/p&gt;

&lt;p&gt;The basic flow is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User
  ↓
TouchGrass Web UI
  ↓
FastAPI Backend
  ↓
Qwen2.5-0.5B-Instruct
  ↓
Outdoor Mission
  ↓
Put the Phone Away
  ↓
Go Outside 🌳
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The user provides a few preferences such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Activity type&lt;/li&gt;
&lt;li&gt;Available time&lt;/li&gt;
&lt;li&gt;Energy level&lt;/li&gt;
&lt;li&gt;Outdoor setting&lt;/li&gt;
&lt;li&gt;Interests or goals&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The local AI uses these inputs to generate a structured outdoor mission containing a title, description, steps, duration, things to bring, and safety information.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;FastAPI&lt;/li&gt;
&lt;li&gt;Hugging Face Transformers&lt;/li&gt;
&lt;li&gt;Qwen2.5-0.5B-Instruct&lt;/li&gt;
&lt;li&gt;HTML/CSS/JavaScript&lt;/li&gt;
&lt;li&gt;Progressive Web App support&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There is also a fallback system so the application can still provide useful outdoor activities if the AI model is unavailable.&lt;/p&gt;

&lt;p&gt;No paid AI API or API key is required.&lt;/p&gt;

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

&lt;p&gt;Open innovation is important to TouchGrass AI because the project is intended to work &lt;strong&gt;with people in the real world, not just inside a cloud-based chat window.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;Outdoor experiences can involve personal information such as photos, gardens, homes, and surroundings.&lt;/p&gt;

&lt;p&gt;With local inference, the project can process AI requests without requiring everything to be sent to a third-party AI provider.&lt;/p&gt;

&lt;h3&gt;
  
  
  📡 Offline Potential
&lt;/h3&gt;

&lt;p&gt;The places where people want to use TouchGrass AI may not always have a reliable internet connection.&lt;/p&gt;

&lt;p&gt;Using an open-weight model gives the project a path toward running the AI locally and eventually supporting completely offline experiences.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔧 Freedom to Experiment
&lt;/h3&gt;

&lt;p&gt;The AI isn't locked to a proprietary API.&lt;/p&gt;

&lt;p&gt;Developers can experiment with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Different open-weight models&lt;/li&gt;
&lt;li&gt;Smaller models&lt;/li&gt;
&lt;li&gt;Quantized models&lt;/li&gt;
&lt;li&gt;Fine-tuned models&lt;/li&gt;
&lt;li&gt;Different prompts&lt;/li&gt;
&lt;li&gt;Different local hardware&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This makes the project much easier to modify and extend.&lt;/p&gt;

&lt;h3&gt;
  
  
  💰 Accessibility
&lt;/h3&gt;

&lt;p&gt;There are no per-request API costs.&lt;/p&gt;

&lt;p&gt;Once the model is available locally, users can experiment with the application without needing a paid AI API subscription.&lt;/p&gt;

&lt;p&gt;For me, that's one of the biggest advantages of open AI: &lt;strong&gt;the technology becomes something developers can actually take apart, modify, and build on.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;[Add your DevRelay agent session here if available]&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Touch Grass&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open-Source AI&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Less screen. More outside. 🌱&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Project TouchGrass.AI for HacktoberFest2026 Week 1</title>
      <dc:creator>Varun Fatehpuria </dc:creator>
      <pubDate>Thu, 08 Oct 2026 09:30:49 +0000</pubDate>
      <link>https://dev.to/varun666/project-touchgrassai-for-hacktoberfest2026-week-1-af3</link>
      <guid>https://dev.to/varun666/project-touchgrassai-for-hacktoberfest2026-week-1-af3</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week1-2026-10-05"&gt;Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I built &lt;strong&gt;TouchGrass AI&lt;/strong&gt;, an open-source AI companion designed to get people off their screens and into the real world.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Use AI for a few seconds. Then put the phone away. 🌱&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of building another AI assistant that encourages people to spend more time chatting with a model, TouchGrass AI generates small, practical outdoor missions based on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🌿 Activity type&lt;/li&gt;
&lt;li&gt;⏱️ Available time&lt;/li&gt;
&lt;li&gt;⚡ Energy level&lt;/li&gt;
&lt;li&gt;📍 Outdoor setting&lt;/li&gt;
&lt;li&gt;🎯 Personal interests and goals&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The app currently has three modes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Nature&lt;/strong&gt; — activities focused on observing and exploring nature&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Explore&lt;/strong&gt; — small outdoor exploration challenges&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Garden&lt;/strong&gt; — simple gardening and plant-care activities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, a user can select:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Explore → 30 minutes → Low energy → Park&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;and receive a short outdoor mission designed to be completed away from the screen.&lt;/p&gt;

&lt;p&gt;The goal isn't to keep the user inside the app.&lt;/p&gt;

&lt;p&gt;The goal is to make the app unnecessary as quickly as possible.&lt;/p&gt;

&lt;p&gt;The ideal interaction is:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10 seconds on the phone → 30 minutes outside. 🌳&lt;/strong&gt;&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/Varun-666/touchgrass.ai" rel="noopener noreferrer"&gt;https://github.com/Varun-666/touchgrass.ai&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;The project is completely open source and includes the application code, AI integration, prompts, fallback system, frontend, backend, and documentation.&lt;/p&gt;

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

&lt;p&gt;TouchGrass AI is built around an &lt;strong&gt;open-weight AI model&lt;/strong&gt; rather than a proprietary AI API.&lt;/p&gt;

&lt;p&gt;The AI layer uses:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Qwen2.5-0.5B-Instruct&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The model runs locally through the Hugging Face Transformers ecosystem.&lt;/p&gt;

&lt;p&gt;The basic architecture is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User
  │
  ▼
TouchGrass Web UI
  │
  ▼
FastAPI Backend
  │
  ▼
Local Qwen2.5-0.5B-Instruct
  │
  ▼
Outdoor Mission
  │
  ▼
📱 Put Phone Away
  │
  ▼
🌳 Go Outside
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The user provides a few simple preferences such as their available time, energy level, environment, and interests.&lt;/p&gt;

&lt;p&gt;The local model then generates a structured outdoor mission containing things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mission title&lt;/li&gt;
&lt;li&gt;Short description&lt;/li&gt;
&lt;li&gt;Steps&lt;/li&gt;
&lt;li&gt;What to bring&lt;/li&gt;
&lt;li&gt;Safety notes&lt;/li&gt;
&lt;li&gt;A suggested duration&lt;/li&gt;
&lt;li&gt;A reason for doing the activity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also included a fallback mission system so the application can still demonstrate its core experience if the AI model isn't available.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FastAPI&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hugging Face Transformers&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Qwen2.5-0.5B-Instruct&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTML/CSS/JavaScript&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PWA support&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No paid AI API or API key is required.&lt;/p&gt;

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

&lt;p&gt;This project is specifically designed around the idea that AI shouldn't always require sending everything to a remote server.&lt;/p&gt;

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

&lt;p&gt;Outdoor activities can involve photos, locations, gardens, homes, or other information about someone's surroundings.&lt;/p&gt;

&lt;p&gt;A local AI architecture provides a path toward keeping that information on the user's own device instead of automatically sending it to a third-party AI provider.&lt;/p&gt;

&lt;h3&gt;
  
  
  📡 Offline Potential
&lt;/h3&gt;

&lt;p&gt;People don't necessarily use TouchGrass AI while sitting next to a perfect internet connection.&lt;/p&gt;

&lt;p&gt;The whole point is to use it while going outside.&lt;/p&gt;

&lt;p&gt;Using an open-weight model means the project can be developed toward offline/local inference rather than depending entirely on an external API.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔧 Model Freedom
&lt;/h3&gt;

&lt;p&gt;Because the project isn't tied to a proprietary API, the AI component can be modified or replaced.&lt;/p&gt;

&lt;p&gt;Developers can experiment with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Different open-weight models&lt;/li&gt;
&lt;li&gt;Quantized models&lt;/li&gt;
&lt;li&gt;Fine-tuned models&lt;/li&gt;
&lt;li&gt;Smaller models for mobile devices&lt;/li&gt;
&lt;li&gt;Different prompting strategies&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The application isn't locked into one company's AI infrastructure.&lt;/p&gt;

&lt;h3&gt;
  
  
  💰 Accessibility
&lt;/h3&gt;

&lt;p&gt;There is no per-request AI API cost.&lt;/p&gt;

&lt;p&gt;That makes experimenting with the project much more accessible for students, hobbyists, and other developers who want to build AI applications without maintaining a paid API subscription.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Interesting Part
&lt;/h2&gt;

&lt;p&gt;Most AI applications try to maximize the amount of time users spend interacting with them.&lt;/p&gt;

&lt;p&gt;TouchGrass AI tries to do the opposite.&lt;/p&gt;

&lt;p&gt;A successful interaction isn't:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I spent 30 minutes talking to the AI."&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;blockquote&gt;
&lt;p&gt;"The AI gave me something to do, and then I put my phone away."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's the behavior I wanted to build around for this challenge.&lt;/p&gt;

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

&lt;p&gt;[ADD DEVRELAY AGENT SESSION HERE IF AVAILABLE]&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Open-Source AI&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Touch Grass&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Built with open-source AI for Hacktoberfest 2026. 🌱&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Less screen. More outside.&lt;/strong&gt;&lt;/p&gt;

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