<?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: Shivansh Mehra</title>
    <description>The latest articles on DEV Community by Shivansh Mehra (@shivansh-mehra).</description>
    <link>https://dev.to/shivansh-mehra</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%2F4146567%2Faeae3efc-b649-49a2-9e1c-e9648e35be21.png</url>
      <title>DEV Community: Shivansh Mehra</title>
      <link>https://dev.to/shivansh-mehra</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shivansh-mehra"/>
    <language>en</language>
    <item>
      <title>A Local Voice Accountability Partner for Task Paralysis</title>
      <dc:creator>Shivansh Mehra</dc:creator>
      <pubDate>Fri, 02 Oct 2026 17:20:36 +0000</pubDate>
      <link>https://dev.to/shivansh-mehra/a-local-voice-accountability-partner-for-task-paralysis-4ain</link>
      <guid>https://dev.to/shivansh-mehra/a-local-voice-accountability-partner-for-task-paralysis-4ain</guid>
      <description>&lt;h1&gt;
  
  
  The First Ten Minutes: A Local Voice Accountability Partner for Task Paralysis
&lt;/h1&gt;

&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;Build for a Friend&lt;/strong&gt;, a voice-first accountability partner for someone who freezes when a task feels too large or ambiguous.&lt;/p&gt;

&lt;p&gt;My friend, can want to complete a task and still be unable to start it. A large project, a presentation, or even a daily checklist can become so overwhelming that ordinary productivity apps only add more visual noise.&lt;/p&gt;

&lt;p&gt;This agent turns that large task into one immediate action. It asks what is wrong, listens to the blocker, isolates one five-to-ten-minute step, and tells the person to do it and report back.&lt;/p&gt;

&lt;p&gt;The goal is not to manage the person's entire life. The goal is to make starting feel possible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;The project currently runs locally so personal conversations stay on the user's machine.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;ollama&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;run&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;gemma:2b&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;npm.cmd&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;run&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;test:agent&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"I am frozen at my desk."&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The agent asks what is wrong. Reply with the real blocker, for example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;I am afraid I will miss my presentation and look stupid.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The agent then gives one direct solution for the next ten minutes and generates voice output. The local setup creates &lt;code&gt;check-in.wav&lt;/code&gt; and &lt;code&gt;solution.wav&lt;/code&gt;. ElevenLabs can optionally create MP3 output.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;The source code is available on GitHub:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Shivansh-Mehra/Weekend" rel="noopener noreferrer"&gt;github.com/Shivansh-Mehra/Weekend&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;The project uses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Mastra&lt;/strong&gt; for the accountability agent and workflow orchestration.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama&lt;/strong&gt; running the open-weight &lt;code&gt;gemma:2b&lt;/code&gt; model locally.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Native Windows speech synthesis&lt;/strong&gt; for fully offline voice output.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ElevenLabs&lt;/strong&gt; as an optional provider for more realistic cloud voice output.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zod&lt;/strong&gt; for workflow input and output validation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The conversation has two core turns:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User starts a check-in
        |
        v
Mastra accountability agent
        |
        v
Ollama asks: "What's blocking you?"
        |
        v
User explains the blocker
        |
        v
Ollama gives one concrete 5-10 minute action
        |
        +--&amp;gt; Native TTS -&amp;gt; solution.wav
        |
        +--&amp;gt; Optional ElevenLabs -&amp;gt; solution.mp3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The important design decision was to keep the process internal to the agent. The model must speak only as the accountability partner. It must not invent the user's reply or read labels such as &lt;code&gt;PLAN&lt;/code&gt; and &lt;code&gt;EXECUTE&lt;/code&gt; aloud.&lt;/p&gt;

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

&lt;p&gt;Open innovation matters here because the data is personal. A conversation about missed meals, deadlines, anxiety, or executive dysfunction should not automatically leave the user's computer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cost
&lt;/h3&gt;

&lt;p&gt;With Ollama, model inference costs $0 per query after the model is downloaded. There are no per-request model charges. ElevenLabs remains optional for users who want cloud-generated realistic voices.&lt;/p&gt;

&lt;h3&gt;
  
  
  Privacy
&lt;/h3&gt;

&lt;p&gt;The default setup uses a local model and native machine TTS. The user's blockers, schedule, and accountability conversation can stay offline.&lt;/p&gt;

&lt;h3&gt;
  
  
  Control
&lt;/h3&gt;

&lt;p&gt;The open stack lets me change the system instructions, conversation flow, TTS provider, and Temporal reminder behavior directly. I am not locked into a closed assistant platform's prompt rules or product decisions.&lt;/p&gt;

&lt;p&gt;That control also made it possible to fix a subtle but important failure mode: a small model was initially simulating the entire conversation and speaking internal workflow labels. I could change the prompt and sanitize the speech boundary until the output became a direct partner response.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Mastra&lt;/li&gt;
&lt;li&gt;ElevenLabs&lt;/li&gt;
&lt;li&gt;Temporal&lt;/li&gt;
&lt;li&gt;GitHub Copilot&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;The hardest part was not generating text. It was controlling the interaction.&lt;/p&gt;

&lt;p&gt;For someone experiencing task paralysis, a perfect productivity plan is less useful than one clear next action. The agent does not need to solve the whole project. It needs to help the person begin.&lt;/p&gt;

&lt;p&gt;That is the idea behind Build for a Friend: less passive notification, more immediate human-style accountability, starting with the next ten minutes.&lt;/p&gt;

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