<?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: Riya Dhami</title>
    <description>The latest articles on DEV Community by Riya Dhami (@riyadhami13).</description>
    <link>https://dev.to/riyadhami13</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%2F4167651%2Fa7f5dbef-33ed-4396-9092-2bd7a7d8ee46.jpg</url>
      <title>DEV Community: Riya Dhami</title>
      <link>https://dev.to/riyadhami13</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/riyadhami13"/>
    <language>en</language>
    <item>
      <title>💀Ghost in the Machine: Where 90s Retro Horror Meets the Digital Ofrenda🕯️</title>
      <dc:creator>Riya Dhami</dc:creator>
      <pubDate>Wed, 28 Oct 2026 12:59:26 +0000</pubDate>
      <link>https://dev.to/riyadhami13/ghost-in-the-machine-where-90s-retro-horror-meets-the-digital-ofrenda-3nd4</link>
      <guid>https://dev.to/riyadhami13/ghost-in-the-machine-where-90s-retro-horror-meets-the-digital-ofrenda-3nd4</guid>
      <description>&lt;p&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;/p&gt;

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

&lt;p&gt;PhantasmLocal is a dual-mode, 100% privacy-respecting web application that bridges the eerie nostalgia of 1990s retro horror &amp;amp; BBS dial-up terminals (October 31 / Halloween) with the warm, reverent memory-keeping of Día de los Muertos (November 1–2).&lt;/p&gt;

&lt;p&gt;When the calendar thinners between past and present, memories shouldn't depend on uptime servers or cloud subscriptions. PhantasmLocal is built around an offline-first philosophy, offering:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;🕯️ Digital Memory Ofrenda (Altar): A candle-lit space where users can pin family photos and memories to a Polaroid altar and instantly generate respectful rhyming Calaveras Literaria poems using local open-weight AI logic.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;💻 199X Haunted TTY &amp;amp; BBS Séance: A retro CRT terminal featuring green-and-red phosphor aesthetics, anomaly detection via TabPFN process scanning, an extinct language séance room (COBOL, Turbo Pascal, Flash), and a Shortwave Ghost Radio tuner.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🎵 Autonomous Horror Web Audio Engine: A pure Web Audio API synthesizer that runs entirely in the browser without external files, playing subterranean ambient drones, static bursts, and ghostly laughs.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;🔗 Live Demo: &lt;a href="https://riyadhami13.github.io/phantasmlocal/" rel="noopener noreferrer"&gt;https://riyadhami13.github.io/phantasmlocal/&lt;/a&gt;&lt;/p&gt;

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


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/RiyaDhami13" rel="noopener noreferrer"&gt;
        RiyaDhami13
      &lt;/a&gt; / &lt;a href="https://github.com/RiyaDhami13/phantasmlocal" rel="noopener noreferrer"&gt;
        phantasmlocal
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      PhantasmLocal is a dual-mode, 100% privacy-respecting local web application built for the  Hacktoberfest "Ghost in the Machine" challenge.
    &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;🕯️💀 PhantasmLocal: Offline Memory Ofrenda &amp;amp; 199X Haunted BBS&lt;/h1&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“What is a ghost, if not an unextinguished process running on hardware we forgot we owned?”&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="https://riyadhami13.github.io/phantasmlocal/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/64223ebee5f25aba861b320de2ea16f52bee13d36ab44970afbcc72862a39c92/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f44454d4f2d4c6976652532306f6e25323047697448756225323050616765732d6f72616e67653f7374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="GitHub Pages Live Demo"&gt;&lt;/a&gt;
&lt;a href="https://hacktoberfest.com/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/da0c7fd7a45e3bcacc0c1cf5a5feb131d2183713b6e6e487f666ac9d58467029/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4861636b746f626572666573742d323032362d707572706c653f7374796c653d666f722d7468652d6261646765" alt="Hacktoberfest 2026"&gt;&lt;/a&gt;
&lt;a href="https://github.com/RiyaDhami13/phantasmlocal/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/608c8dfda488178950ce502d7697514db3a6a712579327ed90b9b594260f6355/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d626c75652e7376673f7374796c653d666f722d7468652d6261646765" alt="License: MIT"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PhantasmLocal&lt;/strong&gt; is a dual-mode, 100% privacy-respecting local web application built for the &lt;strong&gt;Hacktoberfest "Ghost in the Machine" challenge&lt;/strong&gt;. It combines the reverent warmth of &lt;strong&gt;Día de los Muertos&lt;/strong&gt; (Nov 1–2) with the eerie nostalgia of &lt;strong&gt;1990s retro horror &amp;amp; BBS dial-up terminals&lt;/strong&gt; (Oct 31).&lt;/p&gt;
&lt;p&gt;Built entirely around open-source AI principles, &lt;strong&gt;PhantasmLocal&lt;/strong&gt; operates with zero cloud telemetry or external API dependencies—keeping family stories, memorial photos, and system diagnostics entirely on your local machine.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🌟 Core Features&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;1. 🕯️ Día de los Muertos Digital Memory Ofrenda (Altar)&lt;/h3&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Warm Candlelit Aesthetic:&lt;/strong&gt; Candle-lit gradients, marigold flower accents, and flickering memorial typography.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Polaroid Memory Vault:&lt;/strong&gt; Pin family photos and stories with instant client-side rendering and grainy vintage filters.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local AI Calavera Literaria Generator:&lt;/strong&gt; Synthesizes custom, witty, and heartwarming rhyming…&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/RiyaDhami13/phantasmlocal" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


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

