<?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: Junit</title>
    <description>The latest articles on DEV Community by Junit (@eliasjunit).</description>
    <link>https://dev.to/eliasjunit</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%2F4108770%2Fcae88ab7-04fb-4aee-9f12-f80a863bf81f.png</url>
      <title>DEV Community: Junit</title>
      <link>https://dev.to/eliasjunit</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/eliasjunit"/>
    <language>en</language>
    <item>
      <title>I tried to sell the minutes you spend waiting for your coding agent</title>
      <dc:creator>Junit</dc:creator>
      <pubDate>Thu, 03 Sep 2026 23:00:03 +0000</pubDate>
      <link>https://dev.to/eliasjunit/i-tried-to-sell-the-minutes-you-spend-waiting-for-your-coding-agent-59o2</link>
      <guid>https://dev.to/eliasjunit/i-tried-to-sell-the-minutes-you-spend-waiting-for-your-coding-agent-59o2</guid>
      <description>&lt;p&gt;The day that got me started looked like this. I sat down at ten in the&lt;br&gt;
morning, Claude Code was grinding through a refactor, and I was watching&lt;br&gt;
the output scroll, answering a prompt here and there. When I next looked&lt;br&gt;
at the clock it was past three. I had not stood up once. The agent did&lt;br&gt;
its job. Mine, apparently, was sitting.&lt;/p&gt;

&lt;p&gt;The embarrassing part: my first thought was not "I should fix this."&lt;br&gt;
It was "I wonder if this window is worth money."&lt;/p&gt;

&lt;h2&gt;
  
  
  The week I tried to sell your wait
&lt;/h2&gt;

&lt;p&gt;Think about what that wait actually is. A developer in front of a&lt;br&gt;
terminal, mildly bored, eyes parked on a stream of tool calls. That is&lt;br&gt;
an advertiser's dream slot. So I spent a week checking whether you could&lt;br&gt;
sell it: show ads to developers in the terminal while their agent works.&lt;/p&gt;

&lt;p&gt;It is not a crazy idea. Sourcegraph already ships Amp Free, an&lt;br&gt;
ad-supported tier of their coding agent with real dev-tool advertisers&lt;br&gt;
in the output. The slot exists and someone is selling it.&lt;/p&gt;

&lt;p&gt;The numbers killed it anyway. EthicalAds, the biggest player in&lt;br&gt;
developer advertising, paid out about $124K this January. That is the&lt;br&gt;
market leader. CodeFund, the closest thing to a direct predecessor,&lt;br&gt;
burned around $50K a month and shut down in 2020, a year or two short&lt;br&gt;
of breaking even. And the one time somebody printed promo into other&lt;br&gt;
people's terminals at scale, npm in 2019, the backlash was loud enough&lt;br&gt;
that npm banned the practice in its terms of service. That lesson stuck&lt;br&gt;
with me: the terminal is somebody's workspace. Printing ads into it&lt;br&gt;
reads as vandalism.&lt;/p&gt;

&lt;p&gt;Tiny market, dead predecessor, hostile audience. I wrote NO-GO in my&lt;br&gt;
notes. But the window would not leave me alone. The wait is real, the&lt;br&gt;
attention is real. I had spent a week trying to hand it to the wrong side.&lt;/p&gt;

&lt;h2&gt;
  
  
  Giving the window back
&lt;/h2&gt;

&lt;p&gt;So I built the opposite thing. vibestretch is a Claude Code plugin that&lt;br&gt;
watches how long the agent has kept you waiting and, once in a while,&lt;br&gt;
prints one line:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;🧘 Slow neck rolls. 5 each direction. · vibestretch · 7 min of agent time
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;One stretch, or a micro workout, or a 20-20-20 eye break. That's all&lt;br&gt;
it does.&lt;/p&gt;

&lt;p&gt;The part worth explaining is when it speaks. It is not a break timer.&lt;br&gt;
Timers fire on a schedule, which means they fire mid-thought, which is&lt;br&gt;
why most people turn them off within a week. vibestretch only counts&lt;br&gt;
the minutes an agent turn kept you waiting, and a nudge needs three&lt;br&gt;
things at once: the current turn has been running at least 2 minutes,&lt;br&gt;
at least 5 minutes of waiting have piled up since your last break, and&lt;br&gt;
15 minutes have passed since the last nudge. A day of quick turns&lt;br&gt;
produces silence. There is nothing to snooze because it never&lt;br&gt;
interrupts anything.&lt;/p&gt;

&lt;h2&gt;
  
  
  The counter was lying
&lt;/h2&gt;

&lt;p&gt;Making the number honest was more work than the feature. The first&lt;br&gt;
version printed "7 min sitting." That was a lie. The agent had worked&lt;br&gt;
seven minutes; I might have been in the kitchen. Now the plugin reads&lt;br&gt;
the macOS idle clock, so the minutes stop counting when you walk away,&lt;br&gt;
and an agent grinding overnight adds nothing. The label says "7 min of&lt;br&gt;
agent time" because that is the thing it actually measures. A counter&lt;br&gt;
that lies about something small is a counter you stop trusting about&lt;br&gt;
everything.&lt;/p&gt;

&lt;p&gt;I should also tell you what the first real tester said. He ran it for&lt;br&gt;
three days and told me he would not keep it. He moves around enough&lt;br&gt;
during the day anyway. Fair. If you already stand up on your own, this&lt;br&gt;
has nothing for you. It is for the people who look up at 3pm and&lt;br&gt;
realize the last time they moved was breakfast.&lt;/p&gt;

&lt;p&gt;Under the hood it is a few POSIX shell scripts on three hooks. No&lt;br&gt;
dependencies, no daemon, no telemetry, no network calls. And no links&lt;br&gt;
printed into your terminal, ever. That one is not a technical&lt;br&gt;
constraint. It is the npm lesson written into a rule.&lt;/p&gt;

&lt;p&gt;The repo: &lt;a href="https://github.com/Eliasjunit/vibestretch" rel="noopener noreferrer"&gt;https://github.com/Eliasjunit/vibestretch&lt;/a&gt;. The thresholds&lt;br&gt;
(2/5/15) are the part I am least sure about. Tell me they are wrong.&lt;/p&gt;

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