<?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: Aiman Fazal</title>
    <description>The latest articles on DEV Community by Aiman Fazal (@aimanfazal).</description>
    <link>https://dev.to/aimanfazal</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%2F4144317%2Fc845e65c-f487-4659-908c-1e06e2dac9c3.png</url>
      <title>DEV Community: Aiman Fazal</title>
      <link>https://dev.to/aimanfazal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aimanfazal"/>
    <language>en</language>
    <item>
      <title>The Midnight Game — The Game That Remembers</title>
      <dc:creator>Aiman Fazal</dc:creator>
      <pubDate>Tue, 27 Oct 2026 06:03:26 +0000</pubDate>
      <link>https://dev.to/aimanfazal/the-midnight-game-the-game-that-remembers-2g1f</link>
      <guid>https://dev.to/aimanfazal/the-midnight-game-the-game-that-remembers-2g1f</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week4-2026-10-26"&gt;Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;h3&gt;
  
  
  The Midnight Game — The Game That Remembers
&lt;/h3&gt;

&lt;p&gt;I built a local, AI-powered folk-horror game inspired by the midnight games, playground rituals, campfire stories, and supernatural games that get passed from one person to another.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Play the game at midnight. Follow the rules. Don't break the ritual.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But there's a catch.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The game remembers.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every player leaves behind traces of their session: the choices they made, the rules they followed, the things they discovered, and sometimes the things they weren't supposed to discover.&lt;/p&gt;

&lt;p&gt;Future players can encounter fragments of those previous sessions.&lt;/p&gt;

&lt;p&gt;A warning left by someone who played before them.&lt;/p&gt;

&lt;p&gt;A rule that wasn't part of the original game.&lt;/p&gt;

&lt;p&gt;A strange event that has happened several times.&lt;/p&gt;

&lt;p&gt;Eventually, the game begins developing its own folklore.&lt;/p&gt;

&lt;p&gt;The goal wasn't to build another chatbot that tells scary stories. I wanted to build a game where the AI actually feels like part of the world — something living inside the machine that remembers what happened before.&lt;/p&gt;

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

&lt;p&gt;[Demo / Video coming soon]&lt;/p&gt;

&lt;p&gt;The experience starts in a terminal-like interface:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;╔════════════════════════════════════╗
║          THE MIDNIGHT GAME         ║
╚════════════════════════════════════╝

This game is best played alone.

The previous player lasted 17 minutes.

They left one message:

&amp;gt; DON'T ANSWER THE THIRD KNOCK.

The clock is approaching midnight.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;From there, the player performs a series of actions and makes choices that influence what happens next.&lt;/p&gt;

&lt;p&gt;The game engine controls the actual rules and state, while the local AI acts as the narrator and the voice of the entity.&lt;/p&gt;

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

&lt;p&gt;[GitHub Repository coming soon]&lt;/p&gt;

&lt;p&gt;The project is designed around a simple separation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;              ┌─────────────────┐
              │     Player      │
              └────────┬────────┘
                       │
                       ▼
              ┌─────────────────┐
              │   Game Engine   │
              │                 │
              │ Rules           │
              │ Game State      │
              │ Events          │
              │ Randomness      │
              └────────┬────────┘
                       │
                       ▼
              ┌─────────────────┐
              │   Local LLM     │
              │                 │
              │ Narration       │
              │ Dialogue        │
              │ Atmosphere      │
              └────────┬────────┘
                       │
                       ▼
              ┌─────────────────┐
              │ Local Memory    │
              │                 │
              │ Past Sessions   │
              │ Player Choices  │
              │ Folklore        │
              └─────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The model doesn't control the game rules. It interprets the game state and brings the world to life.&lt;/p&gt;

&lt;p&gt;That means the AI can't simply hallucinate that a door is open when the game engine says it's closed.&lt;/p&gt;

&lt;p&gt;At least, not without something going very, very wrong.&lt;/p&gt;

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

&lt;p&gt;The core of the project is an &lt;strong&gt;open-weight model running locally&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The game engine is responsible for deterministic mechanics: the ritual, player choices, game state, events, and endings.&lt;/p&gt;

&lt;p&gt;The local model is responsible for the parts that benefit from generative AI:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the voice of the entity&lt;/li&gt;
&lt;li&gt;narration&lt;/li&gt;
&lt;li&gt;contextual dialogue&lt;/li&gt;
&lt;li&gt;interpreting previous player actions&lt;/li&gt;
&lt;li&gt;generating atmospheric descriptions&lt;/li&gt;
&lt;li&gt;reacting to discoveries&lt;/li&gt;
&lt;li&gt;helping turn repeated player behavior into folklore&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The game also maintains a local memory of previous sessions.&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SESSION #019

Player lasted: 23m 41s

Actions:
• knocked 3 times
• opened the door
• refused to answer
• looked behind the chair

Final event:
THE GHOST SPOKE THE PLAYER'S NAME