&lt;p&gt;PhantasmLocal is engineered with clean, modular vanilla web technologies:&lt;/p&gt;

&lt;p&gt;index.html: Semantic structural layout housing the BBS navigation, CRT scanline layers, ofrenda forms, and terminal windows.&lt;/p&gt;

&lt;p&gt;style.css: Custom 199x retro styling, CRT flickering keyframes, warm candle glow animations, and chunky Win95-style bevels.&lt;/p&gt;

&lt;p&gt;script.js: The core engine, incorporating a real-time Web Audio API synthesizer for procedural soundscapes, a terminal command parser, a FileReader Polaroid processor, and localized poetic synthesis modules inspired by open-weight architectures like Gemma.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TabPFN Integration:&lt;/strong&gt; The haunted terminal features a &lt;code&gt;scan&lt;/code&gt; command powered by a simulated &lt;strong&gt;TabPFN&lt;/strong&gt; tabular anomaly detection engine (&lt;code&gt;TabPFN 3.5 Engine&lt;/code&gt;). It runs local kernel telemetry checks to identify phantom background processes on port 666-showcasing how fast, prior-data-fitted tabular models excel at quick, zero-training classification and tabular diagnostics.&lt;/p&gt;

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

&lt;p&gt;When building tools for remembrance, cultural heritage, and personal history, privacy isn't a feature-it's a sacred requirement.&lt;/p&gt;

&lt;p&gt;Relying on closed cloud APIs for family remembrance means your personal history is tied to corporate cloud lifecycles. If a service shuts down or deprecates its API, your digital altar vanishes. Open-source models and vanilla browser runtimes guarantee data sovereignty: family photographs and deeply personal memories never leave the user's device or feed third-party training data. Open innovation makes permanent, self-sovereign digital preservation possible.&lt;/p&gt;

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

&lt;p&gt;PhantasmLocal treats technology not just as a tool for productivity, but as a medium for storytelling. Watching the candle-lit Polaroid altar glow against the harsh green CRT phosphor lines brings two contrasting worlds together-reminding us that beneath every layer of code and hardware, human memories are what truly endure.&lt;/p&gt;

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

&lt;p&gt;Best Use of Gemma&lt;br&gt;
 Best Use of TabPFN&lt;/p&gt;

&lt;p&gt;Thank you for reading!&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>opensource</category>
      <category>ai</category>
    </item>
    <item>
      <title>📝 Copilot DevLog CLI: Track Developer Decisions &amp; Generate Clean Markdown Logs</title>
      <dc:creator>Riya Dhami</dc:creator>
      <pubDate>Thu, 22 Oct 2026 11:12:12 +0000</pubDate>
      <link>https://dev.to/riyadhami13/copilot-devlog-cli-track-developer-decisions-generate-clean-markdown-logs-20dl</link>
      <guid>https://dev.to/riyadhami13/copilot-devlog-cli-track-developer-decisions-generate-clean-markdown-logs-20dl</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;During fast-paced hackathons and daily coding sessions, it is easy to lose track of smaller bugfixes, architectural choices, and technical breakthroughs.&lt;/p&gt;

&lt;p&gt;To solve this, I built copilot-devlog-cli—a lightweight, local-first Python command-line tool designed to record dev notes in real-time and export them into structured Markdown post-mortems (DEVLOG_SUMMARY.md).&lt;/p&gt;

&lt;p&gt;Inspired by a challenge to use AI coding assistants to construct practical applications, I wanted to build something I could actually use while building future projects. It allows developers to quickly log entries directly from the terminal and export clean summaries without interrupting their flow.&lt;/p&gt;

&lt;p&gt;Key Learnings &amp;amp; Features:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Subcommand CLI Interface: Implemented add, view, and export subcommands using Python's argparse.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Robust Storage Handling: Safely stores entries in devlog_entries.json, gracefully reporting unreadable or malformed files rather than failing silently.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Custom Exporting: Supports custom log file targeting (--log-file) and flexible export destinations (--output).&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Demo
&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/RiyaDhami13" rel="noopener noreferrer"&gt;
        RiyaDhami13
      &lt;/a&gt; / &lt;a href="https://github.com/RiyaDhami13/copilot-devlog-cli" rel="noopener noreferrer"&gt;
        copilot-devlog-cli
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A lightweight terminal activity logger and Markdown exporter built in Python with GitHub Copilot.
    &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;copilot-devlog-cli&lt;/h1&gt;

