<?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: Lavish Sheth</title>
    <description>The latest articles on DEV Community by Lavish Sheth (@lavish_sheth_91011ff98953).</description>
    <link>https://dev.to/lavish_sheth_91011ff98953</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%2F4157269%2F30d60707-e4e4-4162-a7d7-88cd66f1c25e.png</url>
      <title>DEV Community: Lavish Sheth</title>
      <link>https://dev.to/lavish_sheth_91011ff98953</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lavish_sheth_91011ff98953"/>
    <language>en</language>
    <item>
      <title>GhostWriter AI: Bringing Stories to Life with Local Open-Source AI</title>
      <dc:creator>Lavish Sheth</dc:creator>
      <pubDate>Tue, 27 Oct 2026 06:17:49 +0000</pubDate>
      <link>https://dev.to/lavish_sheth_91011ff98953/ghostwriter-ai-bringing-stories-to-life-with-local-open-source-ai-31mm</link>
      <guid>https://dev.to/lavish_sheth_91011ff98953/ghostwriter-ai-bringing-stories-to-life-with-local-open-source-ai-31mm</guid>
      <description>&lt;h1&gt;
  
  
  👻 GhostWriter AI: Bringing Stories to Life with Local Open-Source AI
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;This is my 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;For this week's Hacktoberfest challenge, I explored an idea that combines Halloween, storytelling, and open-source artificial intelligence: &lt;strong&gt;GhostWriter AI — a local AI-powered horror story generator.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The idea is simple: what if you could create your own spooky stories without sending your prompts to an external AI service?&lt;/p&gt;

&lt;p&gt;GhostWriter AI is designed to generate personalized horror stories based on a user's imagination. You can choose a setting, describe a mysterious event, select a mood, and let a locally running AI model turn those ideas into a chilling story.&lt;/p&gt;

&lt;p&gt;Imagine entering a prompt like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"An abandoned railway station where the last train arrives every night, even though the tracks were removed years ago."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The AI transforms that idea into a suspenseful story filled with eerie discoveries, unexpected twists, and an unsettling ending.&lt;/p&gt;

&lt;p&gt;The goal is to make storytelling creative, accessible, and privacy-friendly while exploring what open-source AI can do beyond traditional chatbots.&lt;/p&gt;

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

&lt;p&gt;The project is designed around a simple Python-based architecture with local AI inference.&lt;/p&gt;

&lt;p&gt;Here is the planned technology stack:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Python:&lt;/strong&gt; Handles the application logic and story generation workflow.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama:&lt;/strong&gt; Runs an AI model locally instead of relying on a hosted inference API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Qwen2.5:&lt;/strong&gt; An open-weight language model that can generate creative text.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streamlit:&lt;/strong&gt; Provides a simple interface for entering prompts and reading generated stories.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ol&gt;
&lt;li&gt;The user enters a story idea and selects a preferred atmosphere.&lt;/li&gt;
&lt;li&gt;Python combines the input with a carefully designed storytelling prompt.&lt;/li&gt;
&lt;li&gt;Ollama sends the prompt to the locally running language model.&lt;/li&gt;
&lt;li&gt;The model generates a unique horror story.&lt;/li&gt;
&lt;li&gt;The application displays the finished story for the user to read.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The architecture is intentionally lightweight so that it can be adapted to different models and expanded with additional features.&lt;/p&gt;

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

&lt;p&gt;For me, the most interesting part of this project is not just generating horror stories. It is exploring how open-weight AI makes experimentation more accessible.&lt;/p&gt;

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

&lt;p&gt;When inference runs locally, prompts can remain on the user's machine rather than being sent to a third-party AI API. This is especially valuable for personal writing, private ideas, and experimental projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  🌐 Creativity Without an Internet Connection
&lt;/h3&gt;

&lt;p&gt;After the model has been downloaded and the local environment is configured, story generation can work without an active internet connection.&lt;/p&gt;

&lt;p&gt;This makes the application useful even when connectivity is limited.&lt;/p&gt;

&lt;h3&gt;
  
  
  🛠️ Freedom to Experiment
&lt;/h3&gt;

&lt;p&gt;Using an open-weight model gives developers more flexibility to experiment with different models, adjust prompts, customize the application, and explore local inference without depending entirely on a single hosted AI provider.&lt;/p&gt;