Player's final message:

"Never open the door."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A future player might discover that message without knowing who left it.&lt;/p&gt;

&lt;p&gt;Over time, repeated player behavior can become part of the game's evolving folklore:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;LOCAL FOLKLORE

01. Never knock four times.
02. Never answer your own name.
03. Never extinguish the candle yourself.
04. If you hear breathing, don't turn around.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The idea is that the game doesn't just &lt;strong&gt;generate&lt;/strong&gt; folklore.&lt;/p&gt;

&lt;p&gt;It gradually &lt;strong&gt;accumulates&lt;/strong&gt; it.&lt;/p&gt;

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

&lt;p&gt;The Midnight Game is designed to be played &lt;strong&gt;without the internet&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That's not just a technical choice. It's part of the experience.&lt;/p&gt;

&lt;p&gt;A horror game about a mysterious presence becomes much more interesting when you can disconnect the machine from the internet and the presence is still there.&lt;/p&gt;

&lt;p&gt;Running an open-weight model locally also means that the game's memories, conversations, and play history can remain on the player's machine.&lt;/p&gt;

&lt;p&gt;No account.&lt;/p&gt;

&lt;p&gt;No API key.&lt;/p&gt;

&lt;p&gt;No cloud dependency.&lt;/p&gt;

&lt;p&gt;No requirement to send someone's gameplay or personal information to a third-party AI provider.&lt;/p&gt;

&lt;p&gt;Open models also make the project hackable.&lt;/p&gt;

&lt;p&gt;Players can swap the model, change the personality of the entity, add new rules, create regional variations, or build entirely different versions of the game.&lt;/p&gt;

&lt;p&gt;The same game engine could become:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a different folk-horror tradition&lt;/li&gt;
&lt;li&gt;a campfire game&lt;/li&gt;
&lt;li&gt;an urban legend&lt;/li&gt;
&lt;li&gt;a supernatural puzzle&lt;/li&gt;
&lt;li&gt;a completely new piece of fictional folklore&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's what open innovation made possible here: &lt;strong&gt;the AI isn't a service the game depends on. It's a component the player can own, inspect, modify, and replace.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;[DevRelay agent session coming soon]&lt;/p&gt;

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

&lt;p&gt;There is something interesting about traditional folk games.&lt;/p&gt;

&lt;p&gt;They don't need an app.&lt;/p&gt;

&lt;p&gt;They don't need a server.&lt;/p&gt;

&lt;p&gt;They don't even need an internet connection.&lt;/p&gt;

&lt;p&gt;Someone just tells you the rules.&lt;/p&gt;

&lt;p&gt;Then you play.&lt;/p&gt;

&lt;p&gt;And if you play it with someone else, you might learn a slightly different version.&lt;/p&gt;

&lt;p&gt;Maybe someone adds a new rule.&lt;/p&gt;

&lt;p&gt;Maybe someone tells you that you're not supposed to say a certain word.&lt;/p&gt;

&lt;p&gt;Maybe someone claims that something happened the last time they played.&lt;/p&gt;

&lt;p&gt;And eventually, nobody remembers where the original rules came from.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Midnight Game is an attempt to recreate that process with an AI.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The model isn't just telling a horror story.&lt;/p&gt;

&lt;p&gt;It's participating in the creation of one.&lt;/p&gt;

&lt;p&gt;Every player can leave something behind.&lt;/p&gt;

&lt;p&gt;Every future player can discover it.&lt;/p&gt;

&lt;p&gt;And eventually, the machine starts remembering things that its current player never taught it.&lt;/p&gt;

&lt;p&gt;That's the ghost.&lt;/p&gt;

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

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

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Sloth Organzier</title>
      <dc:creator>Aiman Fazal</dc:creator>
      <pubDate>Fri, 23 Oct 2026 06:36:02 +0000</pubDate>
      <link>https://dev.to/aimanfazal/sloth-organzier-3gh7</link>
      <guid>https://dev.to/aimanfazal/sloth-organzier-3gh7</guid>
      <description>&lt;h2&gt;
  
  
  🦥 Sloth Organizer: Let AI Tidy Your Files While You Do Absolutely Nothing
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;This is my submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week3-2026-10-19"&gt;Hacktoberfest Open-Source AI Challenge — Week 3: Slow and Steady&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What if organizing your files didn’t mean spending an afternoon dragging documents between folders, renaming cryptic filenames, and trying to remember where everything belongs?&lt;/p&gt;

&lt;p&gt;You could do it yourself. Or, like a sloth, you could conserve your energy and let AI do the heavy lifting. 🦥&lt;/p&gt;

&lt;p&gt;Meet &lt;strong&gt;Sloth Organizer&lt;/strong&gt; — a local-first AI application that scans messy folders, proposes an organization plan, and safely moves or renames files after you review and approve the changes.&lt;/p&gt;

