<?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: Baqar Hussain Naqvi</title>
    <description>The latest articles on DEV Community by Baqar Hussain Naqvi (@poseidonrage).</description>
    <link>https://dev.to/poseidonrage</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%2F101168%2F705ac3df-6c50-4dff-a8cc-ae5f5e17ac58.jpeg</url>
      <title>DEV Community: Baqar Hussain Naqvi</title>
      <link>https://dev.to/poseidonrage</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/poseidonrage"/>
    <language>en</language>
    <item>
      <title>I built an interactive tracker for my 25-week GenAI engineering roadmap (instead of using Notion)</title>
      <dc:creator>Baqar Hussain Naqvi</dc:creator>
      <pubDate>Sat, 13 Jun 2026 14:58:26 +0000</pubDate>
      <link>https://dev.to/poseidonrage/i-built-an-interactive-tracker-for-my-25-week-genai-engineering-roadmap-instead-of-using-notion-1ji0</link>
      <guid>https://dev.to/poseidonrage/i-built-an-interactive-tracker-for-my-25-week-genai-engineering-roadmap-instead-of-using-notion-1ji0</guid>
      <description>&lt;p&gt;I've spent 8+ years as an enterprise developer — .NET, Oracle, PeopleSoft, the integration trenches. This year I committed to a real transition into &lt;strong&gt;GenAI engineering&lt;/strong&gt;. Not "I watched some YouTube," but a structured, finish-able plan.&lt;/p&gt;

&lt;p&gt;The first thing I learned is that the hard part isn't finding learning material. It's the opposite: &lt;strong&gt;decision paralysis&lt;/strong&gt;. Forty browser bookmarks, three half-started Udemy courses, two cohort bootcamps in my cart at \$1,900–\$2,000 each, and five PDFs I "bought to read later."&lt;/p&gt;

&lt;p&gt;So before writing a line of Python, I did two things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Designed my own 25-week curriculum.&lt;/li&gt;
&lt;li&gt;Built an interactive tracker for it — into my portfolio — so I couldn't quietly abandon it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This post is about both, with the engineering bits that turned out to be interesting.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🔗 It's live in read-only guest mode if you want to poke at it: &lt;strong&gt;&lt;a href="https://baqar.dev/roadmap" rel="noopener noreferrer"&gt;baqar.dev/roadmap&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Why build a roadmap instead of buying a cohort?
&lt;/h2&gt;

&lt;p&gt;I actually compared the paid options side by side — the IBM &lt;em&gt;Generative AI Engineering with LLMs&lt;/em&gt; spec, two QuestPond courses, ByteByteAI's 6-week cohort, SwirlAI's \$1,900 Maven bootcamp.&lt;/p&gt;

&lt;p&gt;The pattern: the good ones (SwirlAI especially) had a syllabus that looked &lt;em&gt;a lot&lt;/em&gt; like the one I'd sketched — hybrid retrieval, agentic RAG, LLMOps. What you pay for in a cohort isn't the content, it's accountability, a peer group, and a Demo Day. Valuable, but not knowledge I lacked.&lt;/p&gt;