&lt;h3&gt;
  
  
  💰 Lower Dependence on Paid APIs
&lt;/h3&gt;

&lt;p&gt;Local inference avoids per-request API charges, although it still uses computing resources such as memory, processing power, and electricity.&lt;/p&gt;

&lt;p&gt;For hobby projects and learning experiments, this can make repeated testing more accessible.&lt;/p&gt;

&lt;p&gt;Open innovation matters because it gives developers the opportunity to understand, customize, and build on AI technology instead of treating it as a black box.&lt;/p&gt;

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

&lt;p&gt;Halloween is the perfect excuse to experiment with the mysterious side of technology.&lt;/p&gt;

&lt;p&gt;The phrase &lt;em&gt;Ghost in the Machine&lt;/em&gt; makes me think about something invisible working behind the scenes: a model running on a computer, interpreting a few words, and turning them into an entire world of suspense.&lt;/p&gt;

&lt;p&gt;A simple prompt can become a haunted house, a forgotten village, a mysterious voice from an old radio, or a story about something that should never have returned.&lt;/p&gt;

&lt;p&gt;That is what makes this project interesting to me. The AI does not need to know the story beforehand. It takes an idea from the user and builds something new from it.&lt;/p&gt;

&lt;p&gt;At the same time, Día de los Muertos reminds us that stories can preserve memories, traditions, and the voices of people who are no longer with us. Although this project focuses on fictional horror, the same principle of accessible, locally controlled AI could also support storytelling and preserving personal narratives.&lt;/p&gt;

&lt;p&gt;Technology becomes more meaningful when it gives people new ways to express their imagination and preserve what matters to them.&lt;/p&gt;

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

&lt;p&gt;This project explores several important concepts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Running an open-weight language model locally.&lt;/li&gt;
&lt;li&gt;Integrating AI inference into a Python application.&lt;/li&gt;
&lt;li&gt;Designing prompts for creative text generation.&lt;/li&gt;
&lt;li&gt;Building an interface for an AI-powered tool.&lt;/li&gt;
&lt;li&gt;Understanding the trade-offs between local inference and hosted AI APIs.&lt;/li&gt;
&lt;li&gt;Exploring privacy, accessibility, and model flexibility in open-source AI.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It also demonstrates that an AI project does not always need an expensive API or a complicated cloud architecture to be worth exploring.&lt;/p&gt;

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

&lt;p&gt;There are several features I would love to explore as the project develops:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multiple horror styles, including psychological horror, supernatural mysteries, and folklore.&lt;/li&gt;
&lt;li&gt;Adjustable story length and suspense levels.&lt;/li&gt;
&lt;li&gt;A library for saving and revisiting generated stories.&lt;/li&gt;
&lt;li&gt;Optional text-to-speech narration for an immersive storytelling experience.&lt;/li&gt;
&lt;li&gt;A fully offline mode once all required models and dependencies are installed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are possible future improvements rather than features I am claiming are already implemented.&lt;/p&gt;

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

&lt;p&gt;This project is intended for the &lt;strong&gt;Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The focus is on creative experimentation with an open-weight model and local AI inference.&lt;/p&gt;

&lt;p&gt;Thanks to the DEV Community and Hacktoberfest organizers for creating opportunities to experiment, learn, and build with open-source technology.&lt;/p&gt;

&lt;p&gt;Sometimes, the most interesting thing about a machine is what it creates when you give it an idea.&lt;/p&gt;

&lt;p&gt;And sometimes, that idea is a ghost. 👻&lt;/p&gt;

&lt;h1&gt;
  
  
  devchallenge #hf26challenge #Hacktoberfest #OpenSourceAI #Python #Ollama #Qwen #GenerativeAI #MachineLearning #BuildInPublic