&lt;p&gt;No cloud AI APIs. No uploading private documents. No letting an AI loose on your filesystem without supervision.&lt;/p&gt;

&lt;p&gt;Just you, your files, and a local AI model doing the tedious work.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Sloth Organizer turns folder chaos into an organized workspace, with AI doing the planning and you staying in control.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We all have that one folder: Downloads, Desktop, Documents, or perhaps an entire drive where files accumulate because organizing them feels like a chore.&lt;/p&gt;

&lt;p&gt;Sloth Organizer helps tackle that problem.&lt;/p&gt;

&lt;p&gt;Here's how it works:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Scan:&lt;/strong&gt; Point the application at a folder. It scans files, calculates hashes, detects file types, and groups potential duplicates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Organize:&lt;/strong&gt; A locally running AI model analyzes the available file information and proposes sensible destinations and optional new filenames.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prioritize:&lt;/strong&gt; Review the generated tasks, grouped by priority so you can focus on what matters.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review:&lt;/strong&gt; Approve or reject each proposed file change individually.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Apply:&lt;/strong&gt; Confirm the final summary and let Sloth Organizer execute the approved moves and renames.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The application also supports content previews for formats such as TXT, PDF, DOCX, and XLSX, helping the AI make more informed organization suggestions.&lt;/p&gt;

&lt;p&gt;The important distinction? &lt;strong&gt;The AI proposes; you decide.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Files are never deleted, and the application includes safeguards against path traversal, unexpected overwrites, and invalid AI-generated responses.&lt;/p&gt;

&lt;p&gt;The goal is simple: spend less time managing files and more time doing something you actually enjoy.&lt;/p&gt;

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

&lt;p&gt;🖥️ &lt;strong&gt;Source repository:&lt;/strong&gt; &lt;a href="https://github.com/aimanfazal/sloth-organizer" rel="noopener noreferrer"&gt;https://github.com/aimanfazal/sloth-organizer&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sloth Organizer runs locally in your browser, with the application served from your own machine.&lt;/p&gt;

&lt;p&gt;To try it, install the prerequisites, set up LM Studio with a compatible chat model, build the frontend, and launch the application. The interface is available at &lt;code&gt;http://localhost:8000&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;I haven't included a separate hosted demo or video because the project is designed to run locally. A screen recording showing a messy folder, the generated organization plan, the review screen, and the final result would be a great way to demonstrate the complete workflow.&lt;/p&gt;

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

&lt;p&gt;🐙 &lt;strong&gt;GitHub repository:&lt;/strong&gt; &lt;a href="https://github.com/aimanfazal/sloth-organizer" rel="noopener noreferrer"&gt;https://github.com/aimanfazal/sloth-organizer&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;The main components include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Python, FastAPI, SQLModel, and SQLite.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; React and Vite.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI integration:&lt;/strong&gt; LM Studio using its OpenAI-compatible local API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;File processing:&lt;/strong&gt; Recursive scanning, SHA-256 hashing, MIME-type detection, and supported document-content extraction.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Execution safety:&lt;/strong&gt; Validated AI output, restricted file paths, collision handling, and explicit user approval before changes are applied.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The codebase separates scanning, AI planning, review, and filesystem execution into distinct components, making the workflow easier to understand and maintain.&lt;/p&gt;

&lt;p&gt;Check out the repository for installation instructions, configuration options, and implementation details.&lt;/p&gt;

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

&lt;p&gt;I built Sloth Organizer around a simple principle: &lt;strong&gt;AI should take care of repetitive decisions without taking away the user's control.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The application combines a Python backend with a React frontend. FastAPI exposes the APIs used by the interface, while SQLite stores application data. WebSockets help communicate scan progress to the frontend.&lt;/p&gt;

&lt;p&gt;For the AI layer, Sloth Organizer connects to a model running locally through LM Studio. The model receives file information and relevant content previews, then generates a structured organization plan containing proposed destinations and optional renames.&lt;/p&gt;

&lt;p&gt;The backend validates and normalizes the model's response before it can become an executable task. This matters because AI-generated output should never be trusted blindly when it can change someone's filesystem.&lt;/p&gt;

&lt;p&gt;The workflow deliberately separates planning from execution:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scanning gathers information about the folder.&lt;/li&gt;
&lt;li&gt;AI generates proposed changes.&lt;/li&gt;
&lt;li&gt;The user reviews and approves individual tasks.&lt;/li&gt;
&lt;li&gt;The execution layer checks the approved operations and applies them safely.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That final separation is important. A useful file organizer should not just be intelligent; it should also be predictable and cautious.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Tech Stack
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Backend API&lt;/td&gt;
&lt;td&gt;Python + FastAPI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;React + Vite&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Database&lt;/td&gt;
&lt;td&gt;SQLite + SQLModel&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI inference&lt;/td&gt;
&lt;td&gt;LM Studio + locally running open-weight model&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;File analysis&lt;/td&gt;
&lt;td&gt;SHA-256, MIME detection, document extraction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Communication&lt;/td&gt;
&lt;td&gt;REST APIs + WebSockets&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The application requires Python 3.11+, Node.js 18+, and LM Studio with a compatible chat model loaded and its local server running.&lt;/p&gt;

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

