<?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: M.M. CAN</title>
    <description>The latest articles on DEV Community by M.M. CAN (@mm_can_ecd97f8f75a2d93e).</description>
    <link>https://dev.to/mm_can_ecd97f8f75a2d93e</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%2F4187389%2Fe663a745-fbd6-48c9-825c-034281295585.jpg</url>
      <title>DEV Community: M.M. CAN</title>
      <link>https://dev.to/mm_can_ecd97f8f75a2d93e</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mm_can_ecd97f8f75a2d93e"/>
    <language>en</language>
    <item>
      <title>AI coding has a decision fatigue problem. Here’s how we’re fixing it.</title>
      <dc:creator>M.M. CAN</dc:creator>
      <pubDate>Thu, 15 Oct 2026 19:35:36 +0000</pubDate>
      <link>https://dev.to/mm_can_ecd97f8f75a2d93e/ai-coding-has-a-decision-fatigue-problem-heres-how-were-fixing-it-42j9</link>
      <guid>https://dev.to/mm_can_ecd97f8f75a2d93e/ai-coding-has-a-decision-fatigue-problem-heres-how-were-fixing-it-42j9</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbmifn2k4z6yrp8ut6b80.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbmifn2k4z6yrp8ut6b80.webp" alt=" " width="800" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After a few hours of coding with an AI agent, I'm usually more worn out than after a day of writing code myself. For a while I blamed the waiting. Then I started paying attention to what I was actually doing during those hours, and most of it was making small decisions the tool kept handing back to me.&lt;/p&gt;

&lt;p&gt;A normal turn with a coding agent goes something like this. I figure out how to phrase the request. I decide whether to sit and watch it work or go do something else (just.... scrolling reels) and lose my place. When it finishes, I decide whether to read the whole report or skim it. It says the tests pass, and I decide whether I believe that. I decide whether to open the diff. I decide whether the result is what I meant or just close enough. Then I decide whether to accept it, retry, or rewrite the prompt.&lt;/p&gt;

&lt;p&gt;That's around seven calls per turn, many times an hour. Very few of them are about the thing I'm building. They're about babysitting the tool. I've started calling it AI decision fatigue, and I think it's the main reason agent-assisted work feels so draining.&lt;/p&gt;

&lt;p&gt;So I built a tool around one rule: only ask me the things only I can answer, and handle the rest.&lt;/p&gt;

&lt;h2&gt;
  
  
  What that looks like
&lt;/h2&gt;

&lt;p&gt;The tool is called Fade. It runs in the terminal and has a single conversation. Behind it are two agents working at the same time: one that talks and plans with you, and a Builder that writes the code in a sidebar. You never pick which agent to talk to or switch modes. You type what you want and it just f'ing does that.&lt;/p&gt;

&lt;p&gt;The Builder works while the conversation stays open, so there's no turn to wait for. While it builds one thing, you can plan the next feature, ask how some part of the code works, or change your mind. Whatever you agree on goes into an "up next" list, and the Builder picks it up when it's free.&lt;/p&gt;

&lt;p&gt;The part I cared about most is the question of whether to trust the result. Agents say "all tests pass" a lot, and sometimes it isn't true, so you end up checking everything yourself. In Fade, the Builder writes a proof for each thing it claims, usually a focused test or a command. Fade commits the change and then runs those proofs itself, on that commit. If one fails, the work goes back to the Builder with the real error output before you ever see it. When something comes back marked as checked, it means Fade ran the check, not that the model said so:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;✓ Search notes — typing "gro" finds Groceries · checked
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Some things can't be tested: whether a screen feels calmer, whether the wording sounds friendly, whether the layout is what you had in mind. Those are real decisions and they should be yours, so Fade asks them as a single question and waits for your answer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;◆ Settings is built. Your call: Does it feel calmer?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Everything a test can settle lands on its own without asking you anything.&lt;/p&gt;

&lt;p&gt;Clear requests start right away, with a one-line read-back so you can see how it was understood. If a request is vague, you get one question with concrete options instead of a back-and-forth:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;you   make the help text friendlier
fade  Short and direct, or warm and conversational?
you   the second one
fade  On it: Friendlier help.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every change is a git commit, and "undo that" reverts it cleanly, even if later work touched the same files. Knowing anything can be reversed makes each decision feel less heavy.&lt;/p&gt;

&lt;h2&gt;
  
  
  A short session
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;you   add search to my notes
fade  On it: Search notes. The Builder is on it now; keep talking to me while it builds.
you   while that runs, what would tags look like?
fade  A tag field on each note; clicking one filters the list. Want it next?
you   yes
fade  On it: Note tags.
fade  ✓ Search notes — typing "gro" finds Groceries · checked
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In that exchange I decided what to&lt;br&gt;
build and said yes to tags. I didn't wait, read a report, or wonder whether search really worked.&lt;/p&gt;
&lt;h2&gt;
  
  
  Limits
&lt;/h2&gt;

&lt;p&gt;A proof only covers what it checks. If the Builder can't come up with a check it can run, Fade marks the result as not checked instead of passing it quietly.&lt;/p&gt;

&lt;p&gt;Model quality matters. The Builder needs a model that's reliable at tool calling. In my testing, a stronger model for the conversation and a cheaper one for the Builder worked well.&lt;/p&gt;

&lt;p&gt;It's early, version 0.5. I'd like to hear whether it actually reduces the fatigue for other people or just moves it somewhere else.&lt;/p&gt;
&lt;h2&gt;
  
  
  Trying it
&lt;/h2&gt;

&lt;p&gt;The demo runs without an API key, using fake agents in a temporary folder:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx @muzaffermahi/fade &lt;span class="nt"&gt;--demo&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To use it on a real project, connect a model and run it in the project folder:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx @muzaffermahi/fade login
npx @muzaffermahi/fade
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It works with any model Pi supports, including local models through Ollama. It's MIT licensed.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/muzaffermahi/Fade" rel="noopener noreferrer"&gt;https://github.com/muzaffermahi/Fade&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Lastly, I'm curious if this project actually helps you focus more or it feels like another project/agent to babysit to. And any suggestions, comments, how much you hate your e-girlfriend like idk just share it here :D &lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>opensource</category>
      <category>agents</category>
    </item>
  </channel>
</rss>