&lt;/h1&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>A Local AI File Organizer That Cleans Up Your Digital Mess</title>
      <dc:creator>Lavish Sheth</dc:creator>
      <pubDate>Tue, 20 Oct 2026 05:05:23 +0000</pubDate>
      <link>https://dev.to/lavish_sheth_91011ff98953/a-local-ai-file-organizer-that-cleans-up-your-digital-mess-4lnl</link>
      <guid>https://dev.to/lavish_sheth_91011ff98953/a-local-ai-file-organizer-that-cleans-up-your-digital-mess-4lnl</guid>
      <description>&lt;h1&gt;
  
  
  LazyDesk: A Local AI File Organizer That Cleans Up Your Digital Mess
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;LazyDesk is a privacy-first AI file organizer that does the boring work of cleaning up your computer for you.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;My Downloads folder often becomes a mess of PDFs, screenshots, documents, images, ZIP files, code files, and random files with confusing names. Organizing everything manually takes time, and I keep postponing it because it feels like a chore.&lt;/p&gt;

&lt;p&gt;LazyDesk is designed to solve this problem with a small, locally running AI model.&lt;/p&gt;

&lt;p&gt;Instead of manually opening every file and deciding where it belongs, LazyDesk can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Automatically categorize files&lt;/strong&gt; into folders such as Documents, Images, Code, Projects, and Archives.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Suggest meaningful filenames&lt;/strong&gt; based on file contents when supported.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Identify potential duplicates&lt;/strong&gt; and help prevent unnecessary clutter.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generate a simple summary&lt;/strong&gt; of what is inside a messy folder.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Create a cleanup plan&lt;/strong&gt; showing which files should be moved, renamed, or reviewed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ask for confirmation before making changes&lt;/strong&gt;, so the user stays in control.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is simple: spend less time managing files and more time doing the work that actually matters.&lt;/p&gt;

&lt;p&gt;No complicated setup of cloud AI services is required for the core AI workflow. LazyDesk is designed to run locally using an open-weight model, keeping personal documents on the user's own machine.&lt;/p&gt;

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

&lt;p&gt;The demo will show LazyDesk taking an unorganized Downloads folder and turning it into a clean, structured workspace.&lt;/p&gt;

&lt;p&gt;The workflow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select a folder to organize.&lt;/li&gt;
&lt;li&gt;Let the local AI analyze supported files and suggest categories.&lt;/li&gt;
&lt;li&gt;Preview the proposed changes.&lt;/li&gt;
&lt;li&gt;Approve the cleanup plan.&lt;/li&gt;
&lt;li&gt;Watch LazyDesk organize the files and generate a summary.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The demo will include a before-and-after comparison to demonstrate the result.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Project:&lt;/strong&gt; LazyDesk&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Planned technology stack:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python for file handling and automation.&lt;/li&gt;
&lt;li&gt;Ollama for running an open-weight language model locally.&lt;/li&gt;
&lt;li&gt;Qwen2.5 3B as the initial model for classification and filename suggestions.&lt;/li&gt;
&lt;li&gt;A lightweight interface for selecting folders, reviewing suggestions, and approving actions.&lt;/li&gt;
&lt;li&gt;Standard Python libraries for filesystem operations and duplicate detection.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project will be organized into separate modules for AI-based classification, file scanning, cleanup planning, safe file operations, and reporting.&lt;/p&gt;

&lt;p&gt;All file operations will use a preview-first workflow. The application will avoid deleting files automatically and will keep a record of completed changes so users can review what happened.&lt;/p&gt;

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

&lt;p&gt;LazyDesk is designed around the idea that AI should handle repetitive decisions without taking control away from the user.&lt;/p&gt;

&lt;p&gt;The workflow begins with a Python file scanner that collects basic metadata, such as filenames, extensions, file sizes, and folder locations. Where supported, the application can extract limited text from documents to improve classification.&lt;/p&gt;

&lt;p&gt;The local language model then suggests a category, a clearer filename, and a reason for each recommendation. Python validates the suggestions and prepares a cleanup plan.&lt;/p&gt;

&lt;p&gt;Before anything changes on disk, the user can inspect the plan and approve or reject individual actions.&lt;/p&gt;

&lt;p&gt;The key components are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Local inference:&lt;/strong&gt; Ollama runs the selected open-weight model.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI reasoning:&lt;/strong&gt; The model suggests file categories and descriptive names.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automation:&lt;/strong&gt; Python handles folder creation, file movement, and reporting.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Safety:&lt;/strong&gt; Preview mode, user approval, collision checks, and error handling help prevent accidental changes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The initial implementation will focus on common file types and a manageable folder size. More advanced document understanding and additional models can be introduced later.&lt;/p&gt;

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