&lt;p&gt;For this project, open innovation isn't just about using a different AI model. It's about changing where AI runs, who controls the data, and how much freedom developers have to adapt the system.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Your files stay yours
&lt;/h3&gt;

&lt;p&gt;Folders often contain sensitive information: personal documents, financial records, work files, and private notes.&lt;/p&gt;

&lt;p&gt;By running inference locally through LM Studio, Sloth Organizer does not need to upload file contents to a hosted AI API. The application can perform its core AI workflow without a cloud inference provider, an AI account, or per-request cloud API charges.&lt;/p&gt;

&lt;p&gt;Local inference does require suitable hardware and a compatible model, so the actual cost and speed depend on your setup.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. You choose the model
&lt;/h3&gt;

&lt;p&gt;The application uses LM Studio's OpenAI-compatible API rather than tying the workflow to a single proprietary cloud provider.&lt;/p&gt;

&lt;p&gt;You can configure which locally loaded model is used and experiment with different compatible models as your needs change. This provides room to explore trade-offs between speed, quality, hardware requirements, and resource consumption.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. You can inspect and adapt the software
&lt;/h3&gt;

&lt;p&gt;The MIT-licensed codebase can be examined, modified, and extended. Developers can improve the organization prompts, add document extractors, adjust the safety checks, or build new features around the existing workflow.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. No unnecessary dependence on a hosted AI service
&lt;/h3&gt;

&lt;p&gt;Once the compatible model is available locally and the application is configured, its AI workflow can run without an external inference API.&lt;/p&gt;

&lt;p&gt;That means fewer external dependencies, more predictable control over your data, and the possibility of avoiding recurring inference fees.&lt;/p&gt;

&lt;p&gt;For me, that's the real promise of open innovation: making useful AI something people can run, understand, and adapt on their own terms.&lt;/p&gt;

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

&lt;p&gt;The code and its organization workflow are available in the &lt;a href="https://github.com/aimanfazal/sloth-organizer" rel="noopener noreferrer"&gt;GitHub repository&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I haven't included a DevRelay agent-session link in this submission. If you capture a session while developing the project, this section is a good place to embed it so readers can follow the implementation process and see how the application took shape.&lt;/p&gt;

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

&lt;p&gt;Here's the kind of work Sloth Organizer is designed to eliminate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Opening files one at a time to figure out what they are.&lt;/li&gt;
&lt;li&gt;Repeatedly creating folders and moving documents by hand.&lt;/li&gt;
&lt;li&gt;Renaming files to make their purpose easier to recognize.&lt;/li&gt;
&lt;li&gt;Reorganizing a cluttered Downloads folder every few weeks.&lt;/li&gt;
&lt;li&gt;Repeating the same tedious cleanup process whenever files pile up again.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of manually handling every file, you can scan a folder, review the suggested plan, and approve the changes that make sense.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The payoff isn't just fewer clicks. It's lowering the mental friction that makes file organization so easy to postpone.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I don't have a measured time-savings figure to report yet, so I won't invent one. The actual benefit will depend on the number of files, the model's inference speed, and how much manual cleanup the folder would otherwise require.&lt;/p&gt;

&lt;p&gt;But the idea is to turn a task people avoid into a workflow that requires much less effort and still leaves the final decisions in their hands.&lt;/p&gt;

&lt;p&gt;Slow and steady wins the tidy folder.&lt;/p&gt;

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

&lt;p&gt;This project is intended for the main &lt;strong&gt;Hacktoberfest Open-Source AI Challenge: Week 3 — Slow and Steady&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I'm not claiming a partner category at this stage because the repository's use of LM Studio alone doesn't establish eligibility for any listed partner prize category. If the project uses a qualifying partner's technology and meets that category's requirements, the corresponding entry can be added here.&lt;/p&gt;

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

&lt;p&gt;AI is often presented as something that needs to be bigger, faster, and more autonomous.&lt;/p&gt;

&lt;p&gt;Sloth Organizer explores a quieter approach: let AI handle the repetitive planning, keep the processing local, and make the human approval step part of the design.&lt;/p&gt;

&lt;p&gt;Not every AI agent needs to take over your day. Sometimes the most useful one is the one that quietly tidies up after you.&lt;/p&gt;

&lt;p&gt;Build slowly. Organize smartly. Stay lazy. 🦥&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Built for Hacktoberfest 2026 — Open-Source AI Challenge, Week 3: Slow and Steady.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Photo Proof 📸</title>
      <dc:creator>Aiman Fazal</dc:creator>
      <pubDate>Tue, 13 Oct 2026 10:36:01 +0000</pubDate>
      <link>https://dev.to/aimanfazal/photo-proof-2le1</link>
      <guid>https://dev.to/aimanfazal/photo-proof-2le1</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;
  
  
  PhotoProof 📸 — Find the Photo You Remember, Not the Filename You Forgot
