<?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: Nishant S</title>
    <description>The latest articles on DEV Community by Nishant S (@nishant394ads).</description>
    <link>https://dev.to/nishant394ads</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F99mvlsfu5tfj9m7ku25d.png</url>
      <title>DEV Community: Nishant S</title>
      <link>https://dev.to/nishant394ads</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nishant394ads"/>
    <language>en</language>
    <item>
      <title>LazyShift AI: Let the Local AI Handle the Digital Chores While You Rest</title>
      <dc:creator>Nishant S</dc:creator>
      <pubDate>Sun, 25 Oct 2026 08:50:16 +0000</pubDate>
      <link>https://dev.to/nishant394ads/lazyshift-ai-let-the-local-ai-handle-the-digital-chores-while-you-rest-30dd</link>
      <guid>https://dev.to/nishant394ads/lazyshift-ai-let-the-local-ai-handle-the-digital-chores-while-you-rest-30dd</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week3-2026-10-19"&gt;Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I built &lt;strong&gt;LazyShift AI&lt;/strong&gt;, a local-first AI workspace that takes care of repetitive file-organization work so people don't have to.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Your files are messy. LazyShift handles the boring part. You review the decisions. Then you let it work.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of manually going through hundreds of files in a Downloads folder, LazyShift can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scan folders and understand their contents&lt;/li&gt;
&lt;li&gt;Categorize files&lt;/li&gt;
&lt;li&gt;Detect exact duplicates using file content&lt;/li&gt;
&lt;li&gt;Extract useful text from supported documents&lt;/li&gt;
&lt;li&gt;Use a local open-weight AI model to suggest organization&lt;/li&gt;
&lt;li&gt;Propose file moves and renames&lt;/li&gt;
&lt;li&gt;Let the user review, approve, reject, or modify suggestions&lt;/li&gt;
&lt;li&gt;Execute approved filesystem operations&lt;/li&gt;
&lt;li&gt;Maintain an operation history&lt;/li&gt;
&lt;li&gt;Provide an undo mechanism for supported operations&lt;/li&gt;
&lt;li&gt;Run approved work through QuickShift or a persistent NightShift queue&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is not to give an AI unrestricted access to someone's filesystem.&lt;/p&gt;

&lt;p&gt;The goal is to create a safe workflow:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scan → Understand → Suggest → Review → Approve → Execute → Report → Undo&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That means the human stays in control while the AI handles the boring reasoning.&lt;/p&gt;

&lt;p&gt;LazyShift is designed primarily as a local-first application because the files being organized can contain private personal information.&lt;/p&gt;

&lt;h1&gt;
  
  
  Code
&lt;/h1&gt;

&lt;h3&gt;
  
  
  GitHub
&lt;/h3&gt;

