<?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: Nabil Thange</title>
    <description>The latest articles on DEV Community by Nabil Thange (@nabil_thange).</description>
    <link>https://dev.to/nabil_thange</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3571349%2F6907f97f-a5d8-4c3e-8325-13709384f65f.jpg</url>
      <title>DEV Community: Nabil Thange</title>
      <link>https://dev.to/nabil_thange</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nabil_thange"/>
    <language>en</language>
    <item>
      <title>I built an AI tutor with persistent memory in 6 hours — here's how</title>
      <dc:creator>Nabil Thange</dc:creator>
      <pubDate>Fri, 20 Mar 2026 15:20:19 +0000</pubDate>
      <link>https://dev.to/nabil_thange/i-built-an-ai-tutor-with-persistent-memory-in-6-hours-heres-how-3npo</link>
      <guid>https://dev.to/nabil_thange/i-built-an-ai-tutor-with-persistent-memory-in-6-hours-heres-how-3npo</guid>
      <description>&lt;h1&gt;
  
  
  I built an AI tutor with persistent memory in 6 hours — here's how
&lt;/h1&gt;

&lt;p&gt;Every study app I've used has the same problem.&lt;/p&gt;

&lt;p&gt;Open it on Monday. It helps you. Close it.&lt;/p&gt;

&lt;p&gt;Open it on Thursday. It has &lt;strong&gt;no idea who you are.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Same generic suggestions. Same random quiz topics. No memory of the fact that you failed recursion questions three times this week.&lt;/p&gt;

&lt;p&gt;So for this hackathon — theme: &lt;em&gt;AI Agents That Learn Using Hindsight&lt;/em&gt; — we built &lt;strong&gt;Sage.&lt;/strong&gt; An AI tutor that actually remembers you.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Sage does
&lt;/h2&gt;

&lt;p&gt;You upload your syllabus PDF. Sage reads it, extracts every subject and chapter, and asks you what you already know. Then it generates a personalised study plan built around your actual weak areas — not a template.&lt;/p&gt;

&lt;p&gt;Every time you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Take a quiz and get something wrong&lt;/li&gt;
&lt;li&gt;Ask the AI to re-explain a concept&lt;/li&gt;
&lt;li&gt;Tell the planner you have an exam coming up&lt;/li&gt;
&lt;li&gt;Finish a Pomodoro session&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;...Sage writes that to memory. Forever.&lt;/p&gt;

&lt;p&gt;Come back three days later? The AI opens with:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Welcome back. Last session you struggled with VSWR. Your IOT exam is in 4 days. Want to pick up from there?"&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's not a chat history trick. That's a persistent memory system.&lt;/p&gt;




&lt;h2&gt;
  
  
  The tech that makes it possible — Hindsight
&lt;/h2&gt;

&lt;p&gt;The memory layer is powered by &lt;strong&gt;&lt;a href="https://hindsight.vectorize.io/" rel="noopener noreferrer"&gt;Hindsight&lt;/a&gt;&lt;/strong&gt; by Vectorize.&lt;/p&gt;

&lt;p&gt;Hindsight isn't just a key-value store. When you call &lt;code&gt;retain()&lt;/code&gt;, it uses an LLM internally to extract facts, entities, and temporal data — then classifies them into &lt;strong&gt;4 memory types:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;World&lt;/strong&gt; — objective facts ("IOT exam is March 28")&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Experiences&lt;/strong&gt; — what actually happened ("scored 4/10 on quiz, failed VSWR")&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Observations&lt;/strong&gt; — patterns it auto-synthesises ("user consistently fails application questions")&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Opinions&lt;/strong&gt; — beliefs with confidence scores ("needs more practice: 0.91 confidence")&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And &lt;code&gt;reflect()&lt;/code&gt; reasons &lt;em&gt;across&lt;/em&gt; all of these to generate insights like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Strong in theory. Consistently weak in numerical and application problems."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is what makes Sage feel like a real tutor — not just a chatbot.&lt;/p&gt;




&lt;h2&gt;
  
  
  Architecture
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User → Next.js frontend
         ↓
/api/planner/chat   → recall() from Hindsight → Groq with memory context
/api/mentor/chat    → recall() + syllabus text → Groq → personalised teaching
/api/memory/retain  → Hindsight retain() on every meaningful interaction
/api/memory/reflect → Hindsight reflect() for insights + Memory Panel
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Stack:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Next.js 14&lt;/strong&gt; (App Router)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Groq&lt;/strong&gt; — qwen3-32b, fast and free tier&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hindsight Cloud&lt;/strong&gt; — persistent per-user memory banks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;shadcn/ui + Tailwind&lt;/strong&gt; — dark-themed component library&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;pdf-parse&lt;/strong&gt; — server-side syllabus extraction&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Memory Panel — making invisible AI visible
&lt;/h2&gt;