&lt;/h2&gt;

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

&lt;p&gt;Ever tried to find a photo buried somewhere in thousands of images? You might remember what was in it, but not its filename, folder, or the date you took it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PhotoProof solves this with AI-powered semantic photo search.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of manually browsing folders or tagging every picture, you can describe what you're looking for in plain English, such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"A dog running on the beach at sunset"&lt;/li&gt;
&lt;li&gt;"A mountain landscape covered in snow"&lt;/li&gt;
&lt;li&gt;"Photos similar to this one"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;PhotoProof uses OpenCLIP to understand the visual content of images and text, turning photos into numerical embeddings that can be searched by meaning rather than filename alone.&lt;/p&gt;

&lt;h3&gt;
  
  
  What it can do
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Natural-language search:&lt;/strong&gt; Find photos by describing their content.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Search by image:&lt;/strong&gt; Upload an image to find visually relevant photos in your library.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Similar-photo discovery:&lt;/strong&gt; Find images that look similar to an existing indexed photo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Incremental indexing:&lt;/strong&gt; Skip unchanged photos instead of processing everything again.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Search filters and CSV export:&lt;/strong&gt; Refine results and export them for further use.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local AI inference:&lt;/strong&gt; Generate image and text embeddings on your own machine, without paying a hosted model API for every query.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Who would pay for it?
&lt;/h3&gt;

&lt;p&gt;PhotoProof could be useful for photographers, content creators, designers, researchers, and small businesses managing large image collections. It could eventually become a paid desktop tool or a specialized photo-management product.&lt;/p&gt;

&lt;p&gt;The problem is simple: as photo libraries grow, finding the right image becomes increasingly difficult. PhotoProof makes those collections searchable by what the images actually contain.&lt;/p&gt;

&lt;h3&gt;
  
  
  Demo
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;GitHub repository:&lt;/strong&gt; &lt;a href="https://github.com/aimanfazal/photo-proof" rel="noopener noreferrer"&gt;https://github.com/aimanfazal/photo-proof&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Local demo:&lt;/strong&gt; Run the application locally to explore the interface and search your own photo library.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/aimanfazal/photo-proof.git
&lt;span class="nb"&gt;cd &lt;/span&gt;photo-proof
make &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Configure your PostgreSQL connection in &lt;code&gt;.env&lt;/code&gt; using &lt;code&gt;.env.example&lt;/code&gt; as a guide, then start the application:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;The Streamlit interface opens at &lt;code&gt;http://localhost:8501&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Video demo:&lt;/strong&gt; &lt;a href="https://youtu.be/pGL2lLp37FY" rel="noopener noreferrer"&gt;https://youtu.be/pGL2lLp37FY&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project currently documents a local application workflow. A publicly deployed demo or recorded video can be added here when available.&lt;/p&gt;

&lt;h3&gt;
  
  
  Code
&lt;/h3&gt;

&lt;p&gt;Explore the complete project on GitHub:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/aimanfazal/photo-proof" rel="noopener noreferrer"&gt;aimanfazal/photo-proof&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The repository includes the AI embedding pipeline, image indexing, semantic search, vector storage, Streamlit interface, and automated tests.&lt;/p&gt;

&lt;p&gt;Key implementation files:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/aimanfazal/photo-proof/blob/main/photoproof/model.py" rel="noopener noreferrer"&gt;&lt;code&gt;photoproof/model.py&lt;/code&gt;&lt;/a&gt; — Loads OpenCLIP and generates embeddings.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/aimanfazal/photo-proof/blob/main/photoproof/indexer.py" rel="noopener noreferrer"&gt;&lt;code&gt;photoproof/indexer.py&lt;/code&gt;&lt;/a&gt; — Scans image folders, computes embeddings, and indexes photos.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/aimanfazal/photo-proof/blob/main/photoproof/search.py" rel="noopener noreferrer"&gt;&lt;code&gt;photoproof/search.py&lt;/code&gt;&lt;/a&gt; — Implements text-based and similar-image search.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/aimanfazal/photo-proof/blob/main/photoproof/storage.py" rel="noopener noreferrer"&gt;&lt;code&gt;photoproof/storage.py&lt;/code&gt;&lt;/a&gt; — Handles PostgreSQL and pgvector interactions.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/aimanfazal/photo-proof/blob/main/photoproof/app.py" rel="noopener noreferrer"&gt;&lt;code&gt;photoproof/app.py&lt;/code&gt;&lt;/a&gt; — Provides the Streamlit interface.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;PhotoProof is built around &lt;strong&gt;OpenCLIP, an open-source implementation of contrastive image–text learning&lt;/strong&gt;, rather than a proprietary vision API.&lt;/p&gt;