&lt;/div&gt;
&lt;p&gt;A lightweight Python CLI to record daily development logs and export them to Markdown.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Requirements&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Python 3.8+&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Usage&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;From the repository root, run:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;python devlog.py &lt;span class="pl-k"&gt;&amp;lt;&lt;/span&gt;command&lt;span class="pl-k"&gt;&amp;gt;&lt;/span&gt; [options]&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Use &lt;code&gt;--log-file&lt;/code&gt; before the subcommand to store entries in a different JSON
file. Missing log files start empty; malformed or unreadable files are reported
as CLI errors instead of being silently replaced.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Add a log entry&lt;/h3&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;python devlog.py add --title &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;"&lt;/span&gt;Fix auth bug&lt;span class="pl-pds"&gt;"&lt;/span&gt;&lt;/span&gt; --category &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;"&lt;/span&gt;Bugfix&lt;span class="pl-pds"&gt;"&lt;/span&gt;&lt;/span&gt; --notes &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;"&lt;/span&gt;Resolved token refresh issue&lt;span class="pl-pds"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;View all entries&lt;/h3&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;python devlog.py view&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Export Markdown summary&lt;/h3&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;python devlog.py &lt;span class="pl-k"&gt;export&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;To write the Markdown summary somewhere else, use &lt;code&gt;--output&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;python devlog.py &lt;span class="pl-k"&gt;export&lt;/span&gt; --output reports/devlog.md&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Output files&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;devlog_entries.json&lt;/code&gt;: local JSON storage for all entries&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;DEVLOG_SUMMARY.md&lt;/code&gt;: generated Markdown summary document&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/RiyaDhami13/copilot-devlog-cli" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;Here is copilot-devlog-cli in action inside the terminal:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Add a log entry
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python devlog.py add &lt;span class="nt"&gt;--title&lt;/span&gt; &lt;span class="s2"&gt;"Fix auth token refresh"&lt;/span&gt; &lt;span class="nt"&gt;--category&lt;/span&gt; &lt;span class="s2"&gt;"Bugfix"&lt;/span&gt; &lt;span class="nt"&gt;--notes&lt;/span&gt; &lt;span class="s2"&gt;"Resolved silent 401 response on expired JWT"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Viewing Recent Dev Notes
&lt;/h3&gt;



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

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Exporting Markdown Summary
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python devlog.py &lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nt"&gt;--output&lt;/span&gt; reports/devlog.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://dev.tourl"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  🛠️ Development Log Summary
&lt;/h1&gt;

&lt;h2&gt;
  
  
  [Bugfix] Fix auth token refresh
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Notes:&lt;/strong&gt; Resolved silent 401 response on expired JWT&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Timestamp:&lt;/strong&gt; 2026-10-22 14:30&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;GitHub Copilot&lt;br&gt;
I leveraged GitHub Copilot as my primary pair programmer throughout the development process.&lt;/p&gt;

&lt;p&gt;How it was implemented:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;CLI Scaffolding: Copilot helped generate the boilerplate for complex argparse subcommand structures and optional flag parser rules (--log-file, --output).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Error &amp;amp; Edge-Case Handling: Guided the implementation of safe JSON parsing logic—ensuring missing files start gracefully as empty datasets while corrupted files trigger informative CLI error messages.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Markdown Formatter: Assisted in writing string serialization routines to convert raw JSON logs into clean, readable Markdown documents.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Working with Copilot significantly accelerated the build phase, allowing me to focus on UX and error handling rather than syntax lookup.&lt;/p&gt;

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

&lt;p&gt;Building this tool during the MLH challenge window was an incredible learning curve!&lt;/p&gt;

&lt;p&gt;The experience highlighted how AI assistants can transform simple prompt challenges into functional developer utilities. Interacting with the global hacker community and seeing the creative ways developers solve everyday friction points inspired me to focus on local-first, developer-centric tooling. What I'll remember most is the satisfaction of using the tool I built to log the process of building it!&lt;/p&gt;

&lt;p&gt;Thanks for reading! &lt;/p&gt;

</description>
      <category>mlhacks</category>
      <category>devchallenge</category>
      <category>hackathon</category>
      <category>githubcopilot</category>
    </item>
    <item>
      <title>🦥 TidySloth CLI: The Local-First File Organizer That Embraces Sloth Mode</title>
      <dc:creator>Riya Dhami</dc:creator>
      <pubDate>Thu, 22 Oct 2026 06:07:08 +0000</pubDate>
      <link>https://dev.to/riyadhami13/tidysloth-cli-the-local-first-file-organizer-that-embraces-sloth-mode-3cga</link>
      <guid>https://dev.to/riyadhami13/tidysloth-cli-the-local-first-file-organizer-that-embraces-sloth-mode-3cga</guid>
      <description>&lt;p&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;/p&gt;

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

&lt;p&gt;TidySloth CLI is a lightweight, privacy-focused, local-first Python command-line utility designed to automate digital file organization.&lt;/p&gt;

&lt;p&gt;Instead of spending precious time sorting messy Downloads, Desktop, or project folders, TidySloth scans your target directory, categorizes clutter into clean subfolders (Code, Documents, Images, Archives, and Others), and generates a clear Markdown summary index (TIDY_INDEX.md). It channels your inner sloth by handling the tedious file cleanup you keep putting off—all in milliseconds on your own machine.&lt;/p&gt;

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

&lt;p&gt;Here is tidysloth-cli in action inside VS Code:&lt;/p&gt;

&lt;p&gt;Key Features:&lt;br&gt;
scan mode: Previews file distribution and updates the index without moving anything.&lt;/p&gt;

&lt;p&gt;tidy mode: Safely organizes files into categorized subfolders.&lt;/p&gt;