&lt;p&gt;So the roadmap, roughly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Weeks 1–4:&lt;/strong&gt; Python core, async + FastAPI, Claude/OpenAI APIs with streaming, prompt engineering + structured outputs (Pydantic)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weeks 5–8:&lt;/strong&gt; LangChain/LCEL, document pipelines, LangGraph state machines, human-in-the-loop&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weeks 9–13:&lt;/strong&gt; RAG done properly — embeddings, Chroma → Qdrant, hybrid search (BM25 + dense), re-ranking, parent-child retrieval, RAGAS evaluation + guardrails&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weeks 14–17:&lt;/strong&gt; agents — ReAct from scratch, CrewAI multi-agent, Semantic Kernel (one C# week as a bridge from my background), supervisor patterns&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weeks 18–21:&lt;/strong&gt; MCP servers, n8n automation, voice (Whisper → LLM → TTS)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weeks 22–24:&lt;/strong&gt; Docker/ECS, a full SaaS build, LLMOps with Langfuse&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Week 25 (elective):&lt;/strong&gt; transformer internals + fine-tuning (LoRA, DPO) — added after I noticed every paid course had this and my plan didn't&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ten portfolio projects along the way, all healthcare/insurance themed since that's my domain.&lt;/p&gt;

&lt;h2&gt;
  
  
  The part that actually fixed my workflow
&lt;/h2&gt;

&lt;p&gt;The tracker isn't just a checklist. The feature that killed my decision paralysis was &lt;strong&gt;mapping every learning resource to the exact week it's relevant&lt;/strong&gt; — and I own five books plus two video courses, so I mapped them &lt;em&gt;chapter-by-chapter and module-by-module&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;The data model is plain typed structures. Each week has a list of curated resources:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;type&lt;/span&gt; &lt;span class="nx"&gt;ResourceKind&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;video&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;docs&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;article&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;course&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;repo&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;tool&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;book&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kr"&gt;interface&lt;/span&gt; &lt;span class="nx"&gt;WeekResource&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;source&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;ResourceKind&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// A small helper so book entries stay consistent and point at the&lt;/span&gt;
&lt;span class="c1"&gt;// official code repo (I read the text from my own copy).&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;agentsBook&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;chapters&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="nx"&gt;WeekResource&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`30 Agents · &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;chapters&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;source&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Imran Ahmad · Packt&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://github.com/PacktPublishing/30-Agents-Every-AI-Engineer-Must-Build&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;book&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;WEEK_RESOURCES&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;Record&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;WeekResource&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;LangGraph Documentation&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;source&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;LangChain&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;...&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;docs&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="nf"&gt;agentsBook&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Ch 7 — Tool Manipulation &amp;amp; Orchestration&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Generative AI with LangChain — Ch 3: Workflows with LangGraph&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;source&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Ben Auffarth · Packt&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;...&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;book&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="c1"&gt;// ...weeks 1–25&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So when I open Week 7 (LangGraph), the tracker tells me &lt;em&gt;exactly&lt;/em&gt; which docs to read, which book chapter lands here, and which course module to watch. No "where do I even start."&lt;/p&gt;

&lt;p&gt;I took it one step further: the reading/watching itself is a &lt;strong&gt;checkable task&lt;/strong&gt; in each week's daily plan, not just a link. I inject those into the curriculum's "Learn" day and tag them with an id suffix, then style them differently at render time so they stand out from build tasks:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;isBookTask&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;task&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;endsWith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;_book&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;isCourseTask&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;task&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;endsWith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;_course&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// ...&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;isBookTask&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"rt-book-badge"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Library&lt;/span&gt; &lt;span class="na"&gt;size&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt; Book&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;isCourseTask&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"rt-course-badge"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;PlayCircle&lt;/span&gt; &lt;span class="na"&gt;size&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt; Course&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"rt-task-num"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;task&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;task_num&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;)}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A pink "Book" pill, a cyan "Course" pill, gradient cards — so a Monday reads as a stack: &lt;em&gt;read this chapter → watch this module → build these tasks.&lt;/em&gt; Multi-modal, all counting toward progress.&lt;/p&gt;

&lt;h2&gt;
  
  
  The redesign
&lt;/h2&gt;

&lt;p&gt;The first version was a scattered single-column page — a timeline ribbon, week pills, a floating dock that kept fighting me. Classic "too many navigation patterns." I rebuilt it as a proper app shell:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;persistent sidebar&lt;/strong&gt; (the pattern Coursera/Linear use): overall progress ring, then months as an accordion with per-week rows.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;week hero&lt;/strong&gt; with breadcrumb, goal, progress bar, and search.&lt;/li&gt;
&lt;li&gt;Resources promoted to the &lt;em&gt;first&lt;/em&gt; content section, in a responsive tile grid.&lt;/li&gt;
&lt;li&gt;Everything animated with &lt;code&gt;framer-motion&lt;/code&gt; — week switches via &lt;code&gt;AnimatePresence&lt;/code&gt;, staggered section entry.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tech stack: &lt;strong&gt;React + TypeScript + Vite&lt;/strong&gt;, &lt;code&gt;framer-motion&lt;/code&gt;, &lt;code&gt;lucide-react&lt;/code&gt; icons, a tiny Express/Prisma backend for auth + progress persistence. Light/dark theming via CSS custom properties and a &lt;code&gt;data-theme&lt;/code&gt; attribute.&lt;/p&gt;

&lt;h2&gt;
  
  
  The meta-lesson
&lt;/h2&gt;

&lt;p&gt;Here's the part I find funny: I built and iterated this entire tracker using &lt;strong&gt;Claude Code&lt;/strong&gt; — an agentic coding tool. So my journey of learning to &lt;em&gt;build&lt;/em&gt; AI systems started by building &lt;em&gt;with&lt;/em&gt; one. Watching how an agent gathers context, plans, and edits a real codebase taught me more about agent design than any tutorial intro.&lt;/p&gt;

&lt;h2&gt;
  
  
  Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Plan before you consume.&lt;/strong&gt; Comparing seven paid courses against a syllabus I'd written myself was more clarifying than any single course.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Map resources to moments.&lt;/strong&gt; "What do I read &lt;em&gt;this week&lt;/em&gt;" beats "here are 40 great resources."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build the thing that keeps you accountable.&lt;/strong&gt; A tracker I made is one I'll actually open.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're a .NET/enterprise dev eyeing the same jump, the roadmap is yours to fork. And I'd genuinely value critique from people already shipping in this space — particularly: &lt;strong&gt;is skipping classical ML entirely (straight to LLM application engineering) a mistake for employability?&lt;/strong&gt; Tell me in the comments.&lt;/p&gt;

&lt;p&gt;→ &lt;strong&gt;&lt;a href="https://baqar.dev/roadmap" rel="noopener noreferrer"&gt;baqar.dev/roadmap&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>react</category>
      <category>career</category>
    </item>
  </channel>
</rss>