&lt;p&gt;The core stack includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Python&lt;/strong&gt; for application logic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OpenCLIP (ViT-B-32)&lt;/strong&gt; for image and text embeddings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PyTorch&lt;/strong&gt; for model inference.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PostgreSQL + pgvector&lt;/strong&gt; for storing and searching vector embeddings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streamlit&lt;/strong&gt; for the browser-based interface.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pillow and NumPy&lt;/strong&gt; for image processing and numerical operations.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How the AI search works
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Index the library:&lt;/strong&gt; PhotoProof scans a folder of images and identifies supported files.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Understand each image:&lt;/strong&gt; OpenCLIP converts each image into a 512-dimensional, L2-normalized embedding.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Store the representation:&lt;/strong&gt; The embeddings and associated metadata are persisted in PostgreSQL using pgvector.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Understand the query:&lt;/strong&gt; A natural-language description is encoded into the same vector space. An uploaded or indexed image can also serve as a visual query.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Retrieve relevant results:&lt;/strong&gt; Vector similarity ranks the photos, and Streamlit displays them in a gallery.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The important idea is that the system compares semantic representations rather than relying only on filenames or manually assigned tags.&lt;/p&gt;

&lt;p&gt;PhotoProof also supports incremental indexing, automatic cleanup of missing file paths during queries, similarity filtering, and CSV export.&lt;/p&gt;

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

&lt;p&gt;I wanted to build a useful AI application without making a proprietary API the foundation of the entire experience.&lt;/p&gt;

&lt;p&gt;Open-source AI makes that possible.&lt;/p&gt;

&lt;p&gt;With OpenCLIP and PyTorch, developers can inspect the implementation, experiment with models, run inference locally, and adapt the system to their own workflows. There is no need to send every search query to a closed vision API or pay a per-request model fee.&lt;/p&gt;

&lt;p&gt;Open innovation also makes the architecture more flexible. Developers can explore alternative embedding models, experiment with retrieval quality, improve indexing performance, and build integrations around an understandable system.&lt;/p&gt;

&lt;p&gt;Privacy is another important consideration. PhotoProof generates embeddings on the user's machine, and original photos remain in their local folders. Only embeddings and metadata are sent to the configured database.&lt;/p&gt;

&lt;p&gt;This architecture offers a practical balance between AI capabilities, user control, and cost. The database can still be a managed service, but image inference does not depend on a hosted model API.&lt;/p&gt;

&lt;p&gt;For me, open innovation means being able to build with AI while retaining the freedom to understand, modify, and improve the technology.&lt;/p&gt;

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

&lt;p&gt;[Add your saved DevRelay session link here, if available.]&lt;/p&gt;

&lt;p&gt;If you used an AI coding agent to build the project, include a shareable session that demonstrates how it contributed to implementation, debugging, testing, or design decisions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Prize Categories
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tiger Data&lt;/strong&gt; — PhotoProof uses Tiger Data's PostgreSQL infrastructure with &lt;code&gt;pgvector&lt;/code&gt; to persist image embeddings and power semantic vector search.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Closing Thoughts
&lt;/h3&gt;

&lt;p&gt;PhotoProof explores a practical use of open-source AI: making personal and professional photo libraries searchable by meaning.&lt;/p&gt;

&lt;p&gt;No manual tagging marathon. No need to remember cryptic filenames. Just describe the moment you're looking for.&lt;/p&gt;

&lt;p&gt;The project is an experiment in making powerful AI retrieval more accessible, local, and adaptable. I'd love to see how the community builds on this idea, improves search quality, and finds new applications for semantic image search.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find the moment, not the filename.&lt;/strong&gt; 🔎&lt;/p&gt;

&lt;h1&gt;
  
  
  Hacktoberfest #OpenSourceAI #Python #OpenCLIP #ComputerVision #MachineLearning
&lt;/h1&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>tigerdata</category>
      <category>agents</category>
    </item>
    <item>
      <title>Deen Trace</title>
      <dc:creator>Aiman Fazal</dc:creator>
      <pubDate>Tue, 06 Oct 2026 18:37:49 +0000</pubDate>
      <link>https://dev.to/aimanfazal/deen-trace-30db</link>
      <guid>https://dev.to/aimanfazal/deen-trace-30db</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;h3&gt;
  
  
  Deen Trace — an AI that knows when to get out of your way.
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Deen Trace&lt;/strong&gt; is a concept/prototype for a private, offline-first Muslim activity journal built around one simple principle:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Log → Reflect → Leave the screen.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The idea is to let people record everyday activities such as Salah, Qur'an, Dhikr, Sadaqah, Good Deeds, and Fasting, then review their history through a simple visual activity graph.&lt;/p&gt;