&lt;p&gt;--dry-run flag: Lets you preview exact move operations risk-free.&lt;/p&gt;

&lt;p&gt;TIDY_INDEX.md Generation: Keeps a clean Markdown manifest of all organized files.&lt;/p&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/RiyaDhami13" rel="noopener noreferrer"&gt;
        RiyaDhami13
      &lt;/a&gt; / &lt;a href="https://github.com/RiyaDhami13/tidysloth-cli" rel="noopener noreferrer"&gt;
        tidysloth-cli
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A local-first Python file-organizer CLI that cleans up digital clutter at sloth speed.
    &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;🦥 tidysloth-cli&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;A local-first Python file-organizer CLI that cleans up digital clutter at sloth speed. Built with &lt;strong&gt;GitHub Copilot&lt;/strong&gt;.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Features&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Organizes files into category folders: &lt;code&gt;Code&lt;/code&gt;, &lt;code&gt;Documents&lt;/code&gt;, &lt;code&gt;Images&lt;/code&gt;, &lt;code&gt;Archives&lt;/code&gt;, and &lt;code&gt;Others&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Uses &lt;code&gt;pathlib&lt;/code&gt; for safe path handling and &lt;code&gt;argparse&lt;/code&gt; for CLI parsing&lt;/li&gt;
&lt;li&gt;Supports a non-destructive preview mode with &lt;code&gt;--dry-run&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Generates a clean markdown summary index (&lt;code&gt;TIDY_INDEX.md&lt;/code&gt;) for both scan and tidy runs&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Requirements&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Python 3.8+&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Usage&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Run from this repository root:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;python tidysloth.py --help&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Scan a directory&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;Scans files and writes &lt;code&gt;TIDY_INDEX.md&lt;/code&gt; with category counts and file listings.&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;python tidysloth.py scan --path ./target_folder&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;If no target is provided, the current directory is used:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;python tidysloth.py scan&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Tidy a directory&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;Moves files into category subfolders and updates &lt;code&gt;TIDY_INDEX.md&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;python tidysloth.py tidy --path ./target_folder&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Dry run&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;Preview all move operations without changing any files:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;python tidysloth.py tidy --path ./target_folder --dry-run&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;File categorization&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Code&lt;/strong&gt;…&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/RiyaDhami13/tidysloth-cli" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


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

&lt;p&gt;TidySloth was engineered from the ground up using GitHub Copilot as an AI pair programmer.&lt;/p&gt;

&lt;p&gt;Built using Python standard libraries (pathlib for safe cross-platform file system operations and argparse for subcommands), GitHub Copilot assisted across the entire build workflow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;CLI Architecture: Copilot scaffolded clean subcommand parsing (scan and tidy).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Safe File Operations: Assisted in implementing dry-run previews, collision prevention, and directory creation logic.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Markdown Generation: Automated the string formatting logic for generating the TIDY_INDEX.md report.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;Digital file clutter often contains sensitive information—personal documents, private code snippets, financial records, or configuration files.&lt;/p&gt;

&lt;p&gt;100% Private &amp;amp; Offline: TidySloth processes everything locally. Your private filenames and directory contents are never transmitted to cloud servers or third-party APIs.&lt;/p&gt;

&lt;p&gt;Zero Cost &amp;amp; Latency: Runs instantly with zero cloud dependencies, API keys, or subscriptions.&lt;/p&gt;

&lt;p&gt;Reliable Local Execution: It works anywhere—on a flight, off the grid, or on low-power devices.&lt;/p&gt;

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

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

&lt;p&gt;Sorting a cluttered downloads directory manually usually takes 10–15 minutes of tedious drag-and-drop effort. TidySloth completes the same job in less than 1 second. I used it this week to clean up my messy project workspace and instantly generate structured Markdown indexes without breaking my focus.&lt;/p&gt;

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

&lt;p&gt;Best Use of GitHub Copilot (Built using GitHub Copilot for code architecture, CLI parsing, and Markdown generation).&lt;/p&gt;

&lt;p&gt;Thanks for reading&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%2Fak61lq94i2460f4uofua.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%2Fak61lq94i2460f4uofua.PNG" alt=" " width="800" height="425"&gt;&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>python</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Why I Built VaultDocs AI: Local-First Contract Risk Screening with Open Models</title>
      <dc:creator>Riya Dhami</dc:creator>
      <pubDate>Thu, 15 Oct 2026 16:18:15 +0000</pubDate>
      <link>https://dev.to/riyadhami13/why-i-built-vaultdocs-ai-local-first-contract-risk-screening-with-open-models-100n</link>
      <guid>https://dev.to/riyadhami13/why-i-built-vaultdocs-ai-local-first-contract-risk-screening-with-open-models-100n</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week2-2026-10-12"&gt;Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;VaultDocs AI is a local-first, privacy-guaranteed contract risk screening assistant tailored for freelancers, contractors, and boutique agency owners.&lt;/p&gt;

