<?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: Sanvi Shukla</title>
    <description>The latest articles on DEV Community by Sanvi Shukla (@sanvishukla).</description>
    <link>https://dev.to/sanvishukla</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%2F4139749%2F4baff775-2df4-42a6-98f5-e33ff03b4b92.png</url>
      <title>DEV Community: Sanvi Shukla</title>
      <link>https://dev.to/sanvishukla</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sanvishukla"/>
    <language>en</language>
    <item>
      <title>My Friend Forgot Where He Left Off, So I Built an AI That Remembers</title>
      <dc:creator>Sanvi Shukla</dc:creator>
      <pubDate>Mon, 05 Oct 2026 06:54:00 +0000</pubDate>
      <link>https://dev.to/sanvishukla/my-friend-forgot-where-he-left-off-so-i-built-an-ai-that-remembers-1o7f</link>
      <guid>https://dev.to/sanvishukla/my-friend-forgot-where-he-left-off-so-i-built-an-ai-that-remembers-1o7f</guid>
      <description>&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;Backtrack&lt;/strong&gt; (also known as "Where Was I?"). It's a context-recovery tool designed for my friend (and honestly, myself) who constantly struggles with "Monday Morning Context Loss." When you step away from a side-project for a few days, it can take hours to figure out what you were doing, which branch you were on, and what the next steps were. &lt;/p&gt;

&lt;p&gt;Backtrack solves this by instantly analyzing your file system and GitHub. It looks at your uncommitted files, &lt;code&gt;.git/logs/HEAD&lt;/code&gt;, and leftover &lt;code&gt;TODO&lt;/code&gt; comments, and uses an AI agent to summarize exactly where you left off and what your immediate next action should be.&lt;/p&gt;

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

&lt;p&gt;Our React frontend features a beautiful, dynamic glassmorphism UI that automatically connects to the local Backtrack agent service.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhulheih21bq4zygaebjw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhulheih21bq4zygaebjw.png" alt=" " width="800" height="841"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F79k2mkygfeofjv5phqrk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F79k2mkygfeofjv5phqrk.png" alt=" " width="800" height="874"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9i9kst60hzj4fvairhp9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9i9kst60hzj4fvairhp9.png" alt=" " width="800" height="576"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F06eb47v6qv5ugxscigt6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F06eb47v6qv5ugxscigt6.png" alt=" " width="800" height="849"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fozv3bqihvd7vn33xuhkx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fozv3bqihvd7vn33xuhkx.png" alt=" " width="782" height="595"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;You can find the entire codebase, including the React frontend, the Mastra agent configuration, and the Tinker evaluation scripts here:&lt;br&gt;
&lt;a href="https://github.com/sanvishukla/backtrack" rel="noopener noreferrer"&gt;https://github.com/sanvishukla/backtrack&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Backtrack is composed of three main architectural pieces centered around Open-Source AI:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Mastra (The Agent Harness):&lt;/strong&gt; The core intelligence of Backtrack runs locally using &lt;a href="https://mastra.ai" rel="noopener noreferrer"&gt;Mastra&lt;/a&gt;, an open-source TypeScript agent harness. I configured a &lt;code&gt;backtrackAgent&lt;/code&gt; and gave it system-level tools to securely scan local directories, read git timestamps, and parse source files for lingering &lt;code&gt;TODO&lt;/code&gt;s. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub API Integration:&lt;/strong&gt; To make this completely seamless, the agent doesn't just read local files. I integrated the &lt;code&gt;gh repo list&lt;/code&gt; API so the tool can identify recent remote pushes and sort your projects by chronological activity across both local storage and GitHub.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tinker (Model Fine-Tuning):&lt;/strong&gt; To make the agent incredibly good at understanding messy code diffs and uncommitted states, we built a pipeline to fine-tune a specialized language model. We programmatically extracted context datasets into &lt;code&gt;.jsonl&lt;/code&gt; formats and used the low-level &lt;strong&gt;Tinker API&lt;/strong&gt; (by Thinking Machines) to fine-tune &lt;code&gt;tml-interaction-small&lt;/code&gt; directly on our datasets.&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;Open innovation was critical for this project because developer tools require deep local system access. A closed API or a closed ecosystem would never allow an AI agent to safely parse local &lt;code&gt;.git&lt;/code&gt; histories, read uncommitted code, and operate directly on a developer's file system. &lt;/p&gt;

&lt;p&gt;By using Mastra as a local agent harness and open-weight models, developers can run this inference directly on their own machines, ensuring their proprietary codebase and uncommitted ideas never leave their laptop. Open innovation ensures privacy and extensible developer tooling.&lt;/p&gt;

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

&lt;p&gt;I am entering this project into the following sponsor categories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Best Use of Tinker
Use Thinking Machines' Tinker to fine-tune a model for a specific task, and show a clear improvement in performance, latency, or cost over a baseline.&lt;/li&gt;
&lt;li&gt;Best Use of Mastra
Orchestrate an agent over open models, add memory and tools to a chat agent, or build a workflow that triages GitHub issues.&lt;/li&gt;
&lt;/ul&gt;

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