&lt;p&gt;But the feature I designed specifically for &lt;strong&gt;Touch Grass&lt;/strong&gt; is called &lt;strong&gt;Step Outside&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of using AI to keep someone talking to an app, Deen Trace uses a local open-weight model to look at activity patterns and generate a small, non-judgmental suggestion for something the user can do away from the screen.&lt;/p&gt;

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

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Step Outside&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Put your phone down.&lt;br&gt;&lt;br&gt;
Take a short walk.&lt;br&gt;&lt;br&gt;
Notice something you normally overlook.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And then the app gets out of the way.&lt;/p&gt;

&lt;p&gt;There are no outdoor streaks, XP, leaderboards, badges, or engagement loops.&lt;/p&gt;

&lt;p&gt;The app doesn't even need to know whether the user followed the suggestion.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The goal is for the screen to be the shortest part of the experience.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;This submission is currently a &lt;strong&gt;prototype/concept implementation plan rather than a deployed application&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The intended demo flow is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Record daily activity.&lt;/li&gt;
&lt;li&gt;View the activity graph.&lt;/li&gt;
&lt;li&gt;Turn Wi-Fi/mobile data off.&lt;/li&gt;
&lt;li&gt;Generate a reflection using the local AI model.&lt;/li&gt;
&lt;li&gt;Receive a personalized "Step Outside" suggestion.&lt;/li&gt;
&lt;li&gt;Put the phone down and actually go outside.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The most important moment of the demo would be generating the reflection while completely offline.&lt;/p&gt;

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

&lt;p&gt;The project is designed as an open-source application with the following architecture:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;deentrace/
├── presentation/
├── domain/
├── data/
├── ai/
└── core/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The local database is the source of truth for the device.&lt;/p&gt;

&lt;p&gt;The application is designed so that activity tracking does not depend on network access, while cloud services are limited to authentication and synchronization.&lt;/p&gt;

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

&lt;p&gt;The proposed implementation uses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Flutter&lt;/strong&gt; for the cross-platform application&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SQLite&lt;/strong&gt; for local-first activity storage&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;llama.cpp&lt;/strong&gt; for local model inference&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Qwen3&lt;/strong&gt;, an open-weight model, for local reflections&lt;/li&gt;
&lt;li&gt;A small application/domain layer separating business logic from the UI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The AI pipeline is intentionally narrow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Activity Data
      +
Optional Good Deed Notes
      │
      ▼
Context Builder
      │
      ▼
Local Open-Weight Model
      │
      ▼
Reflection Validator
      │
      ▼
Monthly Reflection
      │
      ▼
Step Outside
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The model only receives the information required to generate the requested reflection.&lt;/p&gt;

&lt;p&gt;Personal activity is not sent to a remote AI API.&lt;/p&gt;

&lt;p&gt;The AI would have three modes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Off&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reports only&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reports + personalized suggestions&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The suggestion system is deliberately pattern-based and non-judgmental.&lt;/p&gt;

&lt;p&gt;The AI is not a religious authority. It must not provide Islamic rulings, judge someone's faith, assign spiritual value, invent activity, or make unsupported claims about the user.&lt;/p&gt;

&lt;p&gt;The underlying product architecture is also designed around offline-first behavior. Creating activities, editing them, viewing history, and viewing the activity graph should all work without an internet connection.&lt;/p&gt;

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

&lt;p&gt;This project deals with unusually personal information.&lt;/p&gt;

&lt;p&gt;A person's worship activity and private Good Deed notes are not the kind of data I want to send to a remote AI provider simply because a cloud API is convenient.&lt;/p&gt;

&lt;p&gt;Local open-weight inference changes that.&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                 DEVICE
┌─────────────────────────────────┐
│                                 │
│  Local Activity Database        │
│            │                    │
│            ▼                    │
│     Context Builder             │
│            │                    │
│            ▼                    │
│     Open-Weight Model           │
│            │                    │
│            ▼                    │
│  Reflection / Suggestion        │
│                                 │
└─────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The user's personal activity can remain on the device.&lt;/p&gt;

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

&lt;p&gt;The AI doesn't require personal activity to be uploaded to a hosted AI service.&lt;/p&gt;

&lt;h3&gt;
  
  
  Offline capability
&lt;/h3&gt;

&lt;p&gt;Once the model is installed, the reflection experience can work without an internet connection.&lt;/p&gt;

&lt;p&gt;That is particularly relevant to the Touch Grass theme: the application should still be useful when someone is away from reliable connectivity.&lt;/p&gt;

&lt;h3&gt;
  
  
  Model freedom
&lt;/h3&gt;

&lt;p&gt;The AI layer is intentionally replaceable.&lt;/p&gt;

&lt;p&gt;The application should not be architecturally tied to a single proprietary API. Different open-weight models can be tested, optimized, or replaced without redesigning the entire product.&lt;/p&gt;

&lt;p&gt;But the most important reason for using open AI is philosophical.&lt;/p&gt;

&lt;p&gt;I don't want an AI assistant that tries to maximize the amount of time I spend talking to it.&lt;/p&gt;