&lt;p&gt;Freelancers frequently sign Master Services Agreements (MSAs), Statements of Work (SOWs), and Non-Disclosure Agreements (NDAs) loaded with unfavorable clauses-such as unlimited indemnification, intellectual property handovers, oppressive payment terms (Net 90+), and unilateral termination rights. Hiring a legal professional for every contract review is cost-prohibitive for independent workers. However, uploading confidential client contracts to commercial cloud LLMs (like standard online AI chat tools) directly violates client non-disclosure agreements (NDAs) and risks exposing sensitive commercial data to server logs and third-party AI training pipelines.&lt;/p&gt;

&lt;p&gt;VaultDocs AI solves this by running 100% on the user's local machine with zero cloud connectivity. No contract text, vector embeddings, or prompts ever leave local memory.&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Parses PDF contracts into page-boundary chunks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Uses a fast in-memory hybrid ranker (BM25 + legal keyword boost) and dense FAISS vector index to retrieve risk-prone sections in under 5 milliseconds.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Performs local open-weight LLM screening using llama3.2:1b, gemma:2b, or qwen2.5:3b via Ollama.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Validates model citations directly against extracted PDF text to eliminate hallucinations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Renders a professional, interactive 3-column legal review workstation with customizable risk scoring (0–100) and downloadable Markdown audit reports.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnkcam7g1b3k0w1d40ekl.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%2Fnkcam7g1b3k0w1d40ekl.png" alt=" " width="800" height="386"&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%2Fq3x58ukf510w3e2qh6s0.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%2Fq3x58ukf510w3e2qh6s0.png" alt=" " width="800" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;YouTube Walkthrough: &lt;a href="https://youtu.be/pede-5xhahY" rel="noopener noreferrer"&gt;https://youtu.be/pede-5xhahY&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;The complete project is open-source and up on GitHub:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/RiyaDhami13/vaultdocs-ai" rel="noopener noreferrer"&gt;https://github.com/RiyaDhami13/vaultdocs-ai&lt;/a&gt; &lt;/p&gt;

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

&lt;p&gt;I wanted to build something practical that relies entirely on open-source AI tools running locally:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Local LLM Runtime (Ollama): I hooked up Ollama (127.0.0.1:11434) so it runs lightweight, open-weight models like llama3.2:1b, gemma:2b, and qwen2.5:3b right on my machine without any external APIs.
2.PDF Processing (PyMuPDF): Used PyMuPDF to parse contracts page-by-page while keeping exact page numbers intact so citations map back correctly.&lt;/li&gt;
&lt;li&gt;Hybrid Retrieval (FastClauseRetriever): To avoid heavy search lags, I built a fast in-memory BM25 and legal keyword ranker that pulls relevant clauses in under 5ms, backed by SentenceTransformers and FAISS CPU when needed.&lt;/li&gt;
&lt;li&gt;Pydantic v2 &amp;amp; JSON Auto-Repair: Small local models sometimes cut off JSON responses or format things slightly differently. I wrote a custom auto-repair handler with Pydantic v2 to safely catch truncated responses, fix them up, and parse them cleanly without throwing errors.&lt;/li&gt;
&lt;li&gt;Citation Validation Engine: Cross-checks the model's extracted quotes against the actual contract text to verify page numbers and flag anything unverified.&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;For a tool dealing with legal contracts and sensitive freelance client work, open innovation wasn't just a nice-to-have-it was the only way this could work.&lt;/p&gt;

&lt;p&gt;If I used a closed cloud API, every single clause, financial rate, and proprietary scope would get piped through a third-party server, instantly breaking client non-disclosure agreements. Running open-weight models locally via Ollama means absolute data privacy with zero cloud leakage. Plus, keeping the per-query runtime cost at $0 makes it actually sustainable for freelancers who don't want to deal with unpredictable token billing.  &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; Used Google's open-weight model family (&lt;code&gt;gemma:2b&lt;/code&gt;) running locally via Ollama for fast, private contract screening.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of GitHub Copilot:&lt;/strong&gt; Leveraged GitHub Copilot throughout project scaffolding, UI layout design, and service module refactoring.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks for reading! &lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>ai</category>
      <category>opensource</category>
    </item>
    <item>
      <title>🥾TrailQuest AI: Forcing myself to touch grass with local Python, Gemma &amp; Ollama 🌱</title>
      <dc:creator>Riya Dhami</dc:creator>
      <pubDate>Sat, 10 Oct 2026 07:20:50 +0000</pubDate>
      <link>https://dev.to/riyadhami13/trailquest-ai-forcing-myself-to-touch-grass-with-local-python-gemma-ollama-f9p</link>
      <guid>https://dev.to/riyadhami13/trailquest-ai-forcing-myself-to-touch-grass-with-local-python-gemma-ollama-f9p</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;TrailQuest AI&lt;/strong&gt;, an offline-first, local AI outdoor adventure generator designed to break screen fatigue by turning local AI inference into physical outdoor quests.&lt;/p&gt;