&lt;p&gt;For a tool that reads and organizes personal files, privacy should not be an afterthought.&lt;/p&gt;

&lt;p&gt;A cloud-based AI service could perform similar classification, but it might require uploading filenames, document contents, or other sensitive information to an external provider.&lt;/p&gt;

&lt;p&gt;LazyDesk takes a different approach: the AI can run locally, allowing file analysis to happen on the user's own computer.&lt;/p&gt;

&lt;p&gt;Open-weight models also make experimentation possible. Developers can compare different models, adjust prompts, change the classification rules, and improve the workflow without tying the project to a single proprietary AI API.&lt;/p&gt;

&lt;p&gt;Open innovation makes this project more accessible because developers can inspect the implementation, adapt it to their needs, and contribute improvements to the community.&lt;/p&gt;

&lt;p&gt;The goal isn't to prove that local AI is always better than cloud AI. It is to show that a small, focused model can be useful for everyday automation while offering greater control over data, model selection, and running costs.&lt;/p&gt;

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

&lt;p&gt;The initial version will focus on building and testing the local file-organization workflow.&lt;/p&gt;

&lt;p&gt;An agent session or development walkthrough can be added after implementation and testing. It will demonstrate how the model makes recommendations, how the cleanup plan is validated, and how the application handles errors or conflicting filenames.&lt;/p&gt;

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

&lt;p&gt;The real win is eliminating a task that people repeatedly postpone.&lt;/p&gt;

&lt;p&gt;For an initial experiment, I plan to test LazyDesk on a folder containing approximately 100 mixed files and compare the time needed for manual organization against the time needed to review and approve the AI-generated cleanup plan.&lt;/p&gt;

&lt;p&gt;The goal is to reduce repetitive sorting and renaming while keeping the user in control.&lt;/p&gt;

&lt;p&gt;The application will also measure how long local inference takes, how many suggestions are accepted, and how many files require manual review.&lt;/p&gt;

&lt;p&gt;Rather than claiming a time-saving figure without evidence, I'll use these measurements to understand where the tool genuinely helps.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My definition of lazy productivity:&lt;/strong&gt; automate the boring parts, review the important decisions, and get back to work.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Open-source AI and local inference.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>WildWalk AI: An Open-Source AI Companion That Gets You Off the Screen &amp; Into the Real World</title>
      <dc:creator>Lavish Sheth</dc:creator>
      <pubDate>Tue, 06 Oct 2026 07:19:24 +0000</pubDate>
      <link>https://dev.to/lavish_sheth_91011ff98953/wildwalk-ai-an-open-source-ai-companion-that-gets-you-off-the-screen-into-the-real-world-2col</link>
      <guid>https://dev.to/lavish_sheth_91011ff98953/wildwalk-ai-an-open-source-ai-companion-that-gets-you-off-the-screen-into-the-real-world-2col</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;&lt;em&gt;This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass&lt;/em&gt;&lt;/p&gt;

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

&lt;h3&gt;
  
  
  🌿 WildWalk AI — Your AI Guide to the World Outside
&lt;/h3&gt;

&lt;p&gt;I built &lt;strong&gt;WildWalk AI&lt;/strong&gt;, an open-source AI-powered outdoor companion designed to help people spend &lt;strong&gt;less time on screens and more time in the real world&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of using AI to keep people chatting with a screen, WildWalk uses AI to create personalized outdoor adventures and encourage users to actually go outside.&lt;/p&gt;

&lt;p&gt;A user can tell WildWalk:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I have 60 minutes free and want to go for a peaceful walk."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;WildWalk then creates a personalized outdoor mission based on their available time, interests, and activity level.&lt;/p&gt;

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

&lt;h3&gt;
  
  
  🌳 60-Minute Nature Quest
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Distance:&lt;/strong&gt; 3 km&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Difficulty:&lt;/strong&gt; Easy&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Duration:&lt;/strong&gt; 60 minutes&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your missions:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Find 3 different types of leaves&lt;/li&gt;
&lt;li&gt;Listen for 2 different bird calls&lt;/li&gt;
&lt;li&gt;Take one interesting photograph&lt;/li&gt;
&lt;li&gt;Find something you've never noticed before&lt;/li&gt;
&lt;li&gt;Spend the final 10 minutes without looking at your phone&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;WildWalk can also help users explore nature by identifying plants, flowers, birds, and other things they discover outdoors.&lt;/p&gt;