&lt;p&gt;The coolest thing we built wasn't the chat. It was the &lt;strong&gt;🧠 Memory Panel.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One click and you see everything the AI knows about you — grouped by type, with confidence scores on opinions, and a live &lt;code&gt;reflect()&lt;/code&gt; summary at the top:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;🌍 World
   BTech CSE Sem 3. IOT exam March 28.

🎯 Experiences
   Scored 4/10 on IOT quiz. Failed: VSWR, antenna gain.

🔍 Observations (auto-synthesised)
   Fails application questions consistently across 3 sessions.

💭 Opinions
   Needs IOT application practice — 0.91 confidence
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This screen alone makes it obvious that the AI is &lt;em&gt;actually learning&lt;/em&gt; — not just replying to prompts.&lt;/p&gt;




&lt;h2&gt;
  
  
  What we learned
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Hindsight's &lt;code&gt;reflect()&lt;/code&gt; is the killer feature.&lt;/strong&gt; It's not retrieval — it's synthesis. The AI forming its own opinions about a student's learning patterns is something no RAG pipeline gives you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Build memory-first, UI second.&lt;/strong&gt; We wired Hindsight in the first hour. Every feature we built after that automatically had memory context. If you add memory last, you have to retrofit everything.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. The "return visit" moment is your demo.&lt;/strong&gt; Log out, log back in, watch the AI greet you with context from days ago. That's the moment that makes people go &lt;em&gt;"wait, this is actually different."&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What's next for Sage
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;NotebookLM MCP integration for Studio outputs (audio overview, infographic, slide deck)&lt;/li&gt;
&lt;li&gt;Real Supabase persistence for test history and proficiency tracking&lt;/li&gt;
&lt;li&gt;Smarter pre-test adaptive questioning&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Built in 6 hours at a hackathon. Theme: &lt;strong&gt;AI Agents That Learn Using Hindsight.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you're building anything with persistent AI memory — check out &lt;a href="https://hindsight.vectorize.io/" rel="noopener noreferrer"&gt;Hindsight&lt;/a&gt;. It's genuinely different from standard RAG.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Code dropping soon. Follow for updates.&lt;/em&gt;&lt;/p&gt;




</description>
      <category>agents</category>
      <category>ai</category>
      <category>learning</category>
      <category>showdev</category>
    </item>
    <item>
      <title>🚀 Building Vyx: An AI Content Engine with the Kiro IDE</title>
      <dc:creator>Nabil Thange</dc:creator>
      <pubDate>Fri, 05 Dec 2025 12:00:24 +0000</pubDate>
      <link>https://dev.to/nabil_thange/building-vyx-an-ai-content-engine-with-the-kiro-ide-d9a</link>
      <guid>https://dev.to/nabil_thange/building-vyx-an-ai-content-engine-with-the-kiro-ide-d9a</guid>
      <description>&lt;h1&gt;
  
  
  🚀 Building Vyx: An AI Content Engine with the Kiro IDE
&lt;/h1&gt;

&lt;p&gt;By &lt;strong&gt;Nabil Salim Thange&lt;/strong&gt; | &lt;a href="http://nabil-thange.vercel.app/" rel="noopener noreferrer"&gt;Portfolio: http://nabil-thange.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The content creation world is drowning in manual labor. We realized that even with dozens of AI tools, creators were spending 15-20 hours a week just repurposing a single YouTube video for different platforms.&lt;/p&gt;

&lt;p&gt;That’s why we built &lt;strong&gt;Vyx&lt;/strong&gt;, an AI engine that converts any video URL into a complete, platform-optimized content package (blogs, social posts, viral clips) in under 10 minutes.&lt;/p&gt;

&lt;p&gt;This project was complex, requiring the orchestration of multiple asynchronous microservices (Next.js, Groq, N8N, FFmpeg). But thanks to the &lt;strong&gt;Kiro IDE&lt;/strong&gt;, we handled this complexity and drastically reduced our development time.&lt;/p&gt;




&lt;h2&gt;
  
  
  What is Vyx? The Solution to the Content Bottleneck
&lt;/h2&gt;

&lt;p&gt;Vyx is a dual-pipeline system designed for creators and marketers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Content Repurposing Pipeline (Pipeline A):&lt;/strong&gt; Takes the YouTube transcript and runs it through a &lt;strong&gt;5-step AI pipeline (Llama 3.3 70B)&lt;/strong&gt; to generate a complete suite of content:

&lt;ul&gt;
&lt;li&gt;Optimized blog posts (800-1200 words).&lt;/li&gt;
&lt;li&gt;Platform-specific social posts (LinkedIn, X, Instagram) with custom aspect ratio images.&lt;/li&gt;
&lt;li&gt;Content is scored for &lt;strong&gt;Virality and Usefulness&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Viral Clip Generation Pipeline (Pipeline B):&lt;/strong&gt; Uses &lt;strong&gt;FFmpeg&lt;/strong&gt; and &lt;strong&gt;yt-dlp&lt;/strong&gt; to download the video, identifies the top 3-5 viral moments using AI, crops them to the &lt;strong&gt;9:16 vertical format&lt;/strong&gt;, and burns in subtitles.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The challenge wasn't just the AI; it was managing the infrastructure for instant content, complex processing, and multi-service orchestration.&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠️ How Kiro Revolutionized Our Development Workflow
&lt;/h2&gt;

&lt;p&gt;Developing Vyx on the &lt;strong&gt;Kiro IDE&lt;/strong&gt; was essential for two primary reasons: &lt;strong&gt;enforcing structure&lt;/strong&gt; and enabling &lt;strong&gt;complex multimedia processing&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Spec-Driven Development Eliminated Vibe Coding
&lt;/h3&gt;

&lt;p&gt;The project’s architecture, managing multiple asynchronous service integrations (Next.js for the frontend/API, N8N for orchestration, Groq for AI logic, Pollinations.ai for instant images), was intricate.&lt;/p&gt;

&lt;p&gt;Instead of getting lost in "vibe coding," Kiro allowed us to immediately transition from our &lt;strong&gt;Implementation Plan and PRD&lt;/strong&gt; into concrete, working code.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Clarity from the Start:&lt;/strong&gt; By defining the input and output for each module in the spec, Kiro was able to build a reliable &lt;strong&gt;N8N workflow structure&lt;/strong&gt; for the backend microservices, which drastically reduced integration bugs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Focus on Logic:&lt;/strong&gt; Kiro handled all the boilerplate for the Next.js/Tailwind setup, allowing us to spend 95% of our time focusing on optimizing the 5-step AI pipeline and refining the viral detection logic.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. The MCP Unlocked Multimedia Capabilities
&lt;/h3&gt;

&lt;p&gt;The most critical feature—the &lt;strong&gt;Viral Clip Generation Pipeline (B)&lt;/strong&gt;—relied heavily on non-standard binary tools: &lt;code&gt;yt-dlp&lt;/code&gt; for downloading and &lt;strong&gt;FFmpeg&lt;/strong&gt; for video manipulation.&lt;/p&gt;

&lt;p&gt;This is where the &lt;strong&gt;Master Control Program (MCP)&lt;/strong&gt; feature of Kiro was a game-changer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Native Tool Integration:&lt;/strong&gt; We extended Kiro’s capabilities to understand and orchestrate &lt;code&gt;yt-dlp&lt;/code&gt; and &lt;code&gt;FFmpeg&lt;/code&gt; commands.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Complex Workflow Solved:&lt;/strong&gt; Kiro was able to stitch together a workflow that downloaded the video, identified timestamps via the AI, and then reliably executed the necessary &lt;strong&gt;FFmpeg commands&lt;/strong&gt; to crop the video to 9:16 and burn in subtitles with precise timing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without the MCP, building a reliable, automated video processing pipeline would have been nearly impossible or prohibitively time-consuming.&lt;/p&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Vyx is proof that AI orchestration, powered by the right development environment, can solve real, multi-dimensional business problems. The structural enforcement of &lt;strong&gt;Spec-Driven Development&lt;/strong&gt; and the power of the &lt;strong&gt;MCP&lt;/strong&gt; allowed us to build a complete, production-ready AI content engine in record time.&lt;/p&gt;

&lt;p&gt;Kiro didn't just write code; it structured a complex technical project, enabling us (Nabil Salim Thange and team) to successfully launch a full-stack solution.&lt;/p&gt;

&lt;p&gt;If you’re building a complex project with multiple integrations, I highly recommend exploring how &lt;strong&gt;Kiro IDE&lt;/strong&gt; can streamline your workflow.&lt;/p&gt;

&lt;h1&gt;
  
  
  kiro
&lt;/h1&gt;

</description>
      <category>kiro</category>
      <category>contentcreation</category>
      <category>ai</category>
      <category>content</category>
    </item>
  </channel>
</rss>