&lt;p&gt;[&lt;a href="https://github.com/nishant394ads-glitch/LazyShift-AI" rel="noopener noreferrer"&gt;https://github.com/nishant394ads-glitch/LazyShift-AI&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;The repository contains the application source code, setup instructions, configuration, and documentation.&lt;/p&gt;

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

&lt;p&gt;LazyShift AI is built around &lt;strong&gt;open-source AI and local inference&lt;/strong&gt; rather than sending users' files to a closed cloud AI API.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ollama&lt;/strong&gt; for local model execution&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gemma 3 4B&lt;/strong&gt; as the default local model&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FastAPI&lt;/strong&gt; for the local backend&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SQLite&lt;/strong&gt; for persistent application state&lt;/li&gt;
&lt;li&gt;A desktop-style command-center interface for the user experience&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The architecture separates AI reasoning from filesystem execution.&lt;/p&gt;

&lt;p&gt;The AI does not directly execute filesystem commands.&lt;/p&gt;

&lt;p&gt;Instead, it produces structured proposals such as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Move:
Downloads/invoice_001.pdf

To:
Documents/Invoices/invoice_001.pdf

Reason:
The filename and extracted document content indicate that this is an invoice.

Confidence:
94%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The user can then approve or reject that proposal.&lt;/p&gt;

&lt;p&gt;Only approved actions reach the deterministic filesystem executor.&lt;/p&gt;

&lt;p&gt;This creates a deliberate boundary:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI proposes.&lt;br&gt;&lt;br&gt;
Human approves.&lt;br&gt;&lt;br&gt;
The application executes.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;LazyShift has two operating modes:&lt;/p&gt;
&lt;h3&gt;
  
  
  ⚡ QuickShift
&lt;/h3&gt;

&lt;p&gt;QuickShift is designed for work the user wants handled immediately.&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Select Folder
      ↓
Scan Files
      ↓
Local AI Analysis
      ↓
Generate Action Plan
      ↓
Review
      ↓
Approve / Reject
      ↓
Execute
      ↓
Report
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🌙 NightShift
&lt;/h3&gt;

&lt;p&gt;NightShift is designed around the idea that the user should not have to sit there waiting for repetitive work.&lt;/p&gt;

&lt;p&gt;Approved operations can enter a persistent background queue.&lt;/p&gt;

&lt;p&gt;The queue stores job state so work can be recovered after interruptions instead of treating the entire operation as one fragile request.&lt;/p&gt;

&lt;p&gt;This is particularly useful for larger batches where the user can queue work and get back to something more important.&lt;/p&gt;

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

&lt;p&gt;This project would be fundamentally different if I simply uploaded someone's files to a closed AI API.&lt;/p&gt;

&lt;p&gt;The biggest reason is &lt;strong&gt;privacy&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A Downloads folder can contain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;resumes&lt;/li&gt;
&lt;li&gt;invoices&lt;/li&gt;
&lt;li&gt;assignments&lt;/li&gt;
&lt;li&gt;screenshots&lt;/li&gt;
&lt;li&gt;documents&lt;/li&gt;
&lt;li&gt;personal photos&lt;/li&gt;
&lt;li&gt;financial information&lt;/li&gt;
&lt;li&gt;work files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sending all of that to a remote AI service just to decide where files belong creates a completely unnecessary privacy trade-off.&lt;/p&gt;

&lt;p&gt;With local inference, the AI reasoning can happen on the user's own machine.&lt;/p&gt;

&lt;p&gt;That means:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Files stay local.&lt;br&gt;&lt;br&gt;
The model runs locally.&lt;br&gt;&lt;br&gt;
The organization happens locally.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Using an open-weight model also means the AI layer is replaceable.&lt;/p&gt;

&lt;p&gt;Today the default model can be Gemma through Ollama.&lt;/p&gt;

&lt;p&gt;Tomorrow, a user can experiment with another compatible open model without rebuilding the entire application around a proprietary API.&lt;/p&gt;

&lt;p&gt;That flexibility is one of the strongest reasons I wanted the project to be built around open AI.&lt;/p&gt;

&lt;p&gt;Open innovation also makes the project easier to experiment with.&lt;/p&gt;

&lt;p&gt;The model, inference runtime, prompts, validation layer, and execution policy can all evolve independently.&lt;/p&gt;

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

&lt;p&gt;This is the part I care about most.&lt;/p&gt;

&lt;p&gt;Imagine downloading 50, 100, or 250 files and then spending the next hour deciding:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Where does this PDF go?"&lt;/p&gt;

&lt;p&gt;"Is this image a duplicate?"&lt;/p&gt;

&lt;p&gt;"Which folder should this assignment belong to?"&lt;/p&gt;

&lt;p&gt;"Why do I have five copies of this file?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's exactly the kind of work LazyShift is designed to eliminate.&lt;/p&gt;

&lt;p&gt;Instead of manually processing every file, the user reviews an AI-generated plan and approves the useful actions.&lt;/p&gt;

&lt;p&gt;The computer handles the repetitive execution.&lt;/p&gt;

&lt;p&gt;The human handles the decisions.&lt;/p&gt;

&lt;p&gt;For a folder containing hundreds of files, the potential payoff is not just a few clicks.&lt;/p&gt;

&lt;p&gt;It is &lt;strong&gt;turning a tedious batch-processing task into a review workflow.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That's the entire philosophy behind LazyShift:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do less repetitive work.&lt;br&gt;&lt;br&gt;
Keep control of the important decisions.&lt;br&gt;&lt;br&gt;
Let the computer handle the boring bits.&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  What's Next
&lt;/h1&gt;

&lt;p&gt;LazyShift is intentionally starting with a focused problem rather than trying to become an entire operating system.&lt;/p&gt;

&lt;p&gt;The next stage is making it much more capable at scale:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;smarter file classification&lt;/li&gt;
&lt;li&gt;stronger duplicate detection&lt;/li&gt;
&lt;li&gt;better document understanding&lt;/li&gt;
&lt;li&gt;more robust background execution&lt;/li&gt;
&lt;li&gt;richer reports&lt;/li&gt;
&lt;li&gt;safer rollback&lt;/li&gt;
&lt;li&gt;better model selection&lt;/li&gt;
&lt;li&gt;more powerful automation rules&lt;/li&gt;
&lt;li&gt;cross-platform support&lt;/li&gt;
&lt;li&gt;stronger observability&lt;/li&gt;
&lt;li&gt;production-grade deployment&lt;/li&gt;
&lt;li&gt;more integrations with developer and productivity workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The long-term vision is bigger than cleaning a Downloads folder.&lt;/p&gt;

&lt;p&gt;I want LazyShift to become a &lt;strong&gt;local-first personal automation layer&lt;/strong&gt; that quietly handles the repetitive digital work people keep postponing.&lt;/p&gt;

&lt;p&gt;The user shouldn't have to babysit automation.&lt;/p&gt;

&lt;p&gt;They should approve the plan, walk away, and come back to the result.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That's the lazy payoff. 🦥&lt;/strong&gt;&lt;/p&gt;

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