&lt;p&gt;As an engineering student spending long hours in front of my desktop PC, I noticed how easy it is to fall into screen lock when trying to take a break. &lt;strong&gt;TrailQuest AI&lt;/strong&gt; minimizes screen interaction to under 30 seconds:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You pick your available time (10 to 120 minutes) and challenge level.&lt;/li&gt;
&lt;li&gt;You select an outdoor vibe (&lt;em&gt;Mindful &amp;amp; Chill&lt;/em&gt;, &lt;em&gt;Scavenger Hunt&lt;/em&gt;, &lt;em&gt;Energetic Walk&lt;/em&gt;, or &lt;em&gt;Nature Photography&lt;/em&gt;) and current weather/setting.&lt;/li&gt;
&lt;li&gt;In seconds, local inference streams a structured 3-step "Quest Card" with route goals, mindfulness observation tasks, reflection photo challenges, and trail safety tips.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once the card appears, your screen experience ends—you step outside and touch grass.&lt;/p&gt;




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

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbc2v5e92uutql8kda26s.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%2Fbc2v5e92uutql8kda26s.PNG" alt="TrailQuest AI Running Locally" width="799" height="410"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Example Quest Card Output (Sunlit Sojourn: A Mindful Walk):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Step 1 (Route &amp;amp; Goal):&lt;/strong&gt; Complete a 1-mile loop around the park.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Step 2 (Observation &amp;amp; Mindfulness):&lt;/strong&gt; Notice how sunlight filters through the leaves, creating dancing patterns on the ground. Count at least 5 different types of leaf shapes or colors as you walk.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Step 3 (Reflection &amp;amp; Photo Challenge):&lt;/strong&gt; Snap a photo where you feel most relaxed and peaceful. Reflect on why this moment feels so rejuvenating.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Safety &amp;amp; Trail Tip:&lt;/strong&gt; Stay hydrated and wear sunscreen to protect yourself from the sun's rays.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&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/RiyaDhami13" rel="noopener noreferrer"&gt;
        RiyaDhami13
      &lt;/a&gt; / &lt;a href="https://github.com/RiyaDhami13/trailquest-ai" rel="noopener noreferrer"&gt;
        trailquest-ai
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Demo
    &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;🥾 TrailQuest AI — Offline Outdoor Adventure Generator&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week1-2026-10-05" rel="nofollow"&gt;Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What I Built&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;TrailQuest AI&lt;/strong&gt; is a lightweight, local-first web application that turns screen time into offline real-world outdoor adventures.&lt;/p&gt;
&lt;p&gt;Instead of endlessly scrolling through social media or struggling to decide what to do outside, users pick their available time (e.g., 10–120 minutes), their desired outdoor vibe (&lt;em&gt;Mindful &amp;amp; Chill, Scavenger Hunt, Energetic Walk, Nature Photography, Rainy Day Walks, Fall Foliage Tracker, Night Sky Observation, etc.&lt;/em&gt;), weather/season setting, and immediate location.&lt;/p&gt;
&lt;p&gt;In seconds, &lt;strong&gt;TrailQuest AI&lt;/strong&gt; generates a personalized, 3-step physical "Quest Card" with clear goals, observation challenges, reflection prompts, and safety tips. Once generated, the screen experience ends and the user steps outside to "touch grass."&lt;/p&gt;
&lt;p&gt;It is built for students, remote workers, and anyone looking to break screen fatigue without exposing their daily location habits…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/RiyaDhami13/trailquest-ai" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;





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

&lt;p&gt;TrailQuest AI is built around a pure Python, production-grade local AI architecture:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend &amp;amp; Dashboard:&lt;/strong&gt; Built with &lt;strong&gt;Streamlit&lt;/strong&gt; for a clean, dark-mode UI complete with real-time telemetry, model status indicators, and local sidebar controls.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local AI Engine:&lt;/strong&gt; Powered by &lt;strong&gt;Ollama&lt;/strong&gt; running open-weight models (&lt;code&gt;gemma:2b&lt;/code&gt; / &lt;code&gt;qwen2.5:3b&lt;/code&gt;) locally on desktop hardware.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-Time Token Streaming:&lt;/strong&gt; Renders generated quest cards character-by-character as tokens stream directly from the local LLM runtime.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pydantic Schema Validation:&lt;/strong&gt; Uses structured JSON output enforcement to guarantee every generated quest contains valid Route, Observation, Reflection, and Safety sections.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-Model Fallback:&lt;/strong&gt; Implements resilient fallback logic (&lt;code&gt;qwen2.5:3b&lt;/code&gt; -&amp;gt; &lt;code&gt;llama3.2:1b&lt;/code&gt; / &lt;code&gt;gemma:2b&lt;/code&gt;) so quest generation succeeds even if the primary model is busy or uninitialized.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offline Streak &amp;amp; Quest Logging:&lt;/strong&gt; Built-in &lt;strong&gt;SQLite&lt;/strong&gt; database (&lt;code&gt;trailquest.db&lt;/code&gt;) that tracks local outdoor streaks and quest completion history without cloud telemetry.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Running it locally
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
bash
# Pull open-weight models via Ollama
ollama pull gemma:2b
ollama pull qwen2.5:3b

