<?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: Aryash Gupta</title>
    <description>The latest articles on DEV Community by Aryash Gupta (@aryash_gupta_a226011dff00).</description>
    <link>https://dev.to/aryash_gupta_a226011dff00</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%2F3513945%2F444c6c3e-c11f-4b20-9388-f9656d2631f3.png</url>
      <title>DEV Community: Aryash Gupta</title>
      <link>https://dev.to/aryash_gupta_a226011dff00</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aryash_gupta_a226011dff00"/>
    <language>en</language>
    <item>
      <title>Idle Butler: A Local-First Assistant That Works While You Are Away</title>
      <dc:creator>Aryash Gupta</dc:creator>
      <pubDate>Mon, 26 Oct 2026 04:50:22 +0000</pubDate>
      <link>https://dev.to/aryash_gupta_a226011dff00/idle-butler-a-local-first-assistant-that-works-while-you-are-away-3e53</link>
      <guid>https://dev.to/aryash_gupta_a226011dff00/idle-butler-a-local-first-assistant-that-works-while-you-are-away-3e53</guid>
      <description>&lt;p&gt;Idle Butler: A Local-First Assistant That Works While You Are Away&lt;br&gt;
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady.&lt;br&gt;
What I Built&lt;br&gt;
Idle Butler is a local-first desktop assistant that runs user-defined workflows when a computer is idle.&lt;/p&gt;

&lt;p&gt;Instead of asking users to stop what they are doing, Idle Butler waits until they are away and then performs safe, useful tasks such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Summarizing text and Markdown files&lt;/li&gt;
&lt;li&gt;Extracting explicit action items and deadlines&lt;/li&gt;
&lt;li&gt;Preparing cleanup suggestions for a messy folder&lt;/li&gt;
&lt;li&gt;Generating a readable Markdown digest&lt;/li&gt;
&lt;li&gt;Applying reviewed file moves&lt;/li&gt;
&lt;li&gt;Undoing previous cleanup actions
The first MVP uses a workflow builder where the user chooses the idle threshold, input folders, output path, model, and workflow steps.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The user stays in control. Idle Butler only suggests changes during idle mode. File moves require explicit approval and can be undone.&lt;br&gt;
Demo&lt;br&gt;
The project is available on GitHub:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/aryash45/idle-butler" rel="noopener noreferrer"&gt;https://github.com/aryash45/idle-butler&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Run the local UI with:&lt;br&gt;
python -m idle_butler ui&lt;br&gt;
Then create a workflow such as:&lt;br&gt;
When I am idle for 5 minutes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Summarize files in ./sample/inbox&lt;/li&gt;
&lt;li&gt;Extract action items&lt;/li&gt;
&lt;li&gt;Propose cleanup for ./sample/messy&lt;/li&gt;
&lt;li&gt;Write the result to digest.md
The repository also includes a Windows PyInstaller build configuration.
Code
View the Idle Butler source on GitHub&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project is built with Python 3.9+ and uses the standard library at runtime.&lt;br&gt;
How I Built It&lt;br&gt;
Idle Butler uses Ollama for local inference with open-weight models such as llama3.2:3b.&lt;/p&gt;

&lt;p&gt;The application has four main layers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Idle detection
It detects idle time using native operating-system mechanisms where available.&lt;/li&gt;
&lt;li&gt;Workflow execution
The user selects safe built-in actions from the local web UI. The runner executes only those selected actions.&lt;/li&gt;
&lt;li&gt;Local model calls
Ollama is called through Python’s standard-library HTTP client. No cloud API key or external AI service is required.&lt;/li&gt;
&lt;li&gt;Safety and review
Cleanup suggestions are written to a versioned JSON plan. Nothing moves until the user runs --apply or confirms it in the UI. Successful moves are recorded in a log so --undo can restore them.
The local UI is served only on 127.0.0.1 and uses a random token for each session. Requests are protected by Host-header validation and a JSON body-size limit.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The project includes tests for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Filename sanitization&lt;/li&gt;
&lt;li&gt;Collision handling&lt;/li&gt;
&lt;li&gt;JSON fallback parsing&lt;/li&gt;
&lt;li&gt;Path containment&lt;/li&gt;
&lt;li&gt;Idle-output parsing&lt;/li&gt;
&lt;li&gt;Digest rendering&lt;/li&gt;
&lt;li&gt;HTTP token and Host protection&lt;/li&gt;
&lt;li&gt;Apply and undo behavior&lt;/li&gt;
&lt;li&gt;Workflow action validation
Why Does Open Innovation Matter?
Open innovation made it possible to build the assistant around local inference instead of sending personal files to a hosted AI provider.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That matters because Idle Butler is designed to work with folders that may contain private notes, receipts, project documents, or personal information.&lt;/p&gt;

&lt;p&gt;Using Ollama also makes the model replaceable. Users can choose a smaller model for lower resource usage or a larger model for better results. The workflow engine does not depend on one closed API provider.&lt;/p&gt;

&lt;p&gt;The project is also intentionally transparent. The prompts, safety checks, file boundaries, and workflow actions are visible in the repository and can be modified by contributors.&lt;br&gt;
The Lazy Payoff&lt;br&gt;
The payoff is simple: users describe the work once, then Idle Butler handles the repetitive parts while they are away.&lt;/p&gt;

&lt;p&gt;Instead of manually opening every note, remembering every deadline, or organizing every download, users return to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A concise digest&lt;/li&gt;
&lt;li&gt;A list of action items&lt;/li&gt;
&lt;li&gt;A reviewable cleanup plan&lt;/li&gt;
&lt;li&gt;A clear record of what happened
The project is designed to save attention and repeated context-switching rather than silently making irreversible decisions.
What I Would Build Next
The next improvements would be:&lt;/li&gt;
&lt;li&gt;Workflow history and run logs&lt;/li&gt;
&lt;li&gt;More built-in workflow templates&lt;/li&gt;
&lt;li&gt;A polished signed Windows installer&lt;/li&gt;
&lt;li&gt;Better model-quality evaluation fixtures&lt;/li&gt;
&lt;li&gt;Optional scheduled workflows&lt;/li&gt;
&lt;li&gt;A public demo video showing the full before-and-after flow
My Agent Session
This project was built iteratively with an AI coding assistant, with the implementation reviewed through tests and local smoke checks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  hf26challenge #devchallenge #ai #productivity
&lt;/h1&gt;

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