&lt;p&gt;After completing an adventure, users can create an &lt;strong&gt;AI-generated Adventure Journal&lt;/strong&gt; containing their experience, discoveries, and observations.&lt;/p&gt;

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

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Generate the adventure. Put the phone away. Go outside. Touch grass. 🌿&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The project is designed for people who want to walk, hike, run, explore nature, practice photography, go birdwatching, garden, or simply spend more intentional time outdoors.&lt;/p&gt;

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

&lt;p&gt;The demo will show the complete WildWalk experience:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;User enters their available time and preferred outdoor activity.&lt;/li&gt;
&lt;li&gt;WildWalk generates a personalized outdoor adventure.&lt;/li&gt;
&lt;li&gt;The user receives nature challenges and missions.&lt;/li&gt;
&lt;li&gt;The user goes outside and completes the adventure.&lt;/li&gt;
&lt;li&gt;The user can document their discoveries.&lt;/li&gt;
&lt;li&gt;WildWalk generates an Adventure Journal from the experience.&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;WildWalk is built around &lt;strong&gt;open-weight AI&lt;/strong&gt;, with &lt;strong&gt;Gemma&lt;/strong&gt; serving as the core AI model.&lt;/p&gt;

&lt;p&gt;The project is designed so that the AI can run locally using &lt;strong&gt;Ollama&lt;/strong&gt;, allowing the adventure-generation experience to work without depending entirely on a closed cloud AI API.&lt;/p&gt;

&lt;p&gt;The planned architecture uses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React&lt;/strong&gt; for the frontend&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python + FastAPI&lt;/strong&gt; for the backend&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gemma&lt;/strong&gt; as the open-weight AI model&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama&lt;/strong&gt; for local inference&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MongoDB Atlas&lt;/strong&gt; for storing adventures and journals&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Render&lt;/strong&gt; for deployment&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sentry&lt;/strong&gt; for monitoring and debugging&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ElevenLabs&lt;/strong&gt; for optional voice guidance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The AI is responsible for generating personalized outdoor adventures, missions, nature challenges, explanations, and post-adventure journals.&lt;/p&gt;

&lt;p&gt;The important part is that the open-weight model isn't just an add-on. &lt;strong&gt;It is part of what makes the experience work.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;Most AI applications are designed to keep people interacting with technology.&lt;/p&gt;

&lt;p&gt;WildWalk takes the opposite approach.&lt;/p&gt;

&lt;p&gt;The question behind the project is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What if AI could help us spend less time with technology?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Using an open-weight model makes this idea more practical because the AI can potentially run locally rather than requiring every interaction to be sent to a closed AI provider.&lt;/p&gt;

&lt;p&gt;That provides several advantages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔒 More control over user data&lt;/li&gt;
&lt;li&gt;📴 Potential offline functionality&lt;/li&gt;
&lt;li&gt;💰 Lower running costs&lt;/li&gt;
&lt;li&gt;🔧 Ability to experiment with different models&lt;/li&gt;
&lt;li&gt;🧠 Ability to customize the AI experience&lt;/li&gt;
&lt;li&gt;🌐 Less dependence on a single closed AI provider&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For an outdoor application, local AI is especially interesting because users may be hiking, walking, camping, or exploring places with limited connectivity.&lt;/p&gt;

&lt;p&gt;The user can prepare their adventure before leaving and take the experience outside with them.&lt;/p&gt;

&lt;p&gt;This project demonstrates a different philosophy for AI:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;AI shouldn't always make us spend more time online. Sometimes, its job should be to help us log off.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

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

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

