<?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>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>