# Clone &amp;amp; run locally
git clone [https://github.com/RiyaDhami13/trailquest-ai.git](https://github.com/RiyaDhami13/trailquest-ai.git)
cd trailquest-ai
pip install -r requirements.txt
streamlit run app.py

##Why Does Open Innovation Matter?
Using open-weight models locally made this project fundamentally better than relying on a closed cloud API:

1. 100% Habit &amp;amp; Location Privacy: Personal routines, free time schedules, and local neighborhood traits stay strictly on my desktop PC. Zero prompt logs or location data leave the machine.

2. $0 Operational Cost: By running inference locally via Ollama, the app requires $0 in cloud API keys or monthly subscriptions, making open AI tools freely accessible to student builders.

3. True Offline Trail Capability: Open-weight models execute directly on consumer hardware without an active internet connection—allowing quest generators to run seamlessly on a laptop at remote trailheads with zero cell coverage.

##[](
![ ](https://dev-to-uploads.s3.us-east-2.amazonaws.com/uploads/articles/no6uohidvhdgbnf6v1sc.png))Taking It Outside 🥾
To test the app, I selected a 15-minute "Mindful &amp;amp; Chill" quest card on my PC, put my desktop on sleep mode, and went for a loop around my neighborhood.

The app tasked me with observing sunlight patterns through tree leaves and collecting 5 distinct leaf shapes without looking at my phone. Having the AI generate a structured, lightweight physical task made stepping away from my workstation effortless—the screen time took under 30 seconds, and I spent the next 20 minutes completely offline.
![ ](https://dev-to-uploads.s3.us-east-2.amazonaws.com/uploads/articles/ukhk5xbx9bpzfzgeq1k4.png)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>ai</category>
      <category>python</category>
    </item>
    <item>
      <title>🥾TrailQuest AI: Forcing myself to touch grass with local Python, Gemma &amp; Ollama 🌱</title>
      <dc:creator>Riya Dhami</dc:creator>
      <pubDate>Fri, 09 Oct 2026 16:09:34 +0000</pubDate>
      <link>https://dev.to/riyadhami13/trailquest-ai-forcing-myself-to-touch-grass-with-local-python-gemma-ollama-31cl</link>
      <guid>https://dev.to/riyadhami13/trailquest-ai-forcing-myself-to-touch-grass-with-local-python-gemma-ollama-31cl</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;TrailQuest AI&lt;/strong&gt;, an offline-first, local AI outdoor adventure generator designed to break screen fatigue by turning local AI inference into physical outdoor quests.&lt;/p&gt;

&lt;p&gt;As an engineering student spending long hours in front of my desktop PC, I noticed how easy it is to fall into screen lock when trying to take a break. &lt;strong&gt;TrailQuest AI&lt;/strong&gt; minimizes screen interaction to under 30 seconds:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You pick your available time (10 to 120 minutes) and challenge level.&lt;/li&gt;
&lt;li&gt;You select an outdoor vibe (&lt;em&gt;Mindful &amp;amp; Chill&lt;/em&gt;, &lt;em&gt;Scavenger Hunt&lt;/em&gt;, &lt;em&gt;Energetic Walk&lt;/em&gt;, or &lt;em&gt;Nature Photography&lt;/em&gt;) and current weather/setting.&lt;/li&gt;
&lt;li&gt;In seconds, local inference streams a structured 3-step "Quest Card" with route goals, mindfulness observation tasks, reflection photo challenges, and trail safety tips.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once the card appears, your screen experience ends—you step outside and touch grass.&lt;/p&gt;




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

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbc2v5e92uutql8kda26s.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%2Fbc2v5e92uutql8kda26s.PNG" alt="TrailQuest AI Running Locally" width="799" height="410"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Example Quest Card Output (Sunlit Sojourn: A Mindful Walk):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Step 1 (Route &amp;amp; Goal):&lt;/strong&gt; Complete a 1-mile loop around the park.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Step 2 (Observation &amp;amp; Mindfulness):&lt;/strong&gt; Notice how sunlight filters through the leaves, creating dancing patterns on the ground. Count at least 5 different types of leaf shapes or colors as you walk.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Step 3 (Reflection &amp;amp; Photo Challenge):&lt;/strong&gt; Snap a photo where you feel most relaxed and peaceful. Reflect on why this moment feels so rejuvenating.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Safety &amp;amp; Trail Tip:&lt;/strong&gt; Stay hydrated and wear sunscreen to protect yourself from the sun's rays.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&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/RiyaDhami13" rel="noopener noreferrer"&gt;
        RiyaDhami13
      &lt;/a&gt; / &lt;a href="https://github.com/RiyaDhami13/trailquest-ai" rel="noopener noreferrer"&gt;
        trailquest-ai
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Demo
    &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;🥾 TrailQuest AI — Offline Outdoor Adventure Generator&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week1-2026-10-05" rel="nofollow"&gt;Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What I Built&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;TrailQuest AI&lt;/strong&gt; is a lightweight, local-first web application that turns screen time into offline real-world outdoor adventures.&lt;/p&gt;
&lt;p&gt;Instead of endlessly scrolling through social media or struggling to decide what to do outside, users pick their available time (e.g., 10–120 minutes), their desired outdoor vibe (&lt;em&gt;Mindful &amp;amp; Chill, Scavenger Hunt, Energetic Walk, Nature Photography, Rainy Day Walks, Fall Foliage Tracker, Night Sky Observation, etc.&lt;/em&gt;), weather/season setting, and immediate location.&lt;/p&gt;
&lt;p&gt;In seconds, &lt;strong&gt;TrailQuest AI&lt;/strong&gt; generates a personalized, 3-step physical "Quest Card" with clear goals, observation challenges, reflection prompts, and safety tips. Once generated, the screen experience ends and the user steps outside to "touch grass."&lt;/p&gt;
&lt;p&gt;It is built for students, remote workers, and anyone looking to break screen fatigue without exposing their daily location habits…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/RiyaDhami13/trailquest-ai" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;





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

&lt;p&gt;TrailQuest AI is built around a pure Python, production-grade local AI architecture:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend &amp;amp; Dashboard:&lt;/strong&gt; Built with &lt;strong&gt;Streamlit&lt;/strong&gt; for a clean, dark-mode UI complete with real-time telemetry, model status indicators, and local sidebar controls.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local AI Engine:&lt;/strong&gt; Powered by &lt;strong&gt;Ollama&lt;/strong&gt; running open-weight models (&lt;code&gt;gemma:2b&lt;/code&gt; / &lt;code&gt;qwen2.5:3b&lt;/code&gt;) locally on desktop hardware.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-Time Token Streaming:&lt;/strong&gt; Renders generated quest cards character-by-character as tokens stream directly from the local LLM runtime.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pydantic Schema Validation:&lt;/strong&gt; Uses structured JSON output enforcement to guarantee every generated quest contains valid Route, Observation, Reflection, and Safety sections.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-Model Fallback:&lt;/strong&gt; Implements resilient fallback logic (&lt;code&gt;qwen2.5:3b&lt;/code&gt; -&amp;gt; &lt;code&gt;llama3.2:1b&lt;/code&gt; / &lt;code&gt;gemma:2b&lt;/code&gt;) so quest generation succeeds even if the primary model is busy or uninitialized.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offline Streak &amp;amp; Quest Logging:&lt;/strong&gt; Built-in &lt;strong&gt;SQLite&lt;/strong&gt; database (&lt;code&gt;trailquest.db&lt;/code&gt;) that tracks local outdoor streaks and quest completion history without cloud telemetry.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Running it locally
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
bash
# Pull open-weight models via Ollama
ollama pull gemma:2b
ollama pull qwen2.5:3b

# Clone &amp;amp; run locally
git clone [https://github.com/RiyaDhami13/trailquest-ai.git](https://github.com/RiyaDhami13/trailquest-ai.git)
cd trailquest-ai
pip install -r requirements.txt
streamlit run app.py

##Why Does Open Innovation Matter?
Using open-weight models locally made this project fundamentally better than relying on a closed cloud API:

1. 100% Habit &amp;amp; Location Privacy: Personal routines, free time schedules, and local neighborhood traits stay strictly on my desktop PC. Zero prompt logs or location data leave the machine.

2. $0 Operational Cost: By running inference locally via Ollama, the app requires $0 in cloud API keys or monthly subscriptions, making open AI tools freely accessible to student builders.

3. True Offline Trail Capability: Open-weight models execute directly on consumer hardware without an active internet connection—allowing quest generators to run seamlessly on a laptop at remote trailheads with zero cell coverage.

##[](
![ ](https://dev-to-uploads.s3.us-east-2.amazonaws.com/uploads/articles/no6uohidvhdgbnf6v1sc.png))Taking It Outside 🥾
To test the app, I selected a 15-minute "Mindful &amp;amp; Chill" quest card on my PC, put my desktop on sleep mode, and went for a loop around my neighborhood.

The app tasked me with observing sunlight patterns through tree leaves and collecting 5 distinct leaf shapes without looking at my phone. Having the AI generate a structured, lightweight physical task made stepping away from my workstation effortless—the screen time took under 30 seconds, and I spent the next 20 minutes completely offline.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>ai</category>
      <category>python</category>
    </item>
    <item>
      <title>Hello DEV! 👋 Intro &amp; My Path into Data Science</title>
      <dc:creator>Riya Dhami</dc:creator>
      <pubDate>Wed, 07 Oct 2026 03:29:46 +0000</pubDate>
      <link>https://dev.to/riyadhami13/hello-dev-intro-my-path-into-data-science-52l7</link>
      <guid>https://dev.to/riyadhami13/hello-dev-intro-my-path-into-data-science-52l7</guid>
      <description>&lt;p&gt;Hey DEV community!&lt;/p&gt;

&lt;p&gt;I wanted to drop a quick hello to introduce myself. I’m Riya, an engineering student passionate about software, data, and building things from scratch.&lt;/p&gt;

&lt;p&gt;What I’m currently working on &amp;amp; learning:&lt;/p&gt;

&lt;p&gt;🐍 Python &amp;amp; SQL: Focusing heavily on data analysis, dataset visualization, and database logic.&lt;/p&gt;

&lt;p&gt;⚙️ Systems &amp;amp; Web: Building tools in C and interactive web graphics using JavaScript.&lt;/p&gt;

&lt;p&gt;📦 Building in Public: Documenting my project builds and contributing to open-source events.&lt;/p&gt;

&lt;p&gt;I joined DEV to share what I’m building, learn from experienced developers, and track my progress as I transition deeper into Data Science.&lt;/p&gt;

&lt;p&gt;Looking forward to connecting! What projects or technologies are you currently excited about? 💻✨&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>welcome</category>
      <category>datascience</category>
      <category>python</category>
    </item>
  </channel>
</rss>