&lt;p&gt;Potential categories for WildWalk AI include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gemma — Best Use of Gemma&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Render — Best Use of Render&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MongoDB — Best Use of MongoDB Atlas&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sentry — Best Use of Sentry Agent Tracing&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ElevenLabs — Best Use of ElevenLabs&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Dose Buddy: a Medicine Reminder That Reads Prescriptions Locally with Gemma</title>
      <dc:creator>Lavish Sheth</dc:creator>
      <pubDate>Sun, 04 Oct 2026 08:17:14 +0000</pubDate>
      <link>https://dev.to/lavish_sheth_91011ff98953/dose-buddy-a-medicine-reminder-that-reads-prescriptions-locally-with-gemma-5bk0</link>
      <guid>https://dev.to/lavish_sheth_91011ff98953/dose-buddy-a-medicine-reminder-that-reads-prescriptions-locally-with-gemma-5bk0</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Dose Buddy&lt;/strong&gt; is a privacy-first medicine reminder that turns a doctor's instructions into a ready-to-use schedule. I built it for two people I care about: &lt;strong&gt;my dad&lt;/strong&gt; and &lt;strong&gt;my friend Abhay&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Reminder apps are only useful if someone has the patience to set them up. Entering every medicine, dose and timing by hand is tedious, and one typo means a missed or wrong reminder. I wanted something where you type the instructions exactly as the doctor wrote them, and the app does the rest.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it works.&lt;/strong&gt; You type the prescription instructions, or upload a photo of the prescription. A local AI model reads them and builds the schedule. You review it in an editable table, fix anything wrong, and save. Then Dose Buddy reminds you on the laptop and on a phone.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Natural-language input&lt;/td&gt;
&lt;td&gt;Understands text like "Amoxicillin 250mg every 8 hours for 5 days"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Photo input&lt;/td&gt;
&lt;td&gt;Reads a prescription photo with a vision-capable model&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Human confirmation&lt;/td&gt;
&lt;td&gt;Shows an editable table; nothing is saved until the user approves&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Today view&lt;/td&gt;
&lt;td&gt;Lists today's doses with done and upcoming markers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Phone alarms&lt;/td&gt;
&lt;td&gt;Exports a &lt;code&gt;.ics&lt;/code&gt; calendar file with a repeating alarm per dose, which works offline&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Desktop alerts&lt;/td&gt;
&lt;td&gt;A background script shows a notification at each dose time&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Safety note:&lt;/strong&gt; Dose Buddy only sends reminders. It is not medical advice, and the schedule must always be checked against the original prescription.&lt;/p&gt;
&lt;/blockquote&gt;

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

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

&lt;p&gt;The walkthrough shows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Entering prescription instructions&lt;/li&gt;
&lt;li&gt;The AI producing an editable schedule table&lt;/li&gt;
&lt;li&gt;Saving the schedule and viewing today's doses&lt;/li&gt;
&lt;li&gt;The reminder script firing an alert at the scheduled time&lt;/li&gt;
&lt;/ol&gt;

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


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/lavishsheth" rel="noopener noreferrer"&gt;
        lavishsheth
      &lt;/a&gt; / &lt;a href="https://github.com/lavishsheth/dose-buddy" rel="noopener noreferrer"&gt;
        dose-buddy
      &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;💊 Dose Buddy&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;A medicine reminder built for one real person. Give it a prescription photo or plain text
a local open model reads it, you confirm the result, and it sets reminders.&lt;/p&gt;
&lt;p&gt;Everything runs on your own machine through &lt;a href="https://ollama.com" rel="nofollow noopener noreferrer"&gt;Ollama&lt;/a&gt;. No cloud AI, no API key
and no health data leaves the laptop.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Run it&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; 1. Install Ollama, then pull an open model that can read images&lt;/span&gt;
ollama pull gemma3:4b

&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; 2. Install and start the app&lt;/span&gt;
pip install -r requirements.txt
streamlit run app.py

&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; 3. In a second terminal, start the reminder script&lt;/span&gt;
python reminder.py&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;How it works&lt;/h2&gt;

&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Type the instructions or upload a photo.&lt;/li&gt;
&lt;li&gt;The model returns JSON (medicine, dose, times, days).&lt;/li&gt;
&lt;li&gt;You check and edit every row. Nothing is saved until you confirm.&lt;/li&gt;
&lt;li&gt;Reminders: download an &lt;code&gt;.ics&lt;/code&gt; file for phone alarms (works offline),
and/or run &lt;code&gt;reminder.py&lt;/code&gt; for desktop alerts.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Optional Telegram messages (needs internet):&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;…
&lt;/div&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/lavishsheth/dose-buddy" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dose-buddy/
├── app.py            # Streamlit interface
├── core.py           # Prompt, JSON parsing, schedule logic, .ics export
├── reminder.py       # Background reminder alerts
├── requirements.txt
└── README.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gemma 3 (4B):&lt;/strong&gt; Google's open-weight model, which reads and structures the instructions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama:&lt;/strong&gt; runs the model locally on my laptop&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streamlit and Python:&lt;/strong&gt; the interface and application logic&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Architecture
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Typed text or photo
        ↓
