I built an interactive tracker for my 25-week GenAI engineering roadmap (instead of using Notion) A developer built an interactive 25-week GenAI engineering roadmap tracker to overcome decision paralysis from scattered learning resources. The tracker maps every resource—books, courses, and docs—to specific weeks and tasks, using React, TypeScript, and framer-motion. It replaces traditional tools like Notion with a structured, multi-modal progress system. I've spent 8+ years as an enterprise developer — .NET, Oracle, PeopleSoft, the integration trenches. This year I committed to a real transition into GenAI engineering . Not "I watched some YouTube," but a structured, finish-able plan. The first thing I learned is that the hard part isn't finding learning material. It's the opposite: decision paralysis . 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." So before writing a line of Python, I did two things: This post is about both, with the engineering bits that turned out to be interesting. 🔗 It's live in read-only guest mode if you want to poke at it: baqar.dev/roadmap I actually compared the paid options side by side — the IBM Generative AI Engineering with LLMs spec, two QuestPond courses, ByteByteAI's 6-week cohort, SwirlAI's \$1,900 Maven bootcamp. The pattern: the good ones SwirlAI especially had a syllabus that looked a lot 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. So the roadmap, roughly: Ten portfolio projects along the way, all healthcare/insurance themed since that's my domain. The tracker isn't just a checklist. The feature that killed my decision paralysis was mapping every learning resource to the exact week it's relevant — and I own five books plus two video courses, so I mapped them chapter-by-chapter and module-by-module . The data model is plain typed structures. Each week has a list of curated resources: type ResourceKind = 'video' | 'docs' | 'article' | 'course' | 'repo' | 'tool' | 'book'; interface WeekResource { title: string; source: string; url: string; kind: ResourceKind; } // A small helper so book entries stay consistent and point at the // official code repo I read the text from my own copy . const agentsBook = chapters: string : WeekResource = { title: 30 Agents · ${chapters} , source: 'Imran Ahmad · Packt', url: 'https://github.com/PacktPublishing/30-Agents-Every-AI-Engineer-Must-Build', kind: 'book', } ; const WEEK RESOURCES: Record