&lt;p&gt;I want an AI that can look at my activity, help me reflect, and then tell me:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Put the phone down.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's what makes local open AI meaningful for this project.&lt;/p&gt;

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

&lt;p&gt;This prototype does not currently have a DevRelay agent session.&lt;/p&gt;

&lt;p&gt;The intended development workflow would use an agent to help build and test the local-first architecture, while keeping the application's personal activity data separate from any remote AI service.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Open-Source AI / Open-Weight AI&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The project is designed specifically around an open-weight local model and local inference rather than a closed hosted AI API.&lt;/p&gt;




&lt;h2&gt;
  
  
  The idea behind Deen Trace
&lt;/h2&gt;

&lt;p&gt;Deen Trace is built around a simple principle:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real life comes before the app.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The activity graph isn't a spiritual score.&lt;/p&gt;

&lt;p&gt;The AI isn't a religious authority.&lt;/p&gt;

&lt;p&gt;The app doesn't need to know whether you actually followed its suggestion.&lt;/p&gt;

&lt;p&gt;It just needs to help you reflect—and then get out of your way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Log → Reflect → Leave the screen.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>ai</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Dead Stock Dost</title>
      <dc:creator>Aiman Fazal</dc:creator>
      <pubDate>Sun, 04 Oct 2026 15:18:05 +0000</pubDate>
      <link>https://dev.to/aimanfazal/dead-stock-dost-nfn</link>
      <guid>https://dev.to/aimanfazal/dead-stock-dost-nfn</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I built &lt;strong&gt;Dead Stock Dost&lt;/strong&gt;, a tiny local-first AI tool for a small neighborhood garment shop.&lt;/p&gt;

&lt;p&gt;A small shop can have shirts, kurtas, jackets, and other products sitting on shelves for weeks or months. Even with an inventory CSV, it isn't always easy to quickly answer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which products need attention?&lt;/li&gt;
&lt;li&gt;Why might they be stuck?&lt;/li&gt;
&lt;li&gt;What could I try?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dead Stock Dost takes a simple inventory CSV and turns it into:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSV → Identify Dead Stock → Explain → Suggest an Action&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The application deterministically identifies products that have been sitting unsold for too long, then lets the shopkeeper ask a local AI assistant for an explanation and possible actions.&lt;/p&gt;

&lt;p&gt;The AI doesn't make the decision for them.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The code calculates the facts. The AI explains the facts. The shopkeeper decides.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;p&gt;🎥 &lt;strong&gt;Video Demo:&lt;/strong&gt; &lt;a href="https://youtu.be/U6-7b7IAlMg" rel="noopener noreferrer"&gt;https://youtu.be/U6-7b7IAlMg&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The complete demo takes less than two minutes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Open the app
   ↓
Try demo data / Upload CSV
   ↓
See products needing attention
   ↓
Select a product
   ↓
"Why is this stuck?"
   ↓
"What can I try?"
   ↓
Get a local AI response
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;🔗 &lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/aimanfazal/dead-stock-dost" rel="noopener noreferrer"&gt;https://github.com/aimanfazal/dead-stock-dost&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository contains the application, demo CSV, screenshots, architecture documentation, and project scope.&lt;/p&gt;

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

&lt;p&gt;Dead Stock Dost is built with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Next.js&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;React&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TypeScript&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CSV&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LM Studio&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Qwen 2.5 3B Instruct&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The AI runs locally through LM Studio using an open-weight model.&lt;/p&gt;

&lt;p&gt;The application itself handles the inventory logic deterministically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;90+ days:&lt;/strong&gt; Dead Stock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;45–89 days:&lt;/strong&gt; At Risk&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Less than 45 days:&lt;/strong&gt; Normal&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stock ≤ 0:&lt;/strong&gt; Ignored&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The AI receives the calculated facts for a selected product and helps explain the situation or suggest possible actions.&lt;/p&gt;

&lt;p&gt;It does not classify products, modify inventory, change prices, invent facts, or make decisions automatically.&lt;/p&gt;

&lt;p&gt;I intentionally kept the architecture small: no database, authentication, cloud AI API, vector database, or multi-agent framework.&lt;/p&gt;

&lt;p&gt;The CSV remains the source of truth.&lt;/p&gt;

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

&lt;p&gt;Open innovation made it possible to build this as a &lt;strong&gt;local-first AI tool&lt;/strong&gt; instead of depending on a paid cloud AI API.&lt;/p&gt;

&lt;p&gt;Using an open-weight model through local inference means the shopkeeper's inventory data can stay on their own machine while still getting a natural-language AI assistant.&lt;/p&gt;

&lt;p&gt;It also makes the project easier to experiment with and adapt without tying the core application to a single hosted AI provider.&lt;/p&gt;

&lt;p&gt;For this project, the important part isn't making AI autonomous. It's making a small, useful AI assistant available while keeping the shopkeeper in control.&lt;/p&gt;

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