Gemma 3 via Ollama (runs locally)
        ↓
Structured JSON (medicine, dose, times, days, notes)
        ↓
Editable table, confirmed by the user
        ↓
Saved schedule
        ↓
.ics phone alarms  +  desktop alerts (reminder.py)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Design decisions
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Structured output.&lt;/strong&gt; The model must return a fixed JSON format at temperature 0, so the same input gives the same result. The parser also tolerates extra text around the JSON.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No guessing.&lt;/strong&gt; The prompt tells the model to copy names and doses exactly as written and to return &lt;code&gt;UNCLEAR&lt;/code&gt; when something can't be read. The app refuses to save any row marked &lt;code&gt;UNCLEAR&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Human in the loop.&lt;/strong&gt; Small models can misread doses, so the user always reviews and edits the table before saving.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plain-language time rules.&lt;/strong&gt; Phrases like "after dinner" or "every 8 hours" are mapped to clock times in one place, so they are easy to adjust.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Two reminder paths.&lt;/strong&gt; The &lt;code&gt;.ics&lt;/code&gt; file works on any phone without internet, and &lt;code&gt;reminder.py&lt;/code&gt; covers the laptop.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Testing
&lt;/h3&gt;

&lt;p&gt;I tested the parsing, scheduling and calendar-export logic with scripts covering time formats, malformed model output, course lengths and calendar rules. Then I ran the full app on my laptop with Ollama and recorded the demo. To check that alerts fire, I set a dose a couple of minutes ahead and watched &lt;code&gt;reminder.py&lt;/code&gt; trigger it on time. I also made a clearly labelled sample prescription image for testing the photo path.&lt;/p&gt;

&lt;h3&gt;
  
  
  What I learned along the way
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Setup has more steps than the code.&lt;/strong&gt; The model has to be downloaded first, and Ollama has to be running before the app can use it. I added a status indicator in the sidebar so a missing connection is obvious.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A calendar file is not obvious to everyone.&lt;/strong&gt; My first instinct was to "run" the downloaded &lt;code&gt;.ics&lt;/code&gt; file. It is meant to be opened on a phone, where it imports the alarms. The app's reminders tab now explains this.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Small models need guardrails.&lt;/strong&gt; Telling the model to say &lt;code&gt;UNCLEAR&lt;/code&gt; instead of guessing, and forcing a human review, matters more than any prompt cleverness.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitations and next steps
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Small local models can misread handwriting or blurry photos, so the confirmation step is essential.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;reminder.py&lt;/code&gt; only works while the laptop is on.&lt;/li&gt;
&lt;li&gt;Next: a "mark as taken" button, alerts for missed doses, and more languages.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How AI helped me build it
&lt;/h3&gt;

&lt;p&gt;I wrote the code with help from Claude in a chat. The AI running &lt;em&gt;inside&lt;/em&gt; the application is the open model, Gemma.&lt;/p&gt;

&lt;h2&gt;
  
  
  Handing it over
&lt;/h2&gt;

&lt;p&gt;Dose Buddy is built for my dad and Abhay, and I'm putting it in their hands with this submission. Their feedback is the real test, because they are the ones who will decide whether it saves them effort. I'll update this post with what they say.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Privacy.&lt;/strong&gt; A medicine list is sensitive personal information. Because Gemma runs locally through Ollama, prescription text and photos never leave the laptop, and the AI step needs no internet connection. For something this personal, I didn't want to send it to someone else's servers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cost.&lt;/strong&gt; There are no API keys, per-request fees or usage limits, so family and friends can use it every day without a bill.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Control.&lt;/strong&gt; The model is a single setting in the sidebar, so it can be swapped for another open model, including a larger one for better handwriting. The behavior lives in one readable prompt I can edit directly. With a closed API, I couldn't control where the data goes, what it costs, or which model version I depend on.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Gemma:&lt;/strong&gt; the core of the app is Gemma 3 running locally through Ollama.&lt;/li&gt;
&lt;/ul&gt;

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