<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[AI With Ram]]></title><description><![CDATA[Join a thriving community of over 10,000 tech enthusiasts and professionals who stay ahead with curated insights in Tech News, Data Science, AI, Machine Learning, Web Development, and more.]]></description><link>https://growtechie.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!082n!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bcd8254-d8ab-4735-8580-b940e38a11a9_500x500.png</url><title>AI With Ram</title><link>https://growtechie.substack.com</link></image><generator>Substack</generator><lastBuildDate>Tue, 07 Jul 2026 11:33:42 GMT</lastBuildDate><atom:link href="https://growtechie.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[GrowTechie]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[growtechie@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[growtechie@substack.com]]></itunes:email><itunes:name><![CDATA[aiwithram]]></itunes:name></itunes:owner><itunes:author><![CDATA[aiwithram]]></itunes:author><googleplay:owner><![CDATA[growtechie@substack.com]]></googleplay:owner><googleplay:email><![CDATA[growtechie@substack.com]]></googleplay:email><googleplay:author><![CDATA[aiwithram]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[30 FREE Claude Skills]]></title><description><![CDATA[Claude Skills launched in October 2025 and has quietly become the most important shift in how we work with Claude.]]></description><link>https://growtechie.substack.com/p/30-free-claude-skills</link><guid isPermaLink="false">https://growtechie.substack.com/p/30-free-claude-skills</guid><dc:creator><![CDATA[aiwithram]]></dc:creator><pubDate>Wed, 01 Jul 2026 01:57:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7kMu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae505cc-a52f-48aa-a41b-73e96062ea2d_1484x1060.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7kMu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae505cc-a52f-48aa-a41b-73e96062ea2d_1484x1060.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7kMu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae505cc-a52f-48aa-a41b-73e96062ea2d_1484x1060.png 424w, https://substackcdn.com/image/fetch/$s_!7kMu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae505cc-a52f-48aa-a41b-73e96062ea2d_1484x1060.png 848w, https://substackcdn.com/image/fetch/$s_!7kMu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae505cc-a52f-48aa-a41b-73e96062ea2d_1484x1060.png 1272w, https://substackcdn.com/image/fetch/$s_!7kMu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae505cc-a52f-48aa-a41b-73e96062ea2d_1484x1060.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7kMu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae505cc-a52f-48aa-a41b-73e96062ea2d_1484x1060.png" width="1456" height="1040" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aae505cc-a52f-48aa-a41b-73e96062ea2d_1484x1060.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1040,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2031296,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://growtechie.substack.com/i/204319185?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae505cc-a52f-48aa-a41b-73e96062ea2d_1484x1060.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7kMu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae505cc-a52f-48aa-a41b-73e96062ea2d_1484x1060.png 424w, https://substackcdn.com/image/fetch/$s_!7kMu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae505cc-a52f-48aa-a41b-73e96062ea2d_1484x1060.png 848w, https://substackcdn.com/image/fetch/$s_!7kMu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae505cc-a52f-48aa-a41b-73e96062ea2d_1484x1060.png 1272w, https://substackcdn.com/image/fetch/$s_!7kMu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae505cc-a52f-48aa-a41b-73e96062ea2d_1484x1060.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Claude Skills launched in October 2025 and has quietly become the most important shift in how we work with Claude. Instead of re-pasting the same instructions into every chat, you build a folder once, and Claude loads it automatically when the task calls for it. Your workflows, your style guides, and your domain expertise are embedded once and reused forever.</p><p>The problem: most of what&#8217;s written about Skills online is shallow, recycled, or outright wrong. So I went through every official Anthropic resource, every legit repo, and every credible community library to build the only list you actually need.</p><p>Here are 30 free resources, organized by what they&#8217;re actually good for.</p><p><strong>OFFICIAL DOCS (ANTHROPIC)</strong><br>&#8627; Agent Skills Overview: <a href="https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview">https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview</a><br>&#8627; Best Practices Guide: <a href="https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices">https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices</a><br>&#8627; Skills API Quickstart: <a href="https://platform.claude.com/docs/en/agents-and-tools/agent-skills/quickstart">https://platform.claude.com/docs/en/agents-and-tools/agent-skills/quickstart</a><br>&#8627; Using Skills with the API: <a href="https://platform.claude.com/docs/en/build-with-claude/skills-guide">https://platform.claude.com/docs/en/build-with-claude/skills-guide</a><br>&#8627; Claude API Skill Docs: <a href="https://platform.claude.com/docs/en/agents-and-tools/agent-skills/claude-api-skill">https://platform.claude.com/docs/en/agents-and-tools/agent-skills/claude-api-skill</a><br>&#8627; Extend Claude Code with Skills: <a href="https://code.claude.com/docs/en/skills">https://code.claude.com/docs/en/skills</a><br>&#8627; Claude API Reference: <a href="https://platform.claude.com/docs/en/api/overview">https://platform.claude.com/docs/en/api/overview</a><br>&#8627; Agent SDK Docs: <a href="https://platform.claude.com/docs/en/agent-sdk/quickstart">https://platform.claude.com/docs/en/agent-sdk/quickstart</a><br>&#8627; MCP Documentation: <a href="https://modelcontextprotocol.io/docs/getting-started/intro">https://modelcontextprotocol.io/docs/getting-started/intro</a><br>&#8627; Complete Guide to Building Skills (PDF):<a href="https://resources.anthropic.com/hubfs/The-Complete-Guide-to-Building-Skill-for-Claude.pdf">https://resources.anthropic.com/hubfs/The-Complete-Guide-to-Building-Skill-for-Claude.pdf</a><br>&#8627; Anthropic Academy: <a href="https://www.anthropic.com/learn/build-with-claude">https://www.anthropic.com/learn/build-with-claude</a></p><p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://topmate.io/ramakrushna_mohapatra/1616280?utm_source=public_profile&amp;utm_campaign=ramakrushna_mohapatra&quot;,&quot;text&quot;:&quot;Data Science, AI &amp; ML Mastery Pack&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://topmate.io/ramakrushna_mohapatra/1616280?utm_source=public_profile&amp;utm_campaign=ramakrushna_mohapatra"><span>Data Science, AI &amp; ML Mastery Pack</span></a></p><p></p><p><strong>OFFICIAL BLOG POSTS</strong><br>&#8627; Introducing Agent Skills: <a href="https://claude.com/blog/skills">https://claude.com/blog/skills</a><br>&#8627; Equipping Agents with Skills (Engineering): <a href="https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills">https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills</a><br>&#8627; Skills Explained: <a href="https://claude.com/blog/skills-explained">https://claude.com/blog/skills-explained</a><br>&#8627; How to Create Skills: <a href="https://claude.com/blog/how-to-create-skills-key-steps-limitations-and-examples">https://claude.com/blog/how-to-create-skills-key-steps-limitations-and-examples</a><br>&#8627; Building Skills for Claude Code: <a href="https://claude.com/blog/building-skills-for-claude-code">https://claude.com/blog/building-skills-for-claude-code</a><br>&#8627; Frontend Design Skills: <a href="https://claude.com/blog/improving-frontend-design-through-skills">https://claude.com/blog/improving-frontend-design-through-skills</a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://topmate.io/ramakrushna_mohapatra/672584?utm_source=public_profile&amp;utm_campaign=ramakrushna_mohapatra&quot;,&quot;text&quot;:&quot;1:1 Career Development Deep Dive&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://topmate.io/ramakrushna_mohapatra/672584?utm_source=public_profile&amp;utm_campaign=ramakrushna_mohapatra"><span>1:1 Career Development Deep Dive</span></a></p><p></p><p><strong>OFFICIAL REPOS AND EXAMPLES</strong><br>&#8627; anthropics/skills (Main Repo): <a href="https://github.com/anthropics/skills">https://github.com/anthropics/skills</a><br>&#8627; Skills Cookbook (Notebooks): <a href="https://github.com/anthropics/claude-cookbooks/tree/main/skills">https://github.com/anthropics/claude-cookbooks/tree/main/skills</a><br>&#8627; anthropics/claude-quickstarts: <a href="https://github.com/anthropics/claude-quickstarts">https://github.com/anthropics/claude-quickstarts</a><br>&#8627; Official Plugins Marketplace: <a href="https://github.com/anthropics/claude-plugins-official">https://github.com/anthropics/claude-plugins-official</a><br>&#8627; claude-api Skill (Reference): <a href="https://github.com/anthropics/skills/blob/main/skills/claude-api/SKILL.md">https://github.com/anthropics/skills/blob/main/skills/claude-api/SKILL.md</a><br>&#8627; skill-creator Skill: <a href="https://github.com/anthropics/skills/tree/main/skill-creator">https://github.com/anthropics/skills/tree/main/skill-creator</a><br>&#8627; Document Skills (docx, pdf, pptx, xlsx): <a href="https://github.com/anthropics/skills/tree/main/document-skills">https://github.com/anthropics/skills/tree/main/document-skills</a><br>&#8627; Agent Skills Open Standard: <a href="https://agentskills.io">https://agentskills.io</a></p><p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://topmate.io/ramakrushna_mohapatra/662445?utm_source=public_profile&amp;utm_campaign=ramakrushna_mohapatra&quot;,&quot;text&quot;:&quot;For Mock interview&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://topmate.io/ramakrushna_mohapatra/662445?utm_source=public_profile&amp;utm_campaign=ramakrushna_mohapatra"><span>For Mock interview</span></a></p><p></p><p><strong>COMMUNITY LIBRARIES AND DIRECTORIES</strong><br>&#8627; skills.sh: <a href="https://skills.sh">https://skills.sh</a><br>&#8627; SkillsMP: <a href="https://skillsmp.com">https://skillsmp.com</a><br>&#8627; Smithery Skills: <a href="https://smithery.ai/skills">https://smithery.ai/skills</a><br>&#8627; SkillHub: <a href="https://skillhub.club">https://skillhub.club</a><br>&#8627; ClaudeMarketplaces: <a href="https://claudemarketplaces.com">https://claudemarketplaces.com</a></p><p>Save this. Share it with anyone serious about going deeper than prompts.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/subscribe?"><span>Subscribe now</span></a></p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/30-free-claude-skills?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading AI With Ram! This post is public, so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/30-free-claude-skills?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/p/30-free-claude-skills?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/30-free-claude-skills/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/p/30-free-claude-skills/comments"><span>Leave a comment</span></a></p><div><hr></div><div class="community-chat" data-attrs="{&quot;url&quot;:&quot;https://open.substack.com/pub/growtechie/chat?utm_source=chat_embed&quot;,&quot;subdomain&quot;:&quot;growtechie&quot;,&quot;pub&quot;:{&quot;id&quot;:3358877,&quot;name&quot;:&quot;AI With Ram&quot;,&quot;author_name&quot;:&quot;aiwithram&quot;,&quot;author_photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!gzmP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F466e7463-fc45-4f44-85ac-30bcdc1298ca_1254x1254.png&quot;}}" data-component-name="CommunityChatRenderPlaceholder"></div><p></p>]]></content:encoded></item><item><title><![CDATA[100 Claude Prompts That Replace Hours of Work]]></title><description><![CDATA[Most Claude prompt lists are padded with noise.]]></description><link>https://growtechie.substack.com/p/100-claude-prompts-that-replace-hours</link><guid isPermaLink="false">https://growtechie.substack.com/p/100-claude-prompts-that-replace-hours</guid><dc:creator><![CDATA[aiwithram]]></dc:creator><pubDate>Thu, 25 Jun 2026 11:47:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!CMyL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb37bc7d-2a2c-4e21-b6a0-8f6183277dfe_1484x1060.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CMyL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb37bc7d-2a2c-4e21-b6a0-8f6183277dfe_1484x1060.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CMyL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb37bc7d-2a2c-4e21-b6a0-8f6183277dfe_1484x1060.png 424w, https://substackcdn.com/image/fetch/$s_!CMyL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb37bc7d-2a2c-4e21-b6a0-8f6183277dfe_1484x1060.png 848w, https://substackcdn.com/image/fetch/$s_!CMyL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb37bc7d-2a2c-4e21-b6a0-8f6183277dfe_1484x1060.png 1272w, https://substackcdn.com/image/fetch/$s_!CMyL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb37bc7d-2a2c-4e21-b6a0-8f6183277dfe_1484x1060.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CMyL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb37bc7d-2a2c-4e21-b6a0-8f6183277dfe_1484x1060.png" width="1456" height="1040" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eb37bc7d-2a2c-4e21-b6a0-8f6183277dfe_1484x1060.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1040,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2152235,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://growtechie.substack.com/i/203535558?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb37bc7d-2a2c-4e21-b6a0-8f6183277dfe_1484x1060.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CMyL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb37bc7d-2a2c-4e21-b6a0-8f6183277dfe_1484x1060.png 424w, https://substackcdn.com/image/fetch/$s_!CMyL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb37bc7d-2a2c-4e21-b6a0-8f6183277dfe_1484x1060.png 848w, https://substackcdn.com/image/fetch/$s_!CMyL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb37bc7d-2a2c-4e21-b6a0-8f6183277dfe_1484x1060.png 1272w, https://substackcdn.com/image/fetch/$s_!CMyL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb37bc7d-2a2c-4e21-b6a0-8f6183277dfe_1484x1060.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Most Claude prompt lists are padded with noise. This one is not. I went through 200 prompts, cut everything that was vague, redundant, or too niche to matter, and kept only what I would actually use in my own work. What you are left with is 100 prompts across four high-leverage areas: coding, AI systems, research, and automation.</p><p>Every prompt is a framework, not a sentence. The <code>[BRACKETS]</code> are where your context goes. Drop in your codebase, your use case, your product, and the prompt does the rest. Think of these as cognitive multipliers. They do not replace your judgment, they accelerate it.</p><p><strong>How to use this:</strong> bookmark the category you need most, pick one prompt today, and use it on a real problem. That is how this list pays off.</p><h2><strong>Coding and Debugging</strong></h2><blockquote><p>The prompts below turn Claude into a senior engineering co-pilot. Use them for code reviews, architectural decisions, test generation, and debugging sessions. Replace the bracketed placeholders with your actual code, error messages, or stack details.</p></blockquote><p><strong>01. Code Review</strong></p><p><code>Review this code as a senior engineer. Identify bugs, security vulnerabilities, performance issues, and style problems. Explain each issue and suggest a fix: [PASTE CODE]</code></p><p><strong>02. Debug This Error</strong></p><p><code>I am getting this error: [ERROR MESSAGE]. Here is the relevant code: [PASTE CODE]. Walk me through every possible cause and fix each one.</code></p><p><strong>03. Refactor for Readability</strong></p><p><code>Refactor this code to be cleaner and more readable without changing its functionality. Add comments explaining complex logic: [PASTE CODE]</code></p><p><strong>04. Write Unit Tests</strong></p><p><code>Write comprehensive unit tests for this function. Cover the happy path, edge cases, null inputs, and error conditions: [PASTE FUNCTION]</code></p><p><strong>05. Optimize Performance</strong></p><p><code>Analyze this code for performance bottlenecks. Identify the slowest parts and rewrite them to be more efficient: [PASTE CODE]</code></p><p><strong>06. Convert to TypeScript</strong></p><p><code>Convert this JavaScript code to TypeScript. Add proper type definitions for all variables, parameters, and return values: [PASTE CODE]</code></p><p><strong>07. Security Audit</strong></p><p><code>Audit this code for security vulnerabilities. Check for SQL injection, XSS, authentication issues, exposed secrets, and any other risks: [PASTE CODE]</code></p><p><strong>08. Generate API Endpoint</strong></p><p><code>Write a REST API endpoint in [LANGUAGE/FRAMEWORK] that [DESCRIBE WHAT IT SHOULD DO]. Include input validation, error handling, and correct HTTP status codes.</code></p><p><strong>09. Database Query Optimization</strong></p><p><code>This SQL query is running slowly: [PASTE QUERY]. Analyze it, explain why it is slow, and rewrite it to be faster. Suggest any indexes that would help.</code></p><p><strong>10. Design a Data Schema</strong></p><p><code>Design a database schema for [DESCRIBE APPLICATION]. Include all tables, columns, data types, relationships, indexes, and explain your design decisions.</code></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/subscribe?"><span>Subscribe now</span></a></p><p><strong>11. Code Architecture Review</strong></p><p><code>Review this architecture and tell me what problems you foresee at scale. What would break first and how should I redesign it: [DESCRIBE OR PASTE ARCHITECTURE]</code></p><p><strong>12. Add Error Handling</strong></p><p><code>Add comprehensive error handling to this code. Catch all possible failures, log them appropriately, and fail gracefully: [PASTE CODE]</code></p><p><strong>13. Build an Authentication System</strong></p><p><code>Design and write a JWT authentication system in [FRAMEWORK]. Include signup, login, token refresh, logout, and protected route middleware.</code></p><p><strong>14. Write a CI/CD Pipeline</strong></p><p><code>Write a GitHub Actions workflow that runs tests, checks code quality, builds the application, and deploys to [PLATFORM] on every push to main.</code></p><p><strong>15. Build a Rate Limiter</strong></p><p><code>Implement a rate limiter in [LANGUAGE] that allows [X] requests per [TIME PERIOD] per user. Handle edge cases and include a way to whitelist certain users.</code></p><p><strong>16. Implement Retry Logic</strong></p><p><code>Add retry logic to this function that makes an external API call. Handle rate limits, transient errors, and use exponential backoff: [PASTE FUNCTION]</code></p><p><strong>17. Write Integration Tests</strong></p><p><code>Write integration tests for this API endpoint that test the full request/response cycle including the database: [PASTE ENDPOINT CODE]</code></p><p><strong>18. Implement Search Functionality</strong></p><p><code>Implement full-text search for [DESCRIBE DATA] using [TECHNOLOGY]. Include fuzzy matching, relevance scoring, and filtering by [FIELDS].</code></p><p><strong>19. Optimize a React Component</strong></p><p><code>This React component is re-rendering too often and causing performance issues. Analyze it and fix the performance problems: [PASTE COMPONENT]</code></p><p><strong>20. Implement Feature Flags</strong></p><p><code>Design and implement a feature flag system that allows enabling or disabling features per user, per percentage of traffic, or without deploying code.</code></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/subscribe?"><span>Subscribe now</span></a></p><p><strong>21. Write a State Machine</strong></p><p><code>Implement a state machine for [DESCRIBE SYSTEM WITH STATES]. Define all states, transitions, guards, and actions.</code></p><p><strong>22. Build a CLI Tool</strong></p><p><code>Write a command line tool in Python that [DESCRIBE FUNCTIONALITY]. Include argument parsing, error handling, help text, and a usage example.</code></p><p><strong>23. Write a Health Check Endpoint</strong></p><p><code>Write a health check endpoint for [FRAMEWORK] that checks database connectivity, external service availability, and system resources. Return proper HTTP status codes.</code></p><p><strong>24. Write a Data Migration Script</strong></p><p><code>Write a database migration script that [DESCRIBE WHAT IT NEEDS TO DO]. Make it idempotent, reversible, and safe to run on a production database.</code></p><p><strong>25. Design a Microservice</strong></p><p><code>Design the architecture for a microservice that handles [DESCRIBE FUNCTIONALITY]. What endpoints does it need, how does it communicate, and what is its data model?</code></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/subscribe?"><span>Subscribe now</span></a></p><h2><strong>AI Workflows</strong></h2><blockquote><p>These prompts are for anyone building with AI, not just using it. Design agents, evaluation frameworks, RAG pipelines, multi-agent systems, and more. Treat these as system design sessions where Claude is the architect.</p></blockquote><p><strong>26. Design an AI Agent</strong></p><p><code>Design an AI agent that can [DESCRIBE GOAL]. What tools does it need, what decisions should it make autonomously, what should require human approval, and how should it handle failures?</code></p><p><strong>27. Build a Prompt Chain</strong></p><p><code>Design a multi-step prompt chain that takes [INPUT] and produces [OUTPUT]. Break it into discrete steps, define what each step does, and explain how outputs feed into the next step.</code></p><p><strong>28. Create a System Prompt</strong></p><p><code>Write a system prompt for an AI assistant that works as a [DESCRIBE ROLE] for [DESCRIBE COMPANY/USE CASE]. Define its personality, capabilities, limitations, and how it should handle edge cases.</code></p><p><strong>29. Evaluate Prompt Quality</strong></p><p><code>Evaluate this prompt and tell me everything that is wrong with it. Then rewrite it to be more precise, consistent, and likely to produce the output I actually want: [PASTE PROMPT]</code></p><p><strong>30. Design a RAG System</strong></p><p><code>Design a Retrieval Augmented Generation system for [DESCRIBE USE CASE]. What data should be indexed, how should it be chunked, what embedding model should be used, and how should retrieval work?</code></p><p><strong>31. Create an Extraction Prompt</strong></p><p><code>Write a prompt that extracts [DESCRIBE INFORMATION] from [DESCRIBE DOCUMENT TYPE]. Output as structured JSON. Handle missing fields gracefully and flag uncertain extractions.</code></p><p><strong>32. Design a Multi-Agent System</strong></p><p><code>Design a multi-agent system where [NUMBER] AI agents collaborate to accomplish [DESCRIBE GOAL]. Define each agent&#8217;s role, how they communicate, and how conflicts are resolved.</code></p><p><strong>33. Build an AI Evaluation Framework</strong></p><p><code>Design a framework for evaluating the quality of AI outputs for [DESCRIBE USE CASE]. What metrics matter, how should they be measured, and what does good versus bad look like?</code></p><p><strong>34. Build a Question Answering System</strong></p><p><code>Design a question answering system over [DESCRIBE KNOWLEDGE BASE]. How should documents be preprocessed, what retrieval strategy works best, and how should confidence be communicated to users?</code></p><p><strong>35. Create a Data Enrichment Workflow</strong></p><p><code>Design a workflow that takes [DESCRIBE INPUT DATA] and enriches it with [DESCRIBE ADDITIONAL INFORMATION] using AI. Define the steps, prompts, and how to handle failures.</code></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/subscribe?"><span>Subscribe now</span></a></p><p><strong>36. Build a Feedback Loop System</strong></p><p><code>Design a system where AI outputs are evaluated, feedback is collected, and the system improves over time for [DESCRIBE USE CASE]. How is quality measured and what triggers retraining?</code></p><p><strong>37. Document Processing Pipeline</strong></p><p><code>Design a pipeline that ingests [DESCRIBE DOCUMENT TYPES], extracts structured data, validates it, and stores it in [DESCRIBE SYSTEM]. Handle OCR, various formats, and malformed inputs.</code></p><p><strong>38. Build a Monitoring System for AI</strong></p><p><code>Design a monitoring system for an AI pipeline that tracks output quality, latency, cost, and failure rates. What alerts should exist and what dashboards need to be built?</code></p><p><strong>39. Create a Prompt Template Library</strong></p><p><code>Create a library of 10 reusable prompt templates for [DESCRIBE USE CASE]. Each template should have placeholders, usage instructions, and example inputs and outputs.</code></p><p><strong>40. Design a Human-in-the-Loop System</strong></p><p><code>Design a system where AI handles [DESCRIBE TASKS] autonomously but routes edge cases to humans. Define the confidence thresholds, escalation paths, and how human feedback is incorporated.</code></p><p><strong>41. Create AI Customer Service Agent</strong></p><p><code>Design an AI customer service agent for [DESCRIBE BUSINESS]. What questions can it answer, when should it escalate to a human, and how should it handle frustrated customers?</code></p><p><strong>42. Design a Code Review AI</strong></p><p><code>Design an AI code review system that automatically reviews pull requests for [DESCRIBE STANDARDS]. What should it check, and how should feedback be formatted to be actionable?</code></p><p><strong>43. Build a Research Assistant</strong></p><p><code>Design an AI research assistant that can [DESCRIBE RESEARCH TASKS]. How should it search, synthesize information, cite sources, and flag low-confidence conclusions?</code></p><p><strong>44. Design a Meeting Intelligence System</strong></p><p>Design an AI system that processes meeting transcripts and produces <code>[DESCRIBE OUTPUTS: action items, summaries, decisions]</code>. How should it handle multiple speakers and task assignments?</p><p><strong>45. Build a Contract Analysis Pipeline</strong></p><p><code>Design an AI pipeline that analyzes contracts and flags [DESCRIBE RISK TYPES]. What clauses should trigger alerts, how should confidence be communicated, and when should a lawyer review?</code></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://topmate.io/ramakrushna_mohapatra/1616280?utm_source=public_profile&amp;utm_campaign=ramakrushna_mohapatra&quot;,&quot;text&quot;:&quot;Access AI Books Here&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://topmate.io/ramakrushna_mohapatra/1616280?utm_source=public_profile&amp;utm_campaign=ramakrushna_mohapatra"><span>Access AI Books Here</span></a></p><p><strong>46. Create a Sentiment Analysis System</strong></p><p><code>Design a sentiment analysis system for [DESCRIBE DATA SOURCE]. What dimensions of sentiment matter, how should nuance be handled, and how should results be aggregated for reporting?</code></p><p><strong>47. Content Recommendation Engine</strong></p><p><code>Design a content recommendation engine for [DESCRIBE PLATFORM]. What signals drive recommendations, how should diversity be maintained, and how should new content be handled?</code></p><p><strong>48. Anomaly Detection System</strong></p><p><code>Design an AI anomaly detection system for [DESCRIBE DATA]. What constitutes an anomaly, how should severity be classified, and what should happen when one is detected?</code></p><p><strong>49. Build a Trend Detection System</strong></p><p><code>Design an AI system that monitors [DESCRIBE DATA SOURCES] and identifies emerging trends in [DESCRIBE DOMAIN]. How should trends be validated and false positives filtered?</code></p><p><strong>50. Design a Voice AI System</strong></p><p><code>Design a voice AI assistant for [DESCRIBE USE CASE]. How should speech be processed, what intents need to be recognized, and how should ambiguous requests be handled?</code></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://topmate.io/ramakrushna_mohapatra/1616280?utm_source=public_profile&amp;utm_campaign=ramakrushna_mohapatra&quot;,&quot;text&quot;:&quot;Access AI Books &amp; Notes Here&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://topmate.io/ramakrushna_mohapatra/1616280?utm_source=public_profile&amp;utm_campaign=ramakrushna_mohapatra"><span>Access AI Books &amp; Notes Here</span></a></p><h2><strong>Research and Analysis</strong></h2><blockquote><p>These prompts structure your thinking. Use them for market research, investment analysis, competitive intelligence, and any situation where you need to go deeper than a surface-level answer. They are frameworks, not searches.</p></blockquote><p><strong>51. Deep Research Brief</strong></p><p><code>Research [TOPIC] comprehensively. Cover the current state, key players, recent developments, open questions, and what experts disagree about. Structure as a research brief.</code></p><p><strong>52. Competitive Analysis</strong></p><p><code>Analyze [COMPANY/PRODUCT] against its top 5 competitors. Compare on [DIMENSIONS]. Identify where it leads, where it lags, and where the biggest opportunities are.</code></p><p><strong>53. Market Size Estimation</strong></p><p><code>Estimate the market size for [DESCRIBE MARKET]. Use a bottom-up approach, show your assumptions clearly, and give a range rather than a single number.</code></p><p><strong>54. Argument Steel-Manning</strong></p><p><code>Steel-man the argument that [CONTROVERSIAL POSITION]. Present the strongest possible version of this argument as its best advocate would make it. Then identify its weakest points.</code></p><p><strong>55. Investment Thesis Analysis</strong></p><p><code>Analyze the investment thesis for [COMPANY/ASSET]. What has to be true for this to be a good investment, what are the key risks, and what would change your view?</code></p><p><strong>56. SWOT Analysis</strong></p><p><code>Conduct a deep SWOT analysis for [COMPANY/PROJECT/IDEA]. Go beyond surface-level observations and identify second-order implications of each factor.</code></p><p><strong>57. First Principles Analysis</strong></p><p><code>Analyze [PROBLEM/INDUSTRY/ASSUMPTION] from first principles. What are the irreducible truths, what assumptions are people making that might be wrong, and what does this suggest?</code></p><p><strong>58. Historical Pattern Analysis</strong></p><p><code>Analyze historical examples of [DESCRIBE SITUATION OR PATTERN]. What patterns emerge, what caused success or failure, and what lessons apply to [CURRENT SITUATION]?</code></p><p><strong>59. Risk Analysis</strong></p><p><code>Conduct a comprehensive risk analysis for [DESCRIBE PROJECT OR DECISION]. Identify all risks, assess likelihood and impact, prioritize them, and suggest mitigations for the top five.</code></p><p><strong>60. Scenario Planning</strong></p><p><code>Develop three scenarios for [DESCRIBE SITUATION]: a base case, an optimistic case, and a pessimistic case. What would cause each to occur and how should we prepare for each?</code></p><p><strong>61. Causal Chain Analysis</strong></p><p><code>Map the causal chain from [ROOT CAUSE] to [OUTCOME]. What are all the links in the chain, where could intervention have the most impact, and what feedback loops exist?</code></p><p><strong>62. Trend Analysis</strong></p><p><code>Analyze the trend of [DESCRIBE TREND]. How long has it been building, what is driving it, how durable is it, and what are its second and third-order effects?</code></p><p><strong>63. Decision Framework</strong></p><p><code>Build a decision framework for [DESCRIBE DECISION TYPE]. What factors matter, how should they be weighted, what information is needed, and what does a good decision process look like?</code></p><p><strong>64. Root Cause Analysis</strong></p><p><code>Conduct a root cause analysis of [DESCRIBE PROBLEM OR FAILURE]. Use the five whys method, identify contributing factors, and recommend actions that address root causes, not symptoms.</code></p><p><strong>65. Stakeholder Analysis</strong></p><p><code>Map the stakeholders for [DESCRIBE PROJECT OR DECISION]. Who has power, who is affected, what does each party want, and how should each be engaged?</code></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/subscribe?"><span>Subscribe now</span></a></p><p><strong>66. Hypothesis Generation</strong></p><p><code>Generate 10 testable hypotheses about [DESCRIBE PHENOMENON OR PROBLEM]. For each, describe what evidence would confirm or refute it and how it could be tested.</code></p><p><strong>67. Assumption Mapping</strong></p><p><code>Map all the assumptions underlying [DESCRIBE PLAN OR BELIEF]. Categorize them by how critical they are and how uncertain they are. Which assumptions most need to be tested first?</code></p><p><strong>68. Second-Order Effects</strong></p><p><code>Analyze the second and third-order effects of [DESCRIBE DECISION OR TREND]. Go beyond the obvious first-order effects and identify what most people are missing.</code></p><p><strong>69. Pre-Mortem Analysis</strong></p><p><code>Conduct a pre-mortem for [DESCRIBE PLAN]. Imagine it is 12 months from now and this has failed. What went wrong, why did it fail, and what could have been done differently?</code></p><p><strong>70. Value Chain Analysis</strong></p><p><code>Map the value chain for [DESCRIBE INDUSTRY]. Where is value created, where is it captured, where are the margins, and where is disruption most likely to occur?</code></p><p><strong>71. Network Effects Analysis</strong></p><p><code>Analyze the network effects dynamics in [DESCRIBE MARKET OR PRODUCT]. What type of network effects exist, how strong are they, and what does this mean for competitive dynamics?</code></p><p><strong>72. Jobs to Be Done Analysis</strong></p><p><code>Apply the Jobs to Be Done framework to understand why customers hire [DESCRIBE PRODUCT OR SERVICE]. What functional, emotional, and social jobs is it doing?</code></p><p><strong>73. Moat Analysis</strong></p><p><code>Analyze the competitive moat of [COMPANY]. What sustainable advantages does it have, how durable are they, and what would erode them over the next five years?</code></p><p><strong>74. Supply and Demand Analysis</strong></p><p><code>Analyze the supply and demand dynamics for [DESCRIBE MARKET]. What drives demand, what constrains supply, how tight is the market, and what would shift the balance?</code></p><p><strong>75. Go-to-Market Analysis</strong></p><p><code>Analyze the go-to-market strategy for [DESCRIBE PRODUCT]. Who is the beachhead customer, what is the sales motion, how does word of mouth work, and what drives viral growth?</code></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://topmate.io/ramakrushna_mohapatra/1616280?utm_source=public_profile&amp;utm_campaign=ramakrushna_mohapatra&quot;,&quot;text&quot;:&quot;Access AI Books &amp; PDFs here&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://topmate.io/ramakrushna_mohapatra/1616280?utm_source=public_profile&amp;utm_campaign=ramakrushna_mohapatra"><span>Access AI Books &amp; PDFs here</span></a></p><h2><strong>Automation</strong></h2><blockquote><p>Use these prompts to design end-to-end automation systems. They are strong for Zapier workflows, data pipelines, onboarding flows, CRM automations, and anything that runs without you. Tell Claude what you are automating and let it map the entire system.</p></blockquote><p><strong>76. Map a Manual Process</strong></p><p><code>I do this task manually: [DESCRIBE TASK]. Map every step in detail, identify which steps could be automated, and design an automation that handles the full workflow.</code></p><p><strong>77. Zapier Workflow Design</strong></p><p><code>Design a Zapier workflow that automates [DESCRIBE PROCESS]. Define the trigger, all the steps in sequence, what data is passed between steps, and how errors are handled.</code></p><p><strong>78. Email Automation Sequence</strong></p><p><code>Design an automated email sequence for [DESCRIBE PURPOSE]. Write the copy for each email, define the triggers and timing, and explain the goal of each message.</code></p><p><strong>79. Build a Data Pipeline</strong></p><p><code>Design a data pipeline that takes [DESCRIBE INPUT], transforms it by [DESCRIBE TRANSFORMATIONS], and loads it into [DESCRIBE DESTINATION]. Include error handling and monitoring.</code></p><p><strong>80. Automate Report Generation</strong></p><p><code>Design an automation that pulls data from [DESCRIBE SOURCES], calculates [DESCRIBE METRICS], generates a [FORMAT] report, and sends it to [RECIPIENTS] every [FREQUENCY].</code></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/subscribe?"><span>Subscribe now</span></a></p><p><strong>81. Build a Lead Qualification Bot</strong></p><p><code>Design an automated lead qualification system that [DESCRIBE HOW LEADS COME IN], asks qualifying questions, scores them against [DESCRIBE CRITERIA], and routes them to the right person.</code></p><p><strong>82. Customer Onboarding Automation</strong></p><p><code>Design an automated customer onboarding flow for [DESCRIBE PRODUCT]. What happens at each step, what triggers the next step, and how are stuck customers identified and helped?</code></p><p><strong>83. Build a Monitoring Alert System</strong></p><p><code>Design an automated monitoring system for [DESCRIBE WHAT IS BEING MONITORED]. What metrics trigger alerts, how are alerts prioritized, and what information is included in each alert?</code></p><p><strong>84. Automate Customer Support Triage</strong></p><p><code>Design an automation that receives support requests, categorizes them by type and priority, routes them to the right team, and sends an acknowledgment to the customer.</code></p><p><strong>85. Content Publishing Pipeline</strong></p><p><code>Design an automated content publishing pipeline that takes a draft, runs it through [DESCRIBE CHECKS], formats it for [PLATFORMS], schedules publication, and tracks distribution.</code></p><p><strong>86. Automate Competitive Monitoring</strong></p><p><code>Design an automation that monitors [DESCRIBE COMPETITORS] for changes to [DESCRIBE WHAT TO MONITOR] and delivers a weekly digest with the most important changes highlighted.</code></p><p><strong>87. Build a CRM Automation</strong></p><p><code>Design automations for [CRM SYSTEM] that handle [DESCRIBE SCENARIOS]. What triggers each automation, what actions does it take, and how does it update records?</code></p><p><strong>88. Automate Employee Onboarding</strong></p><p><code>Design an automated employee onboarding workflow that handles account creation, equipment provisioning, training assignments, introduction emails, and day-one check-ins.</code></p><p><strong>89. Automate Meeting Follow-Ups</strong></p><p><code>Design an automation that processes meeting transcripts, extracts action items, assigns them to owners, creates tasks in [PROJECT MANAGEMENT TOOL], and sends follow-up emails.</code></p><p><strong>90. Build a Price Monitoring System</strong></p><p><code>Design an automation that monitors competitor prices for [DESCRIBE PRODUCTS] across [CHANNELS], alerts when significant changes occur, and provides pricing recommendations.</code></p><p><strong>91. Automate Job Posting and Screening</strong></p><p><code>Design an automation for the recruitment process that posts jobs, screens applications against [CRITERIA], schedules interviews for qualified candidates, and sends rejections.</code></p><p><strong>92. Automate Customer Win-Back</strong></p><p><code>Design an automated win-back campaign for churned customers. What triggers it, what is the sequence of messages, what offers are made, and when does it stop?</code></p><p><strong>93. Automate Sales Forecasting</strong></p><p><code>Design an automation that pulls data from [CRM AND OTHER SOURCES], applies [DESCRIBE FORECASTING MODEL], generates weekly forecast reports, and flags deals needing attention.</code></p><p><strong>94. Automate IT Ticket Routing</strong></p><p><code>Design an automation that receives IT support tickets, categorizes them, assigns priority, routes to the right team, and tracks resolution time against SLAs.</code></p><p><strong>95. Build an A/B Testing Automation</strong></p><p><code>Design a system that sets up A/B tests for [DESCRIBE WHAT IS BEING TESTED], monitors results, determines statistical significance, implements winners, and documents learnings.</code></p><p><strong>96. Build a User Lifecycle Automation</strong></p><p><code>Design automated workflows for each stage of the user lifecycle for [DESCRIBE PRODUCT]: activation, engagement, retention, re-engagement, and win-back.</code></p><p><strong>97. Automate Customer Health Scoring</strong></p><p><code>Design an automation that monitors [DESCRIBE CUSTOMER SIGNALS], calculates health scores, segments customers by risk, and triggers appropriate outreach for at-risk accounts.</code></p><p><strong>98. Build a Security Scanning Pipeline</strong></p><p><code>Design an automated security scanning pipeline for [DESCRIBE WHAT IS BEING SCANNED]. What tools run, what findings are critical versus informational, and how are remediations tracked?</code></p><p><strong>99. Build a Release Management Pipeline</strong></p><p><code>Design an automated release management process for [DESCRIBE APPLICATION]. How are releases staged, tested, approved, deployed, and monitored after going live?</code></p><p><strong>100. Automate Financial Reconciliation</strong></p><p><code>Design an automation that reconciles [DESCRIBE ACCOUNTS] by matching transactions, flagging discrepancies, generating exception reports, and updating records after review.</code></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading AI With Ram! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/100-claude-prompts-that-replace-hours?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading AI With Ram! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/100-claude-prompts-that-replace-hours?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/p/100-claude-prompts-that-replace-hours?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://topmate.io/ramakrushna_mohapatra/1616280?utm_source=public_profile&amp;utm_campaign=ramakrushna_mohapatra&quot;,&quot;text&quot;:&quot;Data Science, AI &amp; ML Mastery Pack&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://topmate.io/ramakrushna_mohapatra/1616280?utm_source=public_profile&amp;utm_campaign=ramakrushna_mohapatra"><span>Data Science, AI &amp; ML Mastery Pack</span></a></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[50 Skills That Turn Claude Into an Architect, Reviewer, and Debugger]]></title><description><![CDATA[Most people treat Claude like a $20 search engine.]]></description><link>https://growtechie.substack.com/p/50-skills-that-turn-claude-into-an</link><guid isPermaLink="false">https://growtechie.substack.com/p/50-skills-that-turn-claude-into-an</guid><dc:creator><![CDATA[aiwithram]]></dc:creator><pubDate>Sat, 20 Jun 2026 03:43:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!NwE7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80635756-1b3f-45a3-9ba6-7dca24e36e71_1448x1086.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NwE7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80635756-1b3f-45a3-9ba6-7dca24e36e71_1448x1086.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NwE7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80635756-1b3f-45a3-9ba6-7dca24e36e71_1448x1086.png 424w, https://substackcdn.com/image/fetch/$s_!NwE7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80635756-1b3f-45a3-9ba6-7dca24e36e71_1448x1086.png 848w, https://substackcdn.com/image/fetch/$s_!NwE7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80635756-1b3f-45a3-9ba6-7dca24e36e71_1448x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!NwE7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80635756-1b3f-45a3-9ba6-7dca24e36e71_1448x1086.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NwE7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80635756-1b3f-45a3-9ba6-7dca24e36e71_1448x1086.png" width="1448" height="1086" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/80635756-1b3f-45a3-9ba6-7dca24e36e71_1448x1086.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1086,&quot;width&quot;:1448,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2106368,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://growtechie.substack.com/i/202799440?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80635756-1b3f-45a3-9ba6-7dca24e36e71_1448x1086.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!NwE7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80635756-1b3f-45a3-9ba6-7dca24e36e71_1448x1086.png 424w, https://substackcdn.com/image/fetch/$s_!NwE7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80635756-1b3f-45a3-9ba6-7dca24e36e71_1448x1086.png 848w, https://substackcdn.com/image/fetch/$s_!NwE7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80635756-1b3f-45a3-9ba6-7dca24e36e71_1448x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!NwE7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80635756-1b3f-45a3-9ba6-7dca24e36e71_1448x1086.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Most people treat Claude like a $20 search engine. They type a question. They get an answer. They move on.</p><p>They do not realize Claude can function as a full development team: architect, reviewer, debugger, technical writer, all working together. They simply do not know skills exist.</p><p>The difference comes down to skills. 50 of them below, every install command included, organized by use case.</p><h2>What a Claude skill actually is</h2><p>A skill is nothing more than a folder containing a SKILL.md file. Inside that file you define a process, rules to follow, sample outputs, and sometimes scripts or templates Claude can run.</p><p>The point is that you stop repeating yourself. Explain a workflow once, package it as a skill, and every future session inherits it automatically.</p><p>Installs follow this pattern:</p><pre><code><code>npx skills@latest add mattpocock/skills/[skill-name]</code></code></pre><p>Where to find them:</p><ul><li><p>Anthropic&#8217;s official collection: <strong><a href="http://github.com/anthropics/skills">github.com/anthropics/skills</a></strong></p></li><li><p>Matt Pocock&#8217;s personal repo (15k stars): <strong><a href="http://github.com/mattpocock/skills">github.com/mattpocock/skills</a></strong></p></li><li><p>The community index (66k+ skills): skillsmp.com</p></li></ul><h2>Skills for managing your own skill library</h2><p>This first group exists to help you create, test, and organize everything else on this list.</p><h3>Skill Creator</h3><p>Function: Runs Claude against your actual task, observes the results, and uses that data to help you write a working skill. Best used when you have a messy process and want it turned into a clean SKILL.md.</p><p>Repo: <strong><a href="http://github.com/anthropics/skills/tree/main/skills/skill-creator">github.com/anthropics/skills/tree/main/skills/skill-creator</a></strong></p><p>Process: Outline your workflow as bullets. Have Skill Creator draft an initial version. Test it against 3 to 5 real prompts, note what breaks, and refine from there.</p><h3>Write a Skill</h3><p>Function: Walks Claude through proper skill architecture, structure, progressive disclosure, and any bundled files needed. This is how you build skills that hold up over time instead of degrading.</p><p>Repo: <strong><a href="http://github.com/mattpocock/skills/tree/main/write-a-skill">github.com/mattpocock/skills/tree/main/write-a-skill</a></strong></p><p>Install:</p><pre><code><code>npx skills@latest add mattpocock/skills/write-a-skill</code></code></pre><p>Use this right after Skill Creator hands you a rough draft that needs proper structuring.</p><h3>Find Skills</h3><p>Function: Searches community marketplaces such as SkillsMP for something matching what you need.</p><p>Marketplace: skillsmp.com</p><p>Rule of thumb: treat skill discovery like dependency management. Search before you write something from scratch, because chances are someone already built it.</p><h2>Skills for planning and design work</h2><p>These exist specifically to stop you from shipping the wrong thing.</p><h3>Grill Me</h3><p>Function: Pushes Claude to interrogate your feature idea, asking one pointed question after another until every edge case and decision point is accounted for.</p><p>Best for: New builds, major refactors, anything risky.</p><p>Install:</p><pre><code><code>npx skills@latest add mattpocock/skills/grill-me</code></code></pre><p>Repo: <strong><a href="http://github.com/mattpocock/skills/tree/main/grill-me">github.com/mattpocock/skills/tree/main/grill-me</a></strong></p><p>Expect questions about data structures, failure scenarios, and how this touches existing systems. Better to answer them now than debug them later.</p><h3>Write a PRD</h3><p>Function: Walks you through an interview, explores your codebase, designs the relevant modules, and produces a PRD filed directly as a GitHub issue.</p><p>Install:</p><pre><code><code>npx skills@latest add mattpocock/skills/write-a-prd</code></code></pre><p>Repo: <strong><a href="http://github.com/mattpocock/skills/tree/main/write-a-prd">github.com/mattpocock/skills/tree/main/write-a-prd</a></strong></p><p>Direct it to:</p><ul><li><p>Define goals and explicit non-goals</p></li><li><p>List success metrics and constraints</p></li><li><p>Map connections to systems you will be touching</p></li></ul><h3>PRD to Plan</h3><p>Function: Converts a finished PRD into a staged implementation plan built around tracer-bullet vertical slices. This is not a simple task list, it is a sequencing strategy designed to reduce integration risk.</p><p>Install:</p><pre><code><code>npx skills@latest add mattpocock/skills/prd-to-plan</code></code></pre><p>Repo: <strong><a href="http://github.com/mattpocock/skills/tree/main/prd-to-plan">github.com/mattpocock/skills/tree/main/prd-to-plan</a></strong></p><p>Distinction from PRD to Issues: a plan gives you order and stages, issues give you independence. You will likely want both.</p><h3>PRD to Issues</h3><p>Function: Splits a PRD into standalone GitHub issues, each a vertical slice, with dependencies between them clearly marked.</p><p>Install:</p><pre><code><code>npx skills@latest add mattpocock/skills/prd-to-issues</code></code></pre><p>Repo: <strong><a href="http://github.com/mattpocock/skills/tree/main/prd-to-issues">github.com/mattpocock/skills/tree/main/prd-to-issues</a></strong></p><p>Sample instruction:</p><blockquote><p>&#8220;Apply PRD to Issues on the document above. Group the resulting issues by epic and state any blockers explicitly.&#8221;</p></blockquote><h3>Design an Interface</h3><p>Purpose: Produces several genuinely different interface concepts for a module by running parallel sub-agents.</p><p>Install:</p><pre><code><code>npx skills@latest add mattpocock/skills/design-an-interface</code></code></pre><p>Repo: <strong><a href="http://github.com/mattpocock/skills/tree/main/design-an-interface">github.com/mattpocock/skills/tree/main/design-an-interface</a></strong></p><p>Instead of one option, you get 3 to 5 with distinct tradeoffs. Choose based on your actual constraints.</p><h3>Request Refactor Plan</h3><p>Function: Interviews you about the refactor, then produces a step-by-step plan broken into small commits, filed as a GitHub issue.</p><p>Install:</p><pre><code><code>npx skills@latest add mattpocock/skills/request-refactor-plan</code></code></pre><p>Repo: <strong><a href="http://github.com/mattpocock/skills/tree/main/request-refactor-plan">github.com/mattpocock/skills/tree/main/request-refactor-plan</a></strong></p><h2>Skills for active development</h2><p>This group converts Claude from an autocomplete tool into something closer to a careful engineering partner.</p><h3>TDD</h3><p>Function: Enforces a strict red-green-refactor cycle. Tests come first, always.</p><p>Install:</p><pre><code><code>npx skills@latest add mattpocock/skills/tdd</code></code></pre><p>Repo: <strong><a href="http://github.com/mattpocock/skills/tree/main/tdd">github.com/mattpocock/skills/tree/main/tdd</a></strong></p><p>Process:</p><ol><li><p>Write the failing test</p></li><li><p>Write just enough code to pass it</p></li><li><p>Refactor while the tests still hold</p></li></ol><h3>Triage Issue</h3><p>Function: Digs through the codebase to locate the actual cause of a bug, then files a GitHub issue with a TDD-driven fix plan attached.</p><p>Install:</p><pre><code><code>npx skills@latest add mattpocock/skills/triage-issue</code></code></pre><p>Repo: <strong><a href="http://github.com/mattpocock/skills/tree/main/triage-issue">github.com/mattpocock/skills/tree/main/triage-issue</a></strong></p><p>This is your &#8220;I genuinely do not know what is broken&#8221; tool. It investigates first, then hands you a clear plan.</p><h3>QA</h3><p>Function: Performs a complete QA sweep on a feature, surfacing issues with explicit blocking relationships between them.</p><p>Install:</p><pre><code><code>npx skills@latest add mattpocock/skills/qa</code></code></pre><p>Repo: <strong><a href="http://github.com/mattpocock/skills/tree/main/qa">github.com/mattpocock/skills/tree/main/qa</a></strong></p><p>Run before merging:</p><ul><li><p>Catch edge cases</p></li><li><p>Get issues filed in the right order</p></li><li><p>Ship without breaking things downstream</p></li></ul><h3>Improve Codebase Architecture</h3><p>Function: Audits your codebase for structural weaknesses, with particular focus on modules that are too shallow and code that is hard to test.</p><p>Install:</p><pre><code><code>npx skills@latest add mattpocock/skills/improve-codebase-architecture</code></code></pre><p>Repo: <strong><a href="http://github.com/mattpocock/skills/tree/main/improve-codebase-architecture">github.com/mattpocock/skills/tree/main/improve-codebase-architecture</a></strong></p><p>Ask for:</p><ul><li><p>Identified problem areas</p></li><li><p>2 to 3 possible refactor approaches</p></li><li><p>A breakdown of risk, effort, and payoff for each</p></li></ul><h3>Auto-Commit Messages</h3><p>Function: Reads your staged changes and writes a proper conventional commit, type, scope, and description included.</p><p>Install:</p><pre><code><code>npx skills@latest add anthropics/skills/auto-commit</code></code></pre><p>Repo: <strong><a href="http://github.com/anthropics/skills/tree/main/skills/auto-commit">github.com/anthropics/skills/tree/main/skills/auto-commit</a></strong></p><p>Useful when you are done typing &#8220;fix stuff&#8221; as a commit message.</p><h3>Code Review</h3><p>Function: Delivers a structured review covering security gaps, performance issues, error handling, and architectural concerns.</p><p>Repo: <strong><a href="http://github.com/anthropics/skills">github.com/anthropics/skills</a></strong> (search Code Review)</p><p>Request options: &#8220;Security-first review.&#8221; &#8220;Performance-first review.&#8221; Or a complete checklist run.</p><h3>Systematic Debugging</h3><p>Source: Part of the Superpowers repo.</p><p>Function: A disciplined four-stage debugging process that explicitly bans random trial-and-error edits.</p><p>Repo: <strong><a href="http://github.com/obra/superpowers/tree/main/skills/systematic-debugging">github.com/obra/superpowers/tree/main/skills/systematic-debugging</a></strong></p><p>Steps:</p><ol><li><p>Reproduce the bug with the smallest possible failing test</p></li><li><p>Isolate the actual cause</p></li><li><p>Make one targeted fix</p></li><li><p>Confirm with both tests and logs</p></li></ol><h3>Brainstorming</h3><p>Function: Develops a raw idea into a full flow and architecture using Socratic-style questioning.</p><p>Best used before writing any code for data modeling, API design, and thinking through failure recovery.</p><p>Repo: <strong><a href="http://github.com/obra/superpowers/tree/main/skills/brainstorming">github.com/obra/superpowers/tree/main/skills/brainstorming</a></strong></p><h3>Superpowers</h3><p>Description: A complete collection of proven skills covering testing, debugging, refactoring, and execution.</p><p>Repo: github.com/obra/superpowers</p><p>Treat it as your baseline engineering layer.</p><h3>React Best Practices</h3><p>Function: Applies Vercel and Next.js conventions to your React codebase.</p><p>Use case: Migrating to Next.js, cleaning up legacy React, or onboarding junior engineers.</p><p>Repo: <strong><a href="http://github.com/vercel-labs/agent-skills/tree/main/skills/react-best-practices">github.com/vercel-labs/agent-skills/tree/main/skills/react-best-practices</a></strong></p><h3>File Search</h3><p>Function: Equips Claude with ripgrep and ast-grep so it can navigate large codebases efficiently.</p><p>Repo: <strong><a href="http://github.com/massgen/massgen">github.com/massgen/massgen</a></strong></p><h3>Context Optimization</h3><p>Function: Shrinks context size and reduces token spend while preserving what actually matters.</p><p>Repo: <strong><a href="http://github.com/muratcankoylan/agent-skills-for-context-engineering">github.com/muratcankoylan/agent-skills-for-context-engineering</a></strong></p><h2>Skills for setup and tooling</h2><p>This category covers things you configure once and never think about again.</p><h3>Setup Pre-Commit</h3><p>Function: Configures Husky pre-commit hooks alongside lint-staged, Prettier, type checks, and test runs.</p><p>Install:</p><pre><code><code>npx skills@latest add mattpocock/skills/setup-pre-commit</code></code></pre><p>Repo: <strong><a href="http://github.com/mattpocock/skills/tree/main/setup-pre-commit">github.com/mattpocock/skills/tree/main/setup-pre-commit</a></strong></p><p>Apply this to every new repo you start. You will be glad you did.</p><h3>Git Guardrails for Claude Code</h3><p>Function: Installs hooks that intercept and block destructive git commands such as push, reset --hard, and clean before they run.</p><p>Install:</p><pre><code><code>npx skills@latest add mattpocock/skills/git-guardrails-claude-code</code></code></pre><p>Repo: <strong><a href="http://github.com/mattpocock/skills/tree/main/git-guardrails-claude-code">github.com/mattpocock/skills/tree/main/git-guardrails-claude-code</a></strong></p><p>Mandatory if you are running Claude Code against production. Speed is great until something irreversible happens. This is your safeguard.</p><h3>Dependency Auditor</h3><p>Function: Scans package.json for outdated, vulnerable, or abandoned dependencies and ranks fixes by priority.</p><p>Use case: Old repos you are afraid to touch with a regular audit command.</p><p>Install:</p><pre><code><code>npx skills@latest add ComposioHQ/awesome-claude-skills/dependency-auditor</code></code></pre><p>Repo: <strong><a href="http://github.com/ComposioHQ/awesome-claude-skills">github.com/ComposioHQ/awesome-claude-skills</a></strong></p><h3>Git Work Trees</h3><p>Function: Handles isolated branch-based development without disrupting your primary codebase.</p><p>Use case: Running experimental work or multiple features in parallel.</p><h2>Skills for issue and project tracking</h2><h3>GitHub Triage</h3><p>Function: Sorts incoming GitHub issues using a defined brief that tells Claude exactly what falls in scope and what does not.</p><p>Install:</p><pre><code><code>npx skills@latest add mattpocock/skills/github-triage</code></code></pre><p>Repo: <strong><a href="http://github.com/mattpocock/skills/tree/main/github-triage">github.com/mattpocock/skills/tree/main/github-triage</a></strong></p><p>Use it to:</p><ul><li><p>Clear large issue backlogs quickly</p></li><li><p>Auto-label and categorize</p></li><li><p>Route each issue to the right owner or epic</p></li></ul><h2>Skills for writing and documentation</h2><h3>Edit Article</h3><p>Function: Reworks articles by reorganizing structure, sharpening clarity, and trimming unnecessary words.</p><p>Install:</p><pre><code><code>npx skills@latest add mattpocock/skills/edit-article</code></code></pre><p>Repo: <strong><a href="http://github.com/mattpocock/skills/tree/main/edit-article">github.com/mattpocock/skills/tree/main/edit-article</a></strong></p><p>This goes beyond grammar fixes. It restructures the actual argument and sharpens each section&#8217;s point.</p><h3>Ubiquitous Language</h3><p>Function: Pulls a DDD-style glossary of terms straight from your conversation history.</p><p>Install:</p><pre><code><code>npx skills@latest add mattpocock/skills/ubiquitous-language</code></code></pre><p>Repo: <strong><a href="http://github.com/mattpocock/skills/tree/main/ubiquitous-language">github.com/mattpocock/skills/tree/main/ubiquitous-language</a></strong></p><p>The value:</p><ul><li><p>Teams accumulate private jargon</p></li><li><p>&#8220;Event,&#8221; &#8220;order,&#8221; and &#8220;user&#8221; mean different things depending on who is talking</p></li><li><p>This skill forces those definitions into the open before any code gets written</p></li></ul><h3>API Documentation Generator</h3><p>Function: Examines your routes and produces OpenAPI/Swagger documentation, including examples, error codes, and auth details.</p><p>Use case: You shipped the API and forgot the docs entirely.</p><p>Install:</p><pre><code><code>npx skills@latest add ComposioHQ/awesome-claude-skills/api-docs-generator</code></code></pre><p>Repo: <strong><a href="http://github.com/ComposioHQ/awesome-claude-skills">github.com/ComposioHQ/awesome-claude-skills</a></strong></p><h3>Content Researcher</h3><p>Function: Studies your writing patterns and produces long-form content, blogs and newsletters, backed by real citations.</p><p>Use case: Translating your Twitter voice into longer formats, or producing SEO-driven posts.</p><p>Repo: <a href="http://github.com/ComposioHQ/awesome-claude-skills/blob/master/content-research-writer/SKILL.md">github.com/ComposioHQ/awesome-claude-skills/blob/master/content-research-writer/SKILL.md</a></p><h3>Obsidian Vault</h3><p>Function: Navigates, creates, and links notes inside an Obsidian vault.</p><p>Install:</p><pre><code><code>npx skills@latest add mattpocock/skills/obsidian-vault</code></code></pre><p>Repo: <strong><a href="http://github.com/mattpocock/skills/tree/main/obsidian-vault">github.com/mattpocock/skills/tree/main/obsidian-vault</a></strong></p><h2>Skills for UI and frontend design</h2><h3>Frontend Design</h3><p>Function: Directs Claude toward clean, contemporary interface output.</p><p>Repo: <strong><a href="http://github.com/anthropics/skills/tree/main/skills/frontend-design">github.com/anthropics/skills/tree/main/skills/frontend-design</a></strong></p><h3>Theme Factory</h3><p>Function: Builds an entire color system and theme from a short text description.</p><p>Repo: <strong><a href="http://github.com/anthropics/skills/tree/main/skills/theme-factory">github.com/anthropics/skills/tree/main/skills/theme-factory</a></strong></p><p>Flow:</p><ol><li><p>Describe the brand feel (&#8221;calm fintech, trust, dark accent&#8221;)</p></li><li><p>Receive a token-based palette</p></li><li><p>Drop it into Tailwind or CSS variables</p></li></ol><h3>Canvas Design</h3><p>Function: Converts text descriptions into social graphics, posters, and cover images.</p><p>Repo: <strong><a href="http://github.com/anthropics/skills/tree/main/skills/canvas-design">github.com/anthropics/skills/tree/main/skills/canvas-design</a></strong></p><h3>Web Artifacts Builder</h3><p>Function: Constructs interactive dashboards, calculators, and small tools from plain language requests.</p><p>Repo: <strong><a href="http://github.com/anthropics/skills/tree/main/skills/web-artifacts-builder">github.com/anthropics/skills/tree/main/skills/web-artifacts-builder</a></strong></p><h3>Brand Guidelines</h3><p>Function: Keeps every new component consistent with your established brand system.</p><p>Repo: <strong><a href="http://github.com/anthropics/skills/tree/main/skills/brand-guidelines">github.com/anthropics/skills/tree/main/skills/brand-guidelines</a></strong></p><h2>Skills for business and marketing</h2><h3>Domain Name Brainstormer</h3><p>Function: Suggests product names and checks whether the domains are actually available.</p><p>Use case: Launching a new product or sub-brand.</p><p>Repo: <strong><a href="http://github.com/Microck/ordinary-claude-skills/tree/main/skills_all/domain-name-brainstormer">github.com/Microck/ordinary-claude-skills/tree/main/skills_all/domain-name-brainstormer</a></strong></p><h3>Stripe Integration</h3><p>Function: Builds out payment flows, webhooks, and subscription logic the right way, avoiding common API pitfalls.</p><p>Repo: <strong><a href="http://github.com/wshobson/agents/tree/main/plugins/payment-processing/skills/stripe-integration">github.com/wshobson/agents/tree/main/plugins/payment-processing/skills/stripe-integration</a></strong></p><h3>Lead Research Assistant</h3><p>Function: Identifies target companies and the relevant decision-makers based on your ideal customer profile.</p><p>Use case: Building B2B outreach lists, scouting partnerships.</p><p>Repo: <strong><a href="http://github.com/ComposioHQ/awesome-claude-skills/blob/master/lead-research-assistant/SKILL.md">github.com/ComposioHQ/awesome-claude-skills/blob/master/lead-research-assistant/SKILL.md</a></strong></p><h3>Marketing Skills</h3><p>Description: A bundle of 20+ skills covering conversion optimization, copywriting, and email sequences.</p><p>Repo: <strong><a href="http://github.com/coreyhaines31/marketingskills">github.com/coreyhaines31/marketingskills</a></strong></p><h3>Claude SEO</h3><p>Function: Runs a complete technical SEO audit, including schema markup and on-page optimization.</p><p>Repo: <strong><a href="http://github.com/AgriciDaniel/claude-seo">github.com/AgriciDaniel/claude-seo</a></strong></p><h2>Skills for media generation</h2><h3>Image Generator</h3><p>Function: Connects to external image APIs like Nano Banana Pro for photorealistic output.</p><ul><li><p>Nano Banana Pro: <strong><a href="http://github.com/feedtailor/ccskill-nanobanana">github.com/feedtailor/ccskill-nanobanana</a></strong></p></li><li><p>Nano Banana 2: <strong><a href="http://github.com/kingbootoshi/nano-banana-2-skill">github.com/kingbootoshi/nano-banana-2-skill</a></strong></p></li></ul><h3>Image Optimizer</h3><p>Function: Converts and resizes images into WebP format for faster page loads.</p><p>Repo: <strong><a href="http://mcpmarket.com/tools/skills/image-optimizer">mcpmarket.com/tools/skills/image-optimizer</a></strong></p><h3>Remotion Best Practices</h3><p>Function: Bakes in proven patterns for generating video and motion graphics through Remotion.</p><p>Repo: <strong><a href="http://github.com/remotion-dev/remotion">github.com/remotion-dev/remotion</a></strong></p><h2>Skills for documents and office work</h2><h3>PDF Processing</h3><p>Function: Pulls tables out of PDFs, fills out forms, and merges multiple files together.</p><p>Repo:<strong><a href="http://github.com/anthropics/skills/tree/main/skills/pdf"> github.com/anthropics/skills/tree/main/skills/pdf</a></strong></p><h3>DOCX</h3><p>Function: Modifies Word documents while preserving tracked changes and formatting.</p><p>Repo: <strong><a href="http://github.com/anthropics/skills/tree/main/skills/docx">github.com/anthropics/skills/tree/main/skills/docx</a></strong></p><h3>PPTX</h3><p>Function: Builds and edits slide decks, layouts, speaker notes, the works.</p><p>Repo: <strong><a href="http://github.com/anthropics/skills/tree/main/skills/pptx">github.com/anthropics/skills/tree/main/skills/pptx</a></strong></p><h3>XLSX</h3><p>Function: Generates formulas, pivot tables, and charts from plain-language instructions.</p><p>Repo: <strong><a href="http://github.com/anthropics/skills/tree/main/skills/xlsx">github.com/anthropics/skills/tree/main/skills/xlsx</a></strong></p><h3>Excel MCP Server</h3><p>Function: Edits Excel files directly through MCP, no desktop application required.</p><p>Repo: <strong><a href="http://github.com/haris-musa/excel-mcp-server">github.com/haris-musa/excel-mcp-server</a></strong></p><h3>GWS (Google Workspace)</h3><p>Function: Automates Calendar, Drive, and Docs actions.</p><p>Use cases: Rescheduling meetings, organizing shared drives, generating documents from templates.</p><p>Repo: <strong><a href="http://github.com/googleworkspace/cli">github.com/googleworkspace/cli</a></strong></p><h2>Skills for multi-agent work and browsing</h2><h3>Stochastic Multi-Agent Consensus</h3><p>Function: Deploys multiple sub-agents on the same problem, then aggregates their conclusions.</p><p>Use case: Major strategic calls, architecture decisions, risk evaluation.</p><p>Repo: <strong><a href="http://github.com/hungv47/meta-skills">github.com/hungv47/meta-skills</a></strong></p><h3>Playwright CLI</h3><p>Function: Operates an actual browser through Playwright for regression testing and walking through user funnels.</p><p>Repo: <strong><a href="http://github.com/microsoft/playwright">github.com/microsoft/playwright</a></strong></p><h3>Firecrawl Skill</h3><p>Function: Pulls structured data from sites that resist standard scraping methods.</p><p>Repo: <strong><a href="http://github.com/mendableai/firecrawl">github.com/mendableai/firecrawl</a></strong></p><h2>Putting it all together</h2><p>Begin with the workspace skills. Get Write a Skill and Skill Creator installed so you can build and maintain skills correctly from the start.</p><p>Layer in planning skills next: Grill Me, Write a PRD, PRD to Plan, PRD to Issues, Design an Interface. These alone eliminate most rework.</p><p>Lock down safety on the engineering side: Git Guardrails, Setup Pre-Commit, TDD, Systematic Debugging, Triage Issue. Standard on every repository.</p><p>Add Superpowers as your foundational engineering layer: github.com/obra/superpowers</p><p>Stack business-focused skills on top: Marketing Skills, Claude SEO, Lead Research, Content Researcher.</p><p>Use SkillsMP whenever there is a gap: <strong><span data-color="#ff0000" style="color: rgb(255, 0, 0);">skillsmp.com</span></strong>. Search before building something new.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/50-skills-that-turn-claude-into-an?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/50-skills-that-turn-claude-into-an?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/p/50-skills-that-turn-claude-into-an?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/50-skills-that-turn-claude-into-an/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/p/50-skills-that-turn-claude-into-an/comments"><span>Leave a comment</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Build a $1000-looking website in 5 minutes for FREE]]></title><description><![CDATA[Here&#8217;s the thing nobody tells you: the model isn&#8217;t the bottleneck.]]></description><link>https://growtechie.substack.com/p/build-a-1000-looking-website-in-5</link><guid isPermaLink="false">https://growtechie.substack.com/p/build-a-1000-looking-website-in-5</guid><dc:creator><![CDATA[aiwithram]]></dc:creator><pubDate>Fri, 12 Jun 2026 18:47:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Syo-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3c13131-1653-4878-b8ac-67e4bf3f007c_2118x1366.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Syo-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3c13131-1653-4878-b8ac-67e4bf3f007c_2118x1366.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Syo-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3c13131-1653-4878-b8ac-67e4bf3f007c_2118x1366.png 424w, https://substackcdn.com/image/fetch/$s_!Syo-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3c13131-1653-4878-b8ac-67e4bf3f007c_2118x1366.png 848w, https://substackcdn.com/image/fetch/$s_!Syo-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3c13131-1653-4878-b8ac-67e4bf3f007c_2118x1366.png 1272w, https://substackcdn.com/image/fetch/$s_!Syo-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3c13131-1653-4878-b8ac-67e4bf3f007c_2118x1366.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Syo-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3c13131-1653-4878-b8ac-67e4bf3f007c_2118x1366.png" width="1456" height="939" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a3c13131-1653-4878-b8ac-67e4bf3f007c_2118x1366.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:939,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:726372,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://growtechie.substack.com/i/201783594?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3c13131-1653-4878-b8ac-67e4bf3f007c_2118x1366.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Syo-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3c13131-1653-4878-b8ac-67e4bf3f007c_2118x1366.png 424w, https://substackcdn.com/image/fetch/$s_!Syo-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3c13131-1653-4878-b8ac-67e4bf3f007c_2118x1366.png 848w, https://substackcdn.com/image/fetch/$s_!Syo-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3c13131-1653-4878-b8ac-67e4bf3f007c_2118x1366.png 1272w, https://substackcdn.com/image/fetch/$s_!Syo-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3c13131-1653-4878-b8ac-67e4bf3f007c_2118x1366.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Here&#8217;s the thing nobody tells you: the model isn&#8217;t the bottleneck. What makes AI-built sites look &#8220;AI-built&#8221; is that they&#8217;re missing two ingredients: a real design system, and real footage. Give Claude those, and the output just looks like a studio made it.</p><p>Here&#8217;s the whole flow:</p><ol><li><p><strong>Get Claude Desktop</strong> (<a href="https://claude.com/download">Download Claude here</a>). The Code tab can actually write, preview, and iterate on real project files; that&#8217;s your build engine.</p></li><li><p><strong>Borrow a world-class design system.</strong> <a href="https://refero.design/">(https://refero.design/)</a>Head to styles. refero.design, a library of thousands of beautifully designed sites, each with a <code>Design.md</code> file you can copy. That one file encodes the entire visual language: typography, color palette, spacing rhythm, and motion style. It&#8217;s basically a professional designer&#8217;s brain, exported as text.</p></li><li><p><strong>Prompt Claude with it.</strong> In the Code tab, write one line about what you&#8217;re building, something like <strong>&#8220;Check the attached design file and build the website,&#8221;</strong> then paste the <strong>design</strong><code>.md</code> code underneath. Claude builds the whole site to match that system. One line plus one file, that&#8217;s the entire prompt.</p></li><li><p><strong>Make a hero video</strong> (this is the part that changes everything). Go to higgsfield.ai, generate an image first, then switch to video mode, pick Kling 3.0, attach your image, and add a simple motion prompt, something like &#8220;the camera stays stationary, the character&#8217;s scarf flows in the wind, and grass blows gently.&#8221; Download the clip. <strong>{You can skip this part if you want static site.}</strong></p></li><li><p><strong>Hand it to Claude.</strong> Attach the video and just say &#8220;use this as the hero.&#8221; Claude wires it in.</p></li></ol><p>And that&#8217;s it, a site with a real design language and real cinematic motion, built faster than it takes to brief a freelancer.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;f78bdc6d-6eb6-457d-81fc-3772d7cfe005&quot;,&quot;duration&quot;:null}"></div><p></p><div><hr></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/build-a-1000-looking-website-in-5?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! This post is public, so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/build-a-1000-looking-website-in-5?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/p/build-a-1000-looking-website-in-5?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><div class="community-chat" data-attrs="{&quot;url&quot;:&quot;https://open.substack.com/pub/growtechie/chat?utm_source=chat_embed&quot;,&quot;subdomain&quot;:&quot;growtechie&quot;,&quot;pub&quot;:{&quot;id&quot;:3358877,&quot;name&quot;:&quot;Growtechie &quot;,&quot;author_name&quot;:&quot;aiwithram&quot;,&quot;author_photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!gzmP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F466e7463-fc45-4f44-85ac-30bcdc1298ca_1254x1254.png&quot;}}" data-component-name="CommunityChatRenderPlaceholder"></div><p></p>]]></content:encoded></item><item><title><![CDATA[Ship Your ML Model From Local To Production]]></title><description><![CDATA[You&#8217;ve trained a model.]]></description><link>https://growtechie.substack.com/p/ship-your-ml-model-from-local-to</link><guid isPermaLink="false">https://growtechie.substack.com/p/ship-your-ml-model-from-local-to</guid><dc:creator><![CDATA[aiwithram]]></dc:creator><pubDate>Wed, 20 May 2026 17:34:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ELcd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b4ef00d-74e8-4cbd-b7b2-536fd06805ba_1448x1086.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b4ef00d-74e8-4cbd-b7b2-536fd06805ba_1448x1086.png&quot;}],&quot;caption&quot;:&quot;&quot;,&quot;alt&quot;:&quot;&quot;,&quot;staticGalleryImage&quot;:{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b4ef00d-74e8-4cbd-b7b2-536fd06805ba_1448x1086.png&quot;}},&quot;isEditorNode&quot;:true}"></div><p>You&#8217;ve trained a model. Accuracy looks good. You save it. And then&#8230; nothing. </p><p>The notebook sits there. Nobody else can use it. The model never leaves your laptop.</p><p>Under 50 lines of Python. A trained scikit-learn model, a FastAPI server, a Dockerfile, a Python client, and a requirements file. That&#8217;s the whole thing.</p><h2><strong>What&#8217;s inside the box</strong></h2><p>Clone it and you get a directory that looks like this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LtKS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0173510-ed59-4735-b8d8-76e4d445574c_1284x406.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LtKS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0173510-ed59-4735-b8d8-76e4d445574c_1284x406.png 424w, https://substackcdn.com/image/fetch/$s_!LtKS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0173510-ed59-4735-b8d8-76e4d445574c_1284x406.png 848w, https://substackcdn.com/image/fetch/$s_!LtKS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0173510-ed59-4735-b8d8-76e4d445574c_1284x406.png 1272w, https://substackcdn.com/image/fetch/$s_!LtKS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0173510-ed59-4735-b8d8-76e4d445574c_1284x406.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LtKS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0173510-ed59-4735-b8d8-76e4d445574c_1284x406.png" width="1284" height="406" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e0173510-ed59-4735-b8d8-76e4d445574c_1284x406.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:406,&quot;width&quot;:1284,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:38173,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://growtechie.substack.com/i/198590988?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0173510-ed59-4735-b8d8-76e4d445574c_1284x406.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LtKS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0173510-ed59-4735-b8d8-76e4d445574c_1284x406.png 424w, https://substackcdn.com/image/fetch/$s_!LtKS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0173510-ed59-4735-b8d8-76e4d445574c_1284x406.png 848w, https://substackcdn.com/image/fetch/$s_!LtKS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0173510-ed59-4735-b8d8-76e4d445574c_1284x406.png 1272w, https://substackcdn.com/image/fetch/$s_!LtKS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0173510-ed59-4735-b8d8-76e4d445574c_1284x406.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The model is a pre-trained classifier on the classic Iris dataset, saved with joblib. The server is a FastAPI app that loads the model at startup and exposes a single <code>POST /predict</code> endpoint. The Dockerfile packages it all into a portable, reproducible container. Let&#8217;s go layer by layer.</p><h2><strong>The system at a glance</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CWB3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12af1fc6-4d44-46b6-9f20-f3cbafc40aee_1312x512.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CWB3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12af1fc6-4d44-46b6-9f20-f3cbafc40aee_1312x512.png 424w, https://substackcdn.com/image/fetch/$s_!CWB3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12af1fc6-4d44-46b6-9f20-f3cbafc40aee_1312x512.png 848w, https://substackcdn.com/image/fetch/$s_!CWB3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12af1fc6-4d44-46b6-9f20-f3cbafc40aee_1312x512.png 1272w, https://substackcdn.com/image/fetch/$s_!CWB3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12af1fc6-4d44-46b6-9f20-f3cbafc40aee_1312x512.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CWB3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12af1fc6-4d44-46b6-9f20-f3cbafc40aee_1312x512.png" width="1312" height="512" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/12af1fc6-4d44-46b6-9f20-f3cbafc40aee_1312x512.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:512,&quot;width&quot;:1312,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:51393,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://growtechie.substack.com/i/198590988?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12af1fc6-4d44-46b6-9f20-f3cbafc40aee_1312x512.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CWB3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12af1fc6-4d44-46b6-9f20-f3cbafc40aee_1312x512.png 424w, https://substackcdn.com/image/fetch/$s_!CWB3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12af1fc6-4d44-46b6-9f20-f3cbafc40aee_1312x512.png 848w, https://substackcdn.com/image/fetch/$s_!CWB3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12af1fc6-4d44-46b6-9f20-f3cbafc40aee_1312x512.png 1272w, https://substackcdn.com/image/fetch/$s_!CWB3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12af1fc6-4d44-46b6-9f20-f3cbafc40aee_1312x512.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>server.py - deceptively simple</strong></h2><p>Here is the entire server, annotated:</p><pre><code><code>from fastapi import FastAPI
import joblib
import numpy as np

# Model loaded ONCE at import time &#8212; no per-request overhead
model = joblib.load(&#8217;app/model.joblib&#8217;)

# Map integer predictions back to human-readable labels
class_names = np.array([&#8217;setosa&#8217;, &#8216;versicolor&#8217;, &#8216;virginica&#8217;])

app = FastAPI()

@app.get(&#8217;/&#8217;)
def read_root():
    return {&#8217;message&#8217;: &#8216;Iris model API&#8217;}

@app.post(&#8217;/predict&#8217;)
def predict(data: dict):
    &#8220;&#8221;&#8220;
    Accepts: {&#8221;features&#8221;: [5.1, 3.5, 1.4, 0.2]}
    Returns: {&#8221;predicted_class&#8221;: &#8220;setosa&#8221;}
    &#8220;&#8221;&#8220;
    features = np.array(data[&#8217;features&#8217;]).reshape(1, -1)
    prediction = model.predict(features)
    class_name = class_names[prediction][0]
    return {&#8217;predicted_class&#8217;: class_name}</code></code></pre><p></p><p>Three patterns worth noting here:</p><h3><strong>1. Global model loading</strong></h3><p>The <code>joblib.load()</code> call happens at module import time &#8212; not inside the endpoint function. This means deserialization cost is paid once when the container starts, not on every request. For larger models, this is critical.</p><h3><strong>2. Untyped </strong><code>dict</code><strong> body</strong></h3><p>The request body is typed as a plain <code>dict</code>. It works, but a Pydantic model would give you automatic validation and a nicer OpenAPI schema &#8212; a natural next step when adapting this template.</p><h3><strong>3. Auto-generated docs</strong></h3><p>Because FastAPI is used, you get a Swagger UI at <code>/docs</code> for free. Zero extra code needed &#8212; just open the browser and test your endpoint interactively.</p><h2><strong>Dockerfile - what each line actually does</strong></h2><pre><code><em># Start from official Python 3.11 base &#8212; slim might be better for prod</em>
FROM python:3.11

<em># All commands run from /code inside the container</em>
WORKDIR /code

<em># Copy deps first &#8212; Docker caches this layer if requirements.txt unchanged</em>
COPY ./requirements.txt /code/requirements.txt
RUN pip install --no-cache-dir -r /code/requirements.txt

<em># Copy the app directory (model + server)</em>
COPY ./app /code/app

<em># Document the port (doesn&#8217;t actually publish it &#8212; that&#8217;s -p at runtime)</em>
EXPOSE 8000

<em># Start Uvicorn serving the FastAPI app on all interfaces</em>
CMD [&#8221;uvicorn&#8221;, &#8220;app.server:app&#8221;, &#8220;--host&#8221;, &#8220;0.0.0.0&#8221;, &#8220;--port&#8221;, &#8220;8000&#8221;]</code></pre><h2><strong>Three commands from zero to inference</strong></h2><h4><strong>1. Build the image</strong></h4><p>Docker reads the Dockerfile, pulls the Python base, installs deps, and bakes the model in.</p><pre><code>docker build -t iris-api</code></pre><h4><strong>2. Run the container</strong></h4><p>Map your host port 8000 to the container&#8217;s 8000. Uvicorn starts automatically.</p><pre><code>docker run --name iris-container -p 8000:8000 iris-api</code></pre><h4><strong>3. Hit the endpoint</strong></h4><p>Send four Iris features (sepal length, sepal width, petal length, petal width). Get a class back.</p><pre><code>curl -X POST &#8220;http://0.0.0.0:8000/predict&#8221; \
  -H &#8220;Content-Type: application/json&#8221; \
  -d &#8216;{&#8221;features&#8221;: [5.1, 3.5, 1.4, 0.2]}&#8217;

<em># Response:</em>
{&#8221;predicted_class&#8221;: &#8220;setosa&#8221;}</code></pre><h2><strong>The Python client - because curl gets old fast</strong></h2><p>The repo includes <code>client.py</code> - a script that loops over a batch of 12 flower measurements and collects predictions:</p><pre><code>import json, requests

data = [[4.3, 3.0, 1.1, 0.1], [5.8, 4.0, 1.2, 0.2], ...]
url  = &#8216;http://0.0.0.0:8000/predict/&#8217;

predictions = []
for record in data:
    resp = requests.post(url, data=json.dumps({&#8217;features&#8217;: record}))
    predictions.append(resp.json()[&#8217;predicted_class&#8217;])

print(predictions)
<em># [&#8217;setosa&#8217;, &#8216;setosa&#8217;, &#8216;setosa&#8217;, ...]</em></code></pre><h2><strong>Why this template matters</strong></h2><p>The ML community has a deployment gap problem. Models get trained, celebrated, and shelved. This repo offers a concrete, working pattern that you can clone, swap in your own <code>model.joblib</code>, and have a running API in minutes.</p><p>The technology choices (FastAPI over Flask, Uvicorn, joblib, Docker) are all industry-standard. The file count is ruthlessly small. There&#8217;s nothing to get lost in.</p><p>If you&#8217;re an ML practitioner who has never deployed a model, this is your entry point. If you&#8217;re an experienced engineer, it&#8217;s a clean boilerplate to modify rather than build from scratch.</p><p></p><p><strong>Access the whole GitHub repo here: </strong></p><p>https://github.com/DanilZherebtsov/ml-docker-flask-api.git</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share Growtechie &quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share Growtechie </span></a></p><div><hr></div><div class="community-chat" data-attrs="{&quot;url&quot;:&quot;https://open.substack.com/pub/growtechie/chat?utm_source=chat_embed&quot;,&quot;subdomain&quot;:&quot;growtechie&quot;,&quot;pub&quot;:{&quot;id&quot;:3358877,&quot;name&quot;:&quot;Growtechie &quot;,&quot;author_name&quot;:&quot;Growtechie&quot;,&quot;author_photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!mYsi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc10c355-6172-4cac-85e1-d812ffaeba80_500x500.png&quot;}}" data-component-name="CommunityChatRenderPlaceholder"></div><p></p>]]></content:encoded></item><item><title><![CDATA[Claude Code’s Hidden Commands]]></title><description><![CDATA[Most people use Claude Code like a smart assistant.]]></description><link>https://growtechie.substack.com/p/claude-codes-hidden-commands</link><guid isPermaLink="false">https://growtechie.substack.com/p/claude-codes-hidden-commands</guid><pubDate>Sat, 16 May 2026 03:02:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VLE6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F380661f4-2b9d-4045-884d-5ec44d9dc771_1484x1060.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VLE6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F380661f4-2b9d-4045-884d-5ec44d9dc771_1484x1060.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VLE6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F380661f4-2b9d-4045-884d-5ec44d9dc771_1484x1060.png 424w, https://substackcdn.com/image/fetch/$s_!VLE6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F380661f4-2b9d-4045-884d-5ec44d9dc771_1484x1060.png 848w, https://substackcdn.com/image/fetch/$s_!VLE6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F380661f4-2b9d-4045-884d-5ec44d9dc771_1484x1060.png 1272w, https://substackcdn.com/image/fetch/$s_!VLE6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F380661f4-2b9d-4045-884d-5ec44d9dc771_1484x1060.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VLE6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F380661f4-2b9d-4045-884d-5ec44d9dc771_1484x1060.png" width="1456" height="1040" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/380661f4-2b9d-4045-884d-5ec44d9dc771_1484x1060.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1040,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1419992,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://growtechie.substack.com/i/197947916?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F380661f4-2b9d-4045-884d-5ec44d9dc771_1484x1060.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VLE6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F380661f4-2b9d-4045-884d-5ec44d9dc771_1484x1060.png 424w, https://substackcdn.com/image/fetch/$s_!VLE6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F380661f4-2b9d-4045-884d-5ec44d9dc771_1484x1060.png 848w, https://substackcdn.com/image/fetch/$s_!VLE6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F380661f4-2b9d-4045-884d-5ec44d9dc771_1484x1060.png 1272w, https://substackcdn.com/image/fetch/$s_!VLE6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F380661f4-2b9d-4045-884d-5ec44d9dc771_1484x1060.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Most people use Claude Code like a smart assistant.</p><p>Prompt.<br>Wait.<br>Review.<br>Prompt again.</p><p>Over and over.</p><p>But there&#8217;s another way to use it, where Claude keeps working on it on its own until the task is actually finished.</p><p>That&#8217;s what these 4 commands unlock:</p><ul><li><p><code>/goal</code></p></li><li><p><code>/loop</code></p></li><li><p><code>/schedule</code></p></li><li><p>Stop Hooks</p></li></ul><p>Once you understand them, Claude stops feeling like a chatbot and starts behaving more like an autonomous engineering partner.</p><h1>The Big Shift</h1><p>Traditional workflow looks like this:</p><p>You ask &#8594; Claude answers &#8594; you review &#8594; you ask again.</p><p>You&#8217;re managing every step manually.</p><p>With autonomous workflows, the flow changes completely:</p><p>You define the outcome once &#8594; Claude keeps working &#8594; checks progress automatically &#8594; stops only when the condition is met.</p><p>You stop babysitting the process.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/subscribe?"><span>Subscribe now</span></a></p><p></p><h1>1. <code>/goal</code> &#8212; The Most Important Command</h1><p><code>/goal</code> is what turns Claude into a self-running agent.</p><p>Instead of giving step-by-step instructions, you define the final condition.</p><p>Example:</p><pre><code><code>/goal all auth tests pass and lint returns zero errors</code></code></pre><p>Claude starts working immediately.</p><p>After every turn, a lightweight evaluator checks whether the condition is satisfied.<br><br>If not, Claude continues automatically.</p><p>You don&#8217;t need to keep prompting.</p><h2>Why This Changes Everything</h2><p>Normally:</p><ul><li><p>You notice failing tests<br></p></li><li><p>You ask Claude to fix them<br></p></li><li><p>You rerun things<br></p></li><li><p>You paste errors back<br></p></li><li><p>Repeat 15 times<br></p></li></ul><p>With <code>/goal</code>:<br><br>Claude keeps iterating until the condition is true.</p><p>It behaves more like:</p><blockquote><p>&#8220;Keep working until this system is fixed.&#8221;</p></blockquote><p>That&#8217;s a massive mindset shift.</p><h1>Writing Good Goals</h1><p>The secret is making goals measurable.</p><p>Good goals:</p><ul><li><p>&#8220;All tests in <code>test/auth</code> pass&#8221;<br></p></li><li><p>&#8220;<code>npm run lint</code> exits successfully&#8221;<br></p></li><li><p>&#8220;No unrelated files are modified&#8221;<br></p></li></ul><p>Bad goals:</p><ul><li><p>&#8220;Improve the code&#8221;<br></p></li><li><p>&#8220;Make it cleaner&#8221;<br></p></li><li><p>&#8220;Do your best&#8221;<br></p></li></ul><p>If the result cannot be verified clearly, the evaluator can&#8217;t reliably stop.</p><p>Simple rule:</p><blockquote><p>If Claude cannot prove completion through the transcript, rewrite the condition.</p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/subscribe?"><span>Subscribe now</span></a></p><p></p><h1>Always Add Limits</h1><p>Some tasks may never fully complete.</p><p>That&#8217;s why limits matter.</p><p>Examples:</p><pre><code><code>/goal fix checkout tests, or stop after 10 turns</code></code></pre><pre><code><code>/goal complete migration, or stop after 30 minutes</code></code></pre><p>Without limits, Claude may loop forever trying to satisfy an impossible condition.</p><h1>Fully Autonomous Mode</h1><p>This is where things become powerful.</p><p>Combine:</p><ul><li><p><code>/goal</code><br></p></li><li><p>Auto Mode<br></p></li><li><p>Test-based Stop Hooks<br></p></li></ul><p>Now Claude:</p><ul><li><p>edits code<br></p></li><li><p>runs tests<br></p></li><li><p>reads failures<br></p></li><li><p>retries automatically<br></p></li></ul><p>No human needed between iterations.</p><p>You come back later to:</p><ul><li><p>a green build<br></p></li><li><p>or a clear explanation of why it failed<br></p></li></ul><p>That&#8217;s incredibly close to a real autonomous coding agent.</p><h1>2. <code>/loop</code> </h1><p><code>/loop</code> is different from <code>/goal</code>.</p><p><code>/goal</code> says:</p><blockquote><p>&#8220;Keep working until this becomes true.&#8221;</p></blockquote><p><code>/loop</code> says:</p><blockquote><p>&#8220;Repeat this work every few minutes.&#8221;</p></blockquote><p>Useful for:</p><ul><li><p>iterative refactors<br></p></li><li><p>backlog cleanup<br></p></li><li><p>monitoring tasks<br></p></li><li><p>repeated checks<br></p></li><li><p>gradual improvements<br></p></li></ul><p>Example mindset:<br><br>Claude makes a pass &#8594; pauses &#8594; makes another pass later.</p><p>It&#8217;s continuous iteration instead of one long execution.</p><h1>3. <code>/schedule</code> </h1><p>This one feels almost like infrastructure.</p><p><code>/schedule</code> lets Claude run tasks on a fixed cadence &#8212; even when Claude Code isn&#8217;t open.</p><p>Examples:</p><ul><li><p>nightly test runs<br></p></li><li><p>morning issue triage<br></p></li><li><p>weekly dead-code cleanup<br></p></li><li><p>daily engineering summaries<br></p></li></ul><p>Instead of manually remembering operational tasks, Claude handles them automatically.</p><p>That&#8217;s the difference between:</p><blockquote><p>using AI occasionally</p></blockquote><p>vs</p><blockquote><p>building AI into your workflow itself.</p></blockquote><h1>4. Stop Hooks </h1><p>Stop hooks decide whether Claude is allowed to stop.</p><p>This is what powers <code>/goal</code> internally.</p><p>There are two types:</p><h3>Script-based Hooks</h3><p>These run actual checks:</p><ul><li><p>test suites<br></p></li><li><p>CI validation<br></p></li><li><p>database checks<br></p></li><li><p>file existence checks<br></p></li></ul><p>If the script exits successfully &#8594; Claude stops.<br><br>If not &#8594; Claude keeps trying.</p><p>This is where true automation starts happening.</p><h3>Prompt-based Hooks</h3><p>These evaluate natural-language conditions using the conversation transcript.</p><p>Very similar to <code>/goal</code>, but reusable across sessions.</p><p>Use them when you want the same evaluation logic everywhere.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/subscribe?"><span>Subscribe now</span></a></p><h1>The Most Powerful Combination</h1><p>The real magic stack is:</p><pre><code><code>/goal + Auto Mode + Script-based Stop Hooks</code></code></pre><p>Now the loop becomes:</p><p>Claude writes code &#8594; tests run automatically &#8594; failures return &#8594; Claude retries.</p><p>No manual supervision required.</p><p>That&#8217;s the closest thing today to an AI engineer working independently inside your workflow. <br></p><p>Thanks for reading this article. Appreciated. Comments and suggestions are welcome.</p><p>Support the author <strong><a href="http://buymeacoffee.com/Ramakrushna">here</a></strong>, If you found this blog helpful.</p><ul><li><p><strong>If you&#8217;d like to chat 1:1, you can</strong> <a href="https://topmate.io/ramakrushna_mohapatra/672584?utm_source=public_profile&amp;utm_campaign=ramakrushna_mohapatra">book a call with me here</a>.</p><p></p></li></ul><p><strong>Follow me on socials</strong> for more updates, behind-the-scenes work, and personal insights:</p><ul><li><p><strong><a href="https://www.instagram.com/techwith.ram/">Instagram</a></strong></p></li><li><p><strong><a href="http://x.com/techwith_ram">Twitter</a></strong></p></li><li><p><strong><a href="https://www.threads.com/@techwith.ram">Threads</a></strong></p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/claude-codes-hidden-commands?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/claude-codes-hidden-commands?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/p/claude-codes-hidden-commands?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><p></p>]]></content:encoded></item><item><title><![CDATA[Maximize Claude Without Hitting Limits]]></title><description><![CDATA[I&#8217;ve been using Claude for some months now.]]></description><link>https://growtechie.substack.com/p/maximize-claude-without-hitting-limits</link><guid isPermaLink="false">https://growtechie.substack.com/p/maximize-claude-without-hitting-limits</guid><pubDate>Wed, 13 May 2026 15:41:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hzDn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca358043-bd13-4d39-ab10-aa52c8d349ac_1478x1064.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hzDn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca358043-bd13-4d39-ab10-aa52c8d349ac_1478x1064.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hzDn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca358043-bd13-4d39-ab10-aa52c8d349ac_1478x1064.png 424w, https://substackcdn.com/image/fetch/$s_!hzDn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca358043-bd13-4d39-ab10-aa52c8d349ac_1478x1064.png 848w, https://substackcdn.com/image/fetch/$s_!hzDn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca358043-bd13-4d39-ab10-aa52c8d349ac_1478x1064.png 1272w, https://substackcdn.com/image/fetch/$s_!hzDn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca358043-bd13-4d39-ab10-aa52c8d349ac_1478x1064.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hzDn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca358043-bd13-4d39-ab10-aa52c8d349ac_1478x1064.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ca358043-bd13-4d39-ab10-aa52c8d349ac_1478x1064.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1647819,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://growtechie.substack.com/i/197531010?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca358043-bd13-4d39-ab10-aa52c8d349ac_1478x1064.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hzDn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca358043-bd13-4d39-ab10-aa52c8d349ac_1478x1064.png 424w, https://substackcdn.com/image/fetch/$s_!hzDn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca358043-bd13-4d39-ab10-aa52c8d349ac_1478x1064.png 848w, https://substackcdn.com/image/fetch/$s_!hzDn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca358043-bd13-4d39-ab10-aa52c8d349ac_1478x1064.png 1272w, https://substackcdn.com/image/fetch/$s_!hzDn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca358043-bd13-4d39-ab10-aa52c8d349ac_1478x1064.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;ve been using Claude for some months now. The pro version.</p><p>But to be honest, for the last month, I&#8217;ve been feeling like this company is just looting me or may all of us. I sent 3 queries in 3 different context windows; as a result, I reached my usage limit for that time. Now, I have to wait for the next 5 fuc*ing hours to again continue on that project, which I scheduled to work on at that point of time.</p><p>Of course you guys might have heard the news that it&#8217;s true; the quality of response also decreased from last month. Boris also agreed &amp; posted this yesterday.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/bcherny/status/2047375800945783056?s=20&quot;,&quot;full_text&quot;:&quot;We&#8217;ve been looking into recent reports around Claude Code quality issues, and just published a post-mortem on what we found.&quot;,&quot;username&quot;:&quot;bcherny&quot;,&quot;name&quot;:&quot;Boris Cherny&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1902044548936953856/J2jeik0t_normal.jpg&quot;,&quot;date&quot;:&quot;2026-04-23T18:03:24.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{&quot;full_text&quot;:&quot;Over the past month, some of you reported Claude Code's quality had slipped. We investigated, and published a post-mortem on the three issues we found.\n\nAll are fixed in v2.1.116+ and we&#8217;ve reset usage limits for all subscribers.&quot;,&quot;username&quot;:&quot;ClaudeDevs&quot;,&quot;name&quot;:&quot;ClaudeDevs&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2044472418815893504/xf14RxM8_normal.png&quot;},&quot;reply_count&quot;:409,&quot;retweet_count&quot;:138,&quot;like_count&quot;:3395,&quot;impression_count&quot;:626369,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;belowTheFold&quot;:false}" data-component-name="Twitter2ToDOM"></div><p>I will write in this article about what I have been following after reading and watching lots of videos.</p><p>You know that when you sent the 10th message to Claude, it cost 11 times more than your first one. Not because of pricing; it&#8217;s because Claude re-reads your entire conversation history from scratch before generating every single reply. </p><p>Understanding why this happens is the first step to stopping it.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!d3yZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F795554f3-bfc6-42fc-9c59-d916208021d1_1200x235.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!d3yZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F795554f3-bfc6-42fc-9c59-d916208021d1_1200x235.png 424w, https://substackcdn.com/image/fetch/$s_!d3yZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F795554f3-bfc6-42fc-9c59-d916208021d1_1200x235.png 848w, https://substackcdn.com/image/fetch/$s_!d3yZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F795554f3-bfc6-42fc-9c59-d916208021d1_1200x235.png 1272w, https://substackcdn.com/image/fetch/$s_!d3yZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F795554f3-bfc6-42fc-9c59-d916208021d1_1200x235.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!d3yZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F795554f3-bfc6-42fc-9c59-d916208021d1_1200x235.png" width="1200" height="235" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/795554f3-bfc6-42fc-9c59-d916208021d1_1200x235.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:235,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!d3yZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F795554f3-bfc6-42fc-9c59-d916208021d1_1200x235.png 424w, https://substackcdn.com/image/fetch/$s_!d3yZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F795554f3-bfc6-42fc-9c59-d916208021d1_1200x235.png 848w, https://substackcdn.com/image/fetch/$s_!d3yZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F795554f3-bfc6-42fc-9c59-d916208021d1_1200x235.png 1272w, https://substackcdn.com/image/fetch/$s_!d3yZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F795554f3-bfc6-42fc-9c59-d916208021d1_1200x235.png 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><p>There is a developer named Aniket Parihar who shared a post where he tracked real usage and found <strong>98.5% of tokens went to re-reading old history </strong>and only 1.5% to the actual response. For every 100 tokens spent, one and a half are doing useful work. The rest is the model reprocessing things it already knows.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!X2OK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F607f1673-fdf2-4f8f-8638-cc00ea86d530_1200x1158.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X2OK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F607f1673-fdf2-4f8f-8638-cc00ea86d530_1200x1158.jpeg 424w, https://substackcdn.com/image/fetch/$s_!X2OK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F607f1673-fdf2-4f8f-8638-cc00ea86d530_1200x1158.jpeg 848w, https://substackcdn.com/image/fetch/$s_!X2OK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F607f1673-fdf2-4f8f-8638-cc00ea86d530_1200x1158.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!X2OK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F607f1673-fdf2-4f8f-8638-cc00ea86d530_1200x1158.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X2OK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F607f1673-fdf2-4f8f-8638-cc00ea86d530_1200x1158.jpeg" width="1200" height="1158" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/607f1673-fdf2-4f8f-8638-cc00ea86d530_1200x1158.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1158,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!X2OK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F607f1673-fdf2-4f8f-8638-cc00ea86d530_1200x1158.jpeg 424w, https://substackcdn.com/image/fetch/$s_!X2OK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F607f1673-fdf2-4f8f-8638-cc00ea86d530_1200x1158.jpeg 848w, https://substackcdn.com/image/fetch/$s_!X2OK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F607f1673-fdf2-4f8f-8638-cc00ea86d530_1200x1158.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!X2OK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F607f1673-fdf2-4f8f-8638-cc00ea86d530_1200x1158.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Here are some rules to follow...</p><h2><strong>1. Don&#8217;t follow up, edit instead</strong></h2><p>When Claude gets something wrong, the instinct is to send a correction as a new message. Every correction you send appends to the conversation, &amp; Claude loads all of it again next turn. Five messages deep puts you at ~7,500 tokens just for context.</p><p>Instead, click <strong>&#8220;edit&#8221;</strong> on your original message, fix the wording, and hit &#8220;<strong>regenerate</strong>.&#8221; The flawed exchange is replaced, not stacked. Same result, a fraction of the cost.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2r1C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd34ffa89-b181-4f63-b4f7-9ac19f2dfccc_2686x946.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2r1C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd34ffa89-b181-4f63-b4f7-9ac19f2dfccc_2686x946.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2r1C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd34ffa89-b181-4f63-b4f7-9ac19f2dfccc_2686x946.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2r1C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd34ffa89-b181-4f63-b4f7-9ac19f2dfccc_2686x946.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2r1C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd34ffa89-b181-4f63-b4f7-9ac19f2dfccc_2686x946.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2r1C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd34ffa89-b181-4f63-b4f7-9ac19f2dfccc_2686x946.jpeg" width="1456" height="513" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d34ffa89-b181-4f63-b4f7-9ac19f2dfccc_2686x946.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:513,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!2r1C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd34ffa89-b181-4f63-b4f7-9ac19f2dfccc_2686x946.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2r1C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd34ffa89-b181-4f63-b4f7-9ac19f2dfccc_2686x946.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2r1C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd34ffa89-b181-4f63-b4f7-9ac19f2dfccc_2686x946.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2r1C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd34ffa89-b181-4f63-b4f7-9ac19f2dfccc_2686x946.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Why does it work?</strong></p><p>LLMs like Claude use attention mechanisms that process every token in the context window at each generation step. </p><p>Longer context = quadratically more compute. Replacing a bad exchange eliminates it from future attention passes entirely, unlike a correction, which adds to the pile.</p><h2><strong>2. Start a fresh chat every 15&#8211;20 messages</strong></h2><p>A 100-message thread burns over <strong>2.5 million</strong> tokens, almost all of it reloading history you no longer need. When a conversation gets long, ask Claude to summarize everything, copy that summary, open a new chat, and paste it as your first message.</p><p>You keep the relevant context. You shed all the resolved back-and-forth, early attempts, and dead ends that are still sitting in the pipeline, costing you money every turn.</p><p><strong>Why does it work?</strong></p><p>Context windows are fixed-size buffers. Every token of old conversation competes directly with new output space. A clean summary carries maybe 400 tokens of distilled knowledge vs. 50,000+ tokens of raw history. It&#8217;s not compression; it&#8217;s knowing what actually matters.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share&quot;,&quot;text&quot;:&quot;Share Growtechie &quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share Growtechie </span></a></p><h2><strong>3. Batch your questions into one message</strong></h2><p>Three questions sent separately equals three full context reloads. One message with three tasks equals one reload. You save tokens twice: fewer context loads, and you stay further from your session limit with the same amount of work done.</p><p>Instead of &#8220;Summarize this&#8221; &#8594; &#8220;Now list the main points&#8221; &#8594; &#8220;Suggest a headline,&#8221; write &#8220;Summarize this, list the main points, and suggest a headline.&#8221; The answers are often better too. Claude sees the full intent before it starts writing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0_2s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ab7de6-b7d5-465c-b5d1-5524930a10cc_1200x614.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0_2s!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ab7de6-b7d5-465c-b5d1-5524930a10cc_1200x614.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0_2s!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ab7de6-b7d5-465c-b5d1-5524930a10cc_1200x614.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0_2s!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ab7de6-b7d5-465c-b5d1-5524930a10cc_1200x614.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0_2s!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ab7de6-b7d5-465c-b5d1-5524930a10cc_1200x614.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0_2s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ab7de6-b7d5-465c-b5d1-5524930a10cc_1200x614.jpeg" width="1200" height="614" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/58ab7de6-b7d5-465c-b5d1-5524930a10cc_1200x614.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:614,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!0_2s!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ab7de6-b7d5-465c-b5d1-5524930a10cc_1200x614.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0_2s!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ab7de6-b7d5-465c-b5d1-5524930a10cc_1200x614.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0_2s!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ab7de6-b7d5-465c-b5d1-5524930a10cc_1200x614.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0_2s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ab7de6-b7d5-465c-b5d1-5524930a10cc_1200x614.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Why does it work?</strong></p><p>Each turn in an LLM conversation is a complete, stateless inference pass. There&#8217;s no &#8220;<strong>memory</strong>&#8220; between messages; the model literally rereads everything. Batching collapses three inference passes into one, and the model can cross-reference all tasks simultaneously during generation rather than treating them as isolated requests.</p><h2><strong>4. Track your actual token usage</strong></h2><p>Claude&#8217;s UI shows a vague progress bar. That&#8217;s it. But if you use Claude Code, every session logs detailed JSONL files to your local machine: input tokens, output tokens, cache reads, cache creation, model names, timestamps, all of it.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/PawelHuryn/status/2041595776074236328?s=20&quot;,&quot;full_text&quot;:&quot;Claude Code doesn't show you how many tokens you're using for subscriptions. No breakdown by model. No breakdown by project. Just a progress bar that says \&quot;63% used.\&quot;\n\nSo I built a local dashboard that reads the files Claude Code already writes to your machine.\n\nTurns out every &quot;,&quot;username&quot;:&quot;PawelHuryn&quot;,&quot;name&quot;:&quot;Pawe&#322; Huryn&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2049244285313359872/geQuKlQP_normal.jpg&quot;,&quot;date&quot;:&quot;2026-04-07T19:15:38.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://pbs.substack.com/media/HFUzlE6bkAARl4Y.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/2vCHYyif7B&quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:127,&quot;retweet_count&quot;:219,&quot;like_count&quot;:2340,&quot;impression_count&quot;:293748,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>He built a free, open-source Python dashboard that reads those files, builds a local database, and serves charts at localhost. You can filter by model, by time range, and see cost estimates based on current API pricing. You can&#8217;t fix what you can&#8217;t measure.</p><p><strong>Github repo:</strong></p><p><a href="https://github.com/phuryn/claude-usage">https://github.com/phuryn/claude-usage</a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share&quot;,&quot;text&quot;:&quot;Share Growtechie &quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share Growtechie </span></a></p><p></p><h2><strong>5. Upload recurring files to projects</strong></h2><p>Uploading the same PDF to multiple chats re-tokenizes that document every single time. A 30-page contract might be 15,000 tokens. Upload it five times across five sessions and you&#8217;ve burned 75,000 tokens just loading a file. Claude has already seen.</p><p>The Projects feature caches uploaded content. Every conversation inside that project references the file without burning new tokens. For style guides, contracts, codebases, or any recurring reference material, this is one of the highest-leverage changes you can make.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aUIK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bf9a6e3-88ab-454d-af72-a408aeb6bb74_4096x2628.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aUIK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bf9a6e3-88ab-454d-af72-a408aeb6bb74_4096x2628.jpeg 424w, https://substackcdn.com/image/fetch/$s_!aUIK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bf9a6e3-88ab-454d-af72-a408aeb6bb74_4096x2628.jpeg 848w, https://substackcdn.com/image/fetch/$s_!aUIK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bf9a6e3-88ab-454d-af72-a408aeb6bb74_4096x2628.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!aUIK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bf9a6e3-88ab-454d-af72-a408aeb6bb74_4096x2628.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aUIK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bf9a6e3-88ab-454d-af72-a408aeb6bb74_4096x2628.jpeg" width="1456" height="934" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0bf9a6e3-88ab-454d-af72-a408aeb6bb74_4096x2628.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:934,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!aUIK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bf9a6e3-88ab-454d-af72-a408aeb6bb74_4096x2628.jpeg 424w, https://substackcdn.com/image/fetch/$s_!aUIK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bf9a6e3-88ab-454d-af72-a408aeb6bb74_4096x2628.jpeg 848w, https://substackcdn.com/image/fetch/$s_!aUIK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bf9a6e3-88ab-454d-af72-a408aeb6bb74_4096x2628.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!aUIK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bf9a6e3-88ab-454d-af72-a408aeb6bb74_4096x2628.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Why does it work?</strong></p><p>Anthropic uses prompt caching for project-level content; the KV (key-value) cache stores the computed attention states for those tokens. On subsequent reads, the model retrieves from cache instead of recomputing. Cache reads cost roughly 10% of full token processing, and in Claude&#8217;s pricing, cache reads are significantly cheaper than input tokens.</p><h2><strong>6. Save your context in memory once</strong></h2><p>Without saved preferences, most people spend 3&#8211;5 messages per new chat re-establishing context: their role, their writing style, what they&#8217;re working on. That&#8217;s 500&#8211;800 tokens gone before the actual work starts, repeated across every session.</p><p>Go to Settings &#8594; Memory and User Preferences.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AnmY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55d43bb4-4e09-425f-9b2e-c3ce4e477a92_4096x1558.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AnmY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55d43bb4-4e09-425f-9b2e-c3ce4e477a92_4096x1558.jpeg 424w, https://substackcdn.com/image/fetch/$s_!AnmY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55d43bb4-4e09-425f-9b2e-c3ce4e477a92_4096x1558.jpeg 848w, https://substackcdn.com/image/fetch/$s_!AnmY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55d43bb4-4e09-425f-9b2e-c3ce4e477a92_4096x1558.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!AnmY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55d43bb4-4e09-425f-9b2e-c3ce4e477a92_4096x1558.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AnmY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55d43bb4-4e09-425f-9b2e-c3ce4e477a92_4096x1558.jpeg" width="1456" height="554" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/55d43bb4-4e09-425f-9b2e-c3ce4e477a92_4096x1558.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:554,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!AnmY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55d43bb4-4e09-425f-9b2e-c3ce4e477a92_4096x1558.jpeg 424w, https://substackcdn.com/image/fetch/$s_!AnmY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55d43bb4-4e09-425f-9b2e-c3ce4e477a92_4096x1558.jpeg 848w, https://substackcdn.com/image/fetch/$s_!AnmY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55d43bb4-4e09-425f-9b2e-c3ce4e477a92_4096x1558.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!AnmY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55d43bb4-4e09-425f-9b2e-c3ce4e477a92_4096x1558.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Save your role, communication style, output format preferences, and any recurring project context once. Claude automatically pulls this into every new chat, and you skip the warmup tax entirely.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share&quot;,&quot;text&quot;:&quot;Share Growtechie &quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share Growtechie </span></a></p><h2><strong>7. Turn off features you&#8217;re not actively using</strong></h2><p>Web search, connectors, and extended thinking all add overhead to every response, whether you&#8217;re using them or not. Web search adds retrieval scaffolding tokens. Extended thinking adds a chain-of-thought block before every reply. These costs compound across the session.</p><p>Keep everything off by default. Enable web search when you need current information. Enable extended thinking only when your first attempt was genuinely unsatisfactory. If you didn&#8217;t turn it on with intention, turn it off.</p><h2><strong>8. Match the model to the task</strong></h2><p>Using Opus to check grammar is like renting a freight truck to buy groceries. Haiku handles simple tasks like formatting, translation, quick answers, and brainstorming at a fraction of the cost. Choosing the right model is the highest-leverage decision you make each day.</p><ul><li><p><strong>Haiku:</strong> (Low Cost) Drafts, formatting, grammar, quick lookups, translations</p></li><li><p><strong>Sonnet: </strong>(Medium Cost) Production output, code, analysis, complex writing</p></li><li><p><strong>Opus</strong>: (High Cost) Hard reasoning, multi-step logic, nuanced judgment</p></li></ul><h2><strong>9. Spread your work across the day</strong></h2><p>Claude does not reset at midnight. It uses a rolling 5-hour window. Messages sent at 9 a.m. no longer count toward your limit by 2 p.m. If you burn through your entire budget in one morning session, you&#8217;re wasting the afternoon capacity that would have been available had you paced yourself.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4E18!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd36bae41-b68a-42f2-9a0a-c97b8c41d6c0_4096x2398.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4E18!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd36bae41-b68a-42f2-9a0a-c97b8c41d6c0_4096x2398.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4E18!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd36bae41-b68a-42f2-9a0a-c97b8c41d6c0_4096x2398.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4E18!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd36bae41-b68a-42f2-9a0a-c97b8c41d6c0_4096x2398.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4E18!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd36bae41-b68a-42f2-9a0a-c97b8c41d6c0_4096x2398.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4E18!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd36bae41-b68a-42f2-9a0a-c97b8c41d6c0_4096x2398.jpeg" width="1456" height="852" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d36bae41-b68a-42f2-9a0a-c97b8c41d6c0_4096x2398.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:852,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!4E18!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd36bae41-b68a-42f2-9a0a-c97b8c41d6c0_4096x2398.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4E18!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd36bae41-b68a-42f2-9a0a-c97b8c41d6c0_4096x2398.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4E18!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd36bae41-b68a-42f2-9a0a-c97b8c41d6c0_4096x2398.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4E18!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd36bae41-b68a-42f2-9a0a-c97b8c41d6c0_4096x2398.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Splitting into two or three sessions in the morning, midday, &amp; evening. Lets each window partially expire before you start the next, keeping you well below the ceiling throughout the day.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share&quot;,&quot;text&quot;:&quot;Share Growtechie &quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share Growtechie </span></a></p><h2><strong>10. Work during off-peak hours</strong></h2><p>Since March 26, 2026, Anthropic has depleted your 5-hour session limit faster during peak hours. The same query, the same chat, but during peak, it hits your limit harder. Your weekly total stays the same; how quickly it drains changes.</p><p><strong>Pacific time: 5:00 am &#8211; 11:00 am &#8211; Weekdays only</strong></p><p><strong>Eastern time: 8:00 am &#8211; 2:00 pm &#8211; Weekdays only</strong></p><p>Running intensive tasks in the evenings, on weekends, or during off-peak hours stretches your plan significantly. If you&#8217;re outside the US, Latin America, Asia, or Australia, your off-peak windows may fall during your morning, which is actually ideal. Here is the proof to it:</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/trq212/status/2037254607001559305?s=20&quot;,&quot;full_text&quot;:&quot;To manage growing demand for Claude we're adjusting our 5 hour session limits for free/Pro/Max subs during peak hours. Your weekly limits remain unchanged.\n\nDuring weekdays between 5am&#8211;11am PT / 1pm&#8211;7pm GMT, you'll move through your 5-hour session limits faster than before.&quot;,&quot;username&quot;:&quot;trq212&quot;,&quot;name&quot;:&quot;Thariq&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1976939058741039104/r3GgzqRh_normal.jpg&quot;,&quot;date&quot;:&quot;2026-03-26T19:45:23.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:2269,&quot;retweet_count&quot;:529,&quot;like_count&quot;:7370,&quot;impression_count&quot;:7679191,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>That&#8217;s it...</p><p>Hopefully you found it helpful. If you know something more, add it in the comment section. Would love to explore and see the result. </p><p>Thanks for reading this. </p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share&quot;,&quot;text&quot;:&quot;Share Growtechie &quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share Growtechie </span></a></p><div><hr></div><p></p>]]></content:encoded></item><item><title><![CDATA[Build Your First Neural Network]]></title><description><![CDATA[Most people learn neural networks by calling .fit() and watching accuracy go brrrrr.]]></description><link>https://growtechie.substack.com/p/build-your-first-neural-network</link><guid isPermaLink="false">https://growtechie.substack.com/p/build-your-first-neural-network</guid><pubDate>Wed, 18 Feb 2026 12:11:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!p536!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1400ebba-3aef-4c98-b9e3-2f06682cce64_1400x788.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!p536!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1400ebba-3aef-4c98-b9e3-2f06682cce64_1400x788.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!p536!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1400ebba-3aef-4c98-b9e3-2f06682cce64_1400x788.png 424w, https://substackcdn.com/image/fetch/$s_!p536!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1400ebba-3aef-4c98-b9e3-2f06682cce64_1400x788.png 848w, https://substackcdn.com/image/fetch/$s_!p536!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1400ebba-3aef-4c98-b9e3-2f06682cce64_1400x788.png 1272w, https://substackcdn.com/image/fetch/$s_!p536!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1400ebba-3aef-4c98-b9e3-2f06682cce64_1400x788.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!p536!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1400ebba-3aef-4c98-b9e3-2f06682cce64_1400x788.png" width="1400" height="788" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1400ebba-3aef-4c98-b9e3-2f06682cce64_1400x788.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:788,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!p536!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1400ebba-3aef-4c98-b9e3-2f06682cce64_1400x788.png 424w, https://substackcdn.com/image/fetch/$s_!p536!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1400ebba-3aef-4c98-b9e3-2f06682cce64_1400x788.png 848w, https://substackcdn.com/image/fetch/$s_!p536!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1400ebba-3aef-4c98-b9e3-2f06682cce64_1400x788.png 1272w, https://substackcdn.com/image/fetch/$s_!p536!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1400ebba-3aef-4c98-b9e3-2f06682cce64_1400x788.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Most people learn neural networks by calling .fit() and watching accuracy go brrrrr.</p><p>That&#8217;s fine&#8230; until you realize you still don&#8217;t really know why anything is happening under the hood. This post is for the people who want to peel the black box open just a little.<br>We&#8217;re going to build a small but real neural network using only NumPy, step by painful-but-satisfying step. <strong>No PyTorch, no TensorFlow, no Flax, no Keras, no .backward(), no autograd.</strong><br>Just matrices, loops, and the chain rule scribbled on paper (or in your head if you&#8217;re brave).</p><p>By the end you&#8217;ll have:</p><ul><li><p>written forward and backward passes yourself</p></li><li><p>watched a loss number actually drop from &#8220;terrible&#8221; to &#8220;pretty decent&#8221;</p></li><li><p>made a tiny network learn to guess someone&#8217;s gender from height &amp; weight (classic toy example)</p></li><li><p>understood why people scream about vanishing gradients, why sigmoid kind of sucks sometimes, and why backprop feels like reverse-engineering your own mistakes</p></li></ul><p>If you already know:</p><ul><li><p>what a dot product is</p></li><li><p>roughly how sigmoid squashes numbers between 0 and 1</p></li><li><p>that training = repeatedly nudging weights to make predictions less wrong</p></li></ul><p>&#8230;then you&#8217;re more than ready.<br>Even if some parts feel shaky, that&#8217;s okay. We&#8217;ll go slowly, look at shapes a lot, and print stuff to see what&#8217;s moving. Let&#8217;s open a notebook, and let&#8217;s build something that learns from scratch, together. Ready when you are.</p><p>Let&#8217;s start with one lonely, confused neuron&#8230;</p><h3><strong>1. One lonely neuron first: A single artificial neuron does two things:</strong></h3><p>a. weighted sum + bias</p><p>b. activation function</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Pbfb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4d6dc7-ff9f-4bb9-a78c-83f214a50257_732x448.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Pbfb!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4d6dc7-ff9f-4bb9-a78c-83f214a50257_732x448.gif 424w, https://substackcdn.com/image/fetch/$s_!Pbfb!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4d6dc7-ff9f-4bb9-a78c-83f214a50257_732x448.gif 848w, https://substackcdn.com/image/fetch/$s_!Pbfb!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4d6dc7-ff9f-4bb9-a78c-83f214a50257_732x448.gif 1272w, https://substackcdn.com/image/fetch/$s_!Pbfb!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4d6dc7-ff9f-4bb9-a78c-83f214a50257_732x448.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Pbfb!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4d6dc7-ff9f-4bb9-a78c-83f214a50257_732x448.gif" width="732" height="448" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/db4d6dc7-ff9f-4bb9-a78c-83f214a50257_732x448.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:448,&quot;width&quot;:732,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Pbfb!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4d6dc7-ff9f-4bb9-a78c-83f214a50257_732x448.gif 424w, https://substackcdn.com/image/fetch/$s_!Pbfb!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4d6dc7-ff9f-4bb9-a78c-83f214a50257_732x448.gif 848w, https://substackcdn.com/image/fetch/$s_!Pbfb!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4d6dc7-ff9f-4bb9-a78c-83f214a50257_732x448.gif 1272w, https://substackcdn.com/image/fetch/$s_!Pbfb!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4d6dc7-ff9f-4bb9-a78c-83f214a50257_732x448.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Source: <a href="https://miro.medium.com/v2/resize:fit:4800/format:webp/1*KNZZYteeBqkJViS1_LT1CQ.gif">Here</a>. [Single Neuron]</strong></p><pre><code>import numpy as np

def sigmoid(z):
    return 1 / (1 + np.exp(-z))

# Example: one input, one weight, one bias
x = 0.8
w = 1.5
b = -0.9
z = w * x + b           # linear part
y = sigmoid(z)
print(f&#8221;Output: {y:.4f}&#8221;)   # something between 0 and 1</code></pre><p>Now the same thing, but cleaner as a class.</p><pre><code>class SingleNeuron:
    def __init__(self, w, b):
        self.w = w
        self.b = b
    
    def forward(self, x):
        z = np.dot(self.w, x) + self.b
        return sigmoid(z)

# Multiple inputs now
w = np.array([0.4, -1.2, 0.7])
b = 0.1
neuron = SingleNeuron(w, b)
x = np.array([1.0, 2.0, -0.5])
print(neuron.forward(x))
</code></pre><p>That&#8217;s feedforward for one neuron. Easy.</p><p><strong>So,</strong> <strong>what&#8217;s happening here?</strong></p><p>Imagine you&#8217;re a very simple brain cell (a neuron) sitting inside a network. Your job is to look at several pieces of information coming toward you (in this case 3 numbers: 1.0, 2.0, and -0.5) and then decide how strongly you want to &#8220;fire&#8221; (send a signal forward). But you don&#8217;t treat all incoming signals equally.</p><ul><li><p>Some kinds of information excite you &#8594; you give them positive weight (like 0.4 or 0.7)</p></li><li><p>Some kinds of information annoy/upset/inhibit you &#8594; you give them negative weight (like -1.2)</p></li></ul><p>You get some numbers as input &#8594; x = [1.0, 2.0, -0.5]</p><p>Each has its own importance (weight) &#8594; w = [0.4, -1.2, 0.7]</p><p>You do:<br>(0.4 &#215; 1.0) + (-1.2 &#215; 2.0) + (0.7 &#215; -0.5) = -2.35</p><p>Add your personal offset (bias) &#8594; -2.35 + 0.1 = -2.25</p><p>Then squash it with sigmoid &#8594; turns -2.25 into &#8776; 0.095</p><p>So the neuron says, &#8220;I&#8217;m only ~9.5% activated right now.&#8221; That&#8217;s it.</p><p>Everything big (ChatGPT, Gemini &amp; image models&#8230;) is just tons of these little guys connected together doing exactly this. The class just keeps the neuron&#8217;s &#8220;personality&#8221; (weights + bias) in one place and gives it a clean forward() button.</p><h3><strong>2. Let&#8217;s stack layers&#8212;a proper (tiny) network.</strong></h3><p>Most tutorials jump straight to training. I think it&#8217;s worth seeing the shapes first without training pressure.</p><p>Task: height + weight &#8594; probability (person is male)</p><p>Dataset (classic toy example):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gvCN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9763d053-b21b-476a-aae1-6afeb3ee21fb_1400x397.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gvCN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9763d053-b21b-476a-aae1-6afeb3ee21fb_1400x397.png 424w, https://substackcdn.com/image/fetch/$s_!gvCN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9763d053-b21b-476a-aae1-6afeb3ee21fb_1400x397.png 848w, https://substackcdn.com/image/fetch/$s_!gvCN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9763d053-b21b-476a-aae1-6afeb3ee21fb_1400x397.png 1272w, https://substackcdn.com/image/fetch/$s_!gvCN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9763d053-b21b-476a-aae1-6afeb3ee21fb_1400x397.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gvCN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9763d053-b21b-476a-aae1-6afeb3ee21fb_1400x397.png" width="1400" height="397" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9763d053-b21b-476a-aae1-6afeb3ee21fb_1400x397.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:397,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!gvCN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9763d053-b21b-476a-aae1-6afeb3ee21fb_1400x397.png 424w, https://substackcdn.com/image/fetch/$s_!gvCN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9763d053-b21b-476a-aae1-6afeb3ee21fb_1400x397.png 848w, https://substackcdn.com/image/fetch/$s_!gvCN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9763d053-b21b-476a-aae1-6afeb3ee21fb_1400x397.png 1272w, https://substackcdn.com/image/fetch/$s_!gvCN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9763d053-b21b-476a-aae1-6afeb3ee21fb_1400x397.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><pre><code># Let&#8217;s center roughly around median-ish values
X = np.array([
    [65-67, 133-140],   # roughly centered
    [72-67, 160-140],
    [70-67, 152-140],
    [60-67, 120-140]
])   # shape: (4, 2)

y = np.array([[0], [1], [1], [0]])   # (4, 1)</code></pre><p>Network layout:</p><ul><li><p>Input: 2 features</p></li><li><p>Hidden layer: 4 neurons (small but enough to learn something non-linear)</p></li><li><p>Output: 1 neuron &#8594; sigmoid &#8594; probability</p></li></ul><pre><code>np.random.seed(42)

# Layer 1 (input &#8594; hidden)
W1 = np.random.randn(2, 4) * 0.3    # smaller init &#8594; stabler start
b1 = np.zeros((1, 4))

# Layer 2 (hidden &#8594; output)
W2 = np.random.randn(4, 1) * 0.3
b2 = np.zeros((1, 1))

# Forward pass (one time - no training yet)
z1 = X @ W1 + b1
a1 = sigmoid(z1)           # (4,4)
z2 = a1 @ W2 + b2
y_hat = sigmoid(z2)        # (4,1)

print(&#8221;Random network predictions (terrible):&#8221;)
print(y_hat.flatten().round(3))</code></pre><p>You&#8217;ll see numbers all over the place; that&#8217;s expected.</p><h3><strong>3. The only thing that matters: how wrong are we?</strong></h3><p>We&#8217;ll use binary cross-entropy (most natural for 0/1 classification)</p><pre><code>def bce_loss(y_true, y_pred):
    # tiny epsilon prevents log(0)
    eps = 1e-8
    return -np.mean( y_true * np.log(y_pred + eps) + 
                    (1 - y_true) * np.log(1 - y_pred + eps) )</code></pre><h3><strong>4. Backpropagation&#8212;the heart of the whole thing</strong></h3><p>This is where most people get scared. The truth is it&#8217;s just the chain rule applied many times.</p><p>We want four things:</p><ul><li><p>&#8706;L/&#8706;W2</p></li><li><p>&#8706;L/&#8706;b2</p></li><li><p>&#8706;L/&#8706;W1</p></li><li><p>&#8706;L/&#8706;b1</p></li></ul><p>Luckily when you use <strong>sigmoid + BCE </strong>together, the math simplifies beautifully at the output layer:</p><pre><code># -----------------------
#        BACKPROP
# -----------------------

# Output layer gradients
dz2 = y_hat - y                        # (4,1)   &#8592; magic simplification!
dW2 = (a1.T @ dz2) / len(X)            # (4,1)
db2 = dz2.mean(axis=0, keepdims=True)  # (1,1)

# Hidden layer gradients
da1 = dz2 @ W2.T                       # (4,4)
dz1 = da1 * a1 * (1 - a1)              # sigmoid derivative
dW1 = (X.T @ dz1) / len(X)             # (2,4)
db1 = dz1.mean(axis=0, keepdims=True)  # (1,4)</code></pre><p>That&#8217;s literally it.</p><h3><strong>5. Training loop put it all together</strong></h3><pre><code>learning_rate = 0.15
epochs = 4000

for epoch in range(epochs):

    # Forward
    z1 = X @ W1 + b1
    a1 = sigmoid(z1)
    z2 = a1 @ W2 + b2
    y_hat = sigmoid(z2)
    loss = bce_loss(y, y_hat)

    # Backward
    dz2 = y_hat - y
    dW2 = a1.T @ dz2 / len(X)
    db2 = dz2.mean(axis=0, keepdims=True)
    dz1 = (dz2 @ W2.T) * a1 * (1 - a1)
    dW1 = X.T @ dz1 / len(X)
    db1 = dz1.mean(axis=0, keepdims=True)

    # Update
    W2 -= learning_rate * dW2
    b2 -= learning_rate * db2
    W1 -= learning_rate * dW1
    b1 -= learning_rate * db1
    if epoch % 400 == 0:
        print(f&#8221;epoch {epoch:4d}   loss = {loss:.4f}&#8221;)</code></pre><p>After ~3000&#8211;5000 steps (depending on init &amp; lr), you should see:</p><pre><code>epoch    0   loss = 0.6931
epoch  400   loss = 0.5124
epoch  800   loss = 0.3812
...
epoch 3600   loss = 0.0947</code></pre><p>And final predictions usually look like [0.08, 0.94, 0.93, 0.06]&#8212;pretty solid for four points!</p><p>Quick test on new person</p><pre><code>person = np.array([[68-67, 145-140]])   # ~68 inches, 145 lbs
z1 = person @ W1 + b1
a1 = sigmoid(z1)
z2 = a1 @ W2 + b2
prob = sigmoid(z2)[0,0]

print(f&#8221;Probability male: {prob:.3f}&#8221;)
print(&#8221;&#8594; male&#8221; if prob &gt; 0.5 else &#8220;&#8594; female&#8221;)</code></pre><h2><strong>Wrapping Up</strong></h2><p>You just did it.<br>You hand-wrote a neural network that actually learned to tell boys from girls using nothing but height, weight, some angry math, and way too many cups of chai. No fancy framework saved you. No magical .fit().</p><p>Just you, NumPy, the chain rule you probably cursed at least twice, and a loss that went from &#8220;what even is this&#8221; to &#8220;yo, that&#8217;s actually decent.&#8221; &#8220;You saw the predictions crawl from random garbage &#8594; kind of suspicious &#8594; pretty confident.</p><p>You felt the moment the numbers started listening to you. That little dopamine hit when the loss finally dropped below 0.1? Yeah, that&#8217;s the good stuff. You now know why sigmoid can be moody, why backprop is just guilt-tripping every weight for its bad decisions, and why people lose their minds over learning rates. Most importantly&#8212;you broke the spell.</p><p>Next time someone says, &#8220;deep learning is just black magic,&#8221; you can quietly smile and go, &#8220;&#8230;nah, I built one in like 60 lines. &#8221;.</p><p>Thanks for reading this blog. Appreciated. Comments and suggestions for aspiring guys are welcome.</p><ul><li><p><strong>If you&#8217;d like to chat 1:1, you can</strong> <a href="https://topmate.io/ramakrushna_mohapatra/672584?utm_source=public_profile&amp;utm_campaign=ramakrushna_mohapatra">book a call with me here</a>.</p></li><li><p>Subscribe to<strong> <a href="https://growtechie.substack.com/">my newsletter</a> </strong>for a weekly post on a mix of technical topics and mindset/motivation for challenging fields.</p></li><li><p>Subscribe to my <strong><a href="https://www.youtube.com/@techwith_ram">YouTube</a> </strong>channel. Will start uploading long videos soon.</p></li></ul><p><strong>Follow me on socials</strong> for more updates, behind-the-scenes work, and personal insights:</p><ul><li><p><strong><a href="https://www.instagram.com/techwith.ram/">Instagram</a></strong></p></li><li><p><strong><a href="http://x.com/techwith_ram">Twitter</a></strong></p></li><li><p><strong><a href="https://www.threads.com/@techwith.ram">Threads</a></strong></p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/build-your-first-neural-network?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/build-your-first-neural-network?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/p/build-your-first-neural-network?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><p></p>]]></content:encoded></item><item><title><![CDATA[Step-by-Step LLM Engineering Projects]]></title><description><![CDATA[Most people read about LLMs.]]></description><link>https://growtechie.substack.com/p/step-by-step-llm-engineering-projects</link><guid isPermaLink="false">https://growtechie.substack.com/p/step-by-step-llm-engineering-projects</guid><dc:creator><![CDATA[aiwithram]]></dc:creator><pubDate>Thu, 08 Jan 2026 04:16:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!M-Xq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ac9676-ab57-440a-9799-c888c69530cb_1920x1080.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!M-Xq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ac9676-ab57-440a-9799-c888c69530cb_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!M-Xq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ac9676-ab57-440a-9799-c888c69530cb_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!M-Xq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ac9676-ab57-440a-9799-c888c69530cb_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!M-Xq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ac9676-ab57-440a-9799-c888c69530cb_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!M-Xq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ac9676-ab57-440a-9799-c888c69530cb_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!M-Xq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ac9676-ab57-440a-9799-c888c69530cb_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b6ac9676-ab57-440a-9799-c888c69530cb_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1125371,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://growtechie.substack.com/i/183871990?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ac9676-ab57-440a-9799-c888c69530cb_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!M-Xq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ac9676-ab57-440a-9799-c888c69530cb_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!M-Xq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ac9676-ab57-440a-9799-c888c69530cb_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!M-Xq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ac9676-ab57-440a-9799-c888c69530cb_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!M-Xq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ac9676-ab57-440a-9799-c888c69530cb_1920x1080.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Most people <em>read</em> about LLMs. Very few actually <strong>build</strong>, <strong>break</strong>, and <strong>measure</strong> them.</p><p>This is a curated path of <strong>LLM engineering projects</strong>, where:</p><ul><li><p>each project teaches <strong>one core idea</strong></p></li><li><p>you implement it end-to-end</p></li><li><p>you visualize what&#8217;s happening</p></li><li><p>you ablate it, break it, and see <em>why it matters</em></p></li></ul><p>No hand-wavy theory.<br>No &#8220;trust the paper.&#8221;<br>Just code &#8594; plots &#8594; intuition.</p><h2>1. Tokenization &amp; Embeddings</h2><p><strong>The foundation everyone underestimates</strong></p><p><strong>Build</strong></p><ul><li><p>Implement <strong>Byte Pair Encoding (BPE)</strong> from scratch</p></li><li><p>Train your own subword vocabulary on raw text</p></li></ul><p><strong>See</strong></p><ul><li><p>Write a <em>token visualizer</em> &#8594; map words/chunks &#8594; token IDs</p></li><li><p>Compare <strong>one-hot vs learned embeddings</strong></p></li><li><p>Plot cosine distances between tokens</p></li></ul><p><strong>Core insight</strong></p><blockquote><p>Tokenization silently decides what your model <em>can</em> and <em>cannot</em> learn.</p></blockquote><h2>2. Positional Embeddings</h2><p><strong>Why order isn&#8217;t &#8220;obvious&#8221; to transformers</strong></p><p><strong>Build</strong></p><ul><li><p>Implement:</p><ul><li><p>Sinusoidal</p></li><li><p>Learned positional embeddings</p></li><li><p>RoPE</p></li><li><p>ALiBi</p></li></ul></li></ul><p><strong>See</strong></p><ul><li><p>Animate a toy sequence being position-encoded in 3D</p></li><li><p>Ablate positional info and watch attention collapse</p></li></ul><p><strong>Core insight</strong></p><blockquote><p>Transformers are permutation-invariant by default.<br>Position is <em>injected</em>, not inherent.</p></blockquote><h2>3. Self-Attention &amp; Multi-Head Attention</h2><p><strong>The mechanism behind everything</strong></p><p><strong>Build</strong></p><ul><li><p>Hand-wire dot-product attention for <strong>one token</strong></p></li><li><p>Scale it to multi-head attention</p></li></ul><p><strong>See</strong></p><ul><li><p>Plot attention weight heatmaps per head</p></li><li><p>Mask future tokens &#8594; verify causality</p></li></ul><p><strong>Core insight</strong></p><blockquote><p>Multi-head attention isn&#8217;t redundancy &#8212; it&#8217;s specialization.</p></blockquote><h2>4. Transformers, QKV &amp; Stacking</h2><p><strong>From components to a real model</strong></p><p><strong>Build</strong></p><ul><li><p>Combine attention + residuals + LayerNorm &#8594; single transformer block</p></li><li><p>Stack blocks &#8594; a mini-Transformer</p></li><li><p>Train on toy data</p></li></ul><p><strong>Break</strong></p><ul><li><p>Swap Q/K/V</p></li><li><p>Zero them out</p></li><li><p>Watch training explode</p></li></ul><p><strong>Core insight</strong></p><blockquote><p>Q, K, V are not interchangeable.<br>Their roles are asymmetric and fragile.</p></blockquote><h2>5. Sampling: Temperature, Top-K, Top-P</h2><p><strong>Generation &#8800; decoding</strong></p><p><strong>Build</strong></p><ul><li><p>Interactive sampler dashboard</p></li><li><p>Tune temperature / k / p live</p></li></ul><p><strong>See</strong></p><ul><li><p>Plot entropy vs output diversity</p></li><li><p>Set temperature = 0 &#8594; watch repetition hell</p></li></ul><p><strong>Core insight</strong></p><blockquote><p>Sampling strategy matters as much as the model itself.</p></blockquote><h2>6. KV Cache (Fast Inference)</h2><p><strong>Why inference is fast&#8230; sometimes</strong></p><p><strong>Build</strong></p><ul><li><p>Cache key/value states across tokens</p></li><li><p>Compare inference speed with vs without cache</p></li></ul><p><strong>See</strong></p><ul><li><p>Cache hit/miss visualizer</p></li><li><p>Memory cost vs sequence length</p></li></ul><p><strong>Core insight</strong></p><blockquote><p>KV cache trades memory for <em>massive</em> speedups.</p></blockquote><h2>7. Long-Context Tricks</h2><p><strong>Why context windows lie</strong></p><p><strong>Build</strong></p><ul><li><p>Sliding-window attention</p></li><li><p>Memory-efficient attention variants</p></li></ul><p><strong>Measure</strong></p><ul><li><p>Loss vs context length</p></li><li><p>Find the &#8220;context collapse&#8221; point</p></li></ul><p><strong>Core insight</strong></p><blockquote><p>Long context &#8800; long memory.</p></blockquote><h2>8. Mixture of Experts (MoE)</h2><p><strong>Sparse models, dense thinking</strong></p><p><strong>Build</strong></p><ul><li><p>Simple 2-expert router</p></li><li><p>Token-level routing</p></li></ul><p><strong>See</strong></p><ul><li><p>Expert utilization histograms</p></li><li><p>FLOPs saved vs dense layers</p></li></ul><p><strong>Core insight</strong></p><blockquote><p>Capacity scales better than compute &#8212; if routing works.</p></blockquote><h2>9. Grouped Query Attention</h2><p><strong>A performance trick with real tradeoffs</strong></p><p><strong>Build</strong></p><ul><li><p>Convert multi-head attention &#8594; GQA</p></li></ul><p><strong>Measure</strong></p><ul><li><p>Latency vs number of groups</p></li><li><p>Throughput on large batches</p></li></ul><p><strong>Core insight</strong></p><blockquote><p>Most speedups come from <em>architectural constraints</em>, not magic.</p></blockquote><h2>10. Normalization &amp; Activations</h2><p><strong>The quiet stabilizers</strong></p><p><strong>Build</strong></p><ul><li><p>LayerNorm</p></li><li><p>RMSNorm</p></li><li><p>GELU</p></li><li><p>SwiGLU</p></li></ul><p><strong>Ablate</strong></p><ul><li><p>Remove each and retrain</p></li></ul><p><strong>See</strong></p><ul><li><p>Activation distributions layer by layer</p></li></ul><p><strong>Core insight</strong></p><blockquote><p>Training stability is engineered, not guaranteed.</p></blockquote><h2>11. Pretraining Objectives</h2><p><strong>What you train for shapes what you get</strong></p><p><strong>Build</strong></p><ul><li><p>Masked LM</p></li><li><p>Causal LM</p></li><li><p>Prefix LM</p></li></ul><p><strong>Compare</strong></p><ul><li><p>Loss curves</p></li><li><p>Generated samples</p></li></ul><p><strong>Core insight</strong></p><blockquote><p>Objectives bias behavior long before fine-tuning.</p></blockquote><h2>12. Finetuning vs Instruction Tuning vs RLHF</h2><p><strong>Alignment is layered</strong></p><p><strong>Build</strong></p><ul><li><p>Plain finetuning</p></li><li><p>Instruction tuning (&#8220;Summarize: &#8230;&#8221;)</p></li><li><p>Tiny RLHF loop with PPO</p></li></ul><p><strong>Plot</strong></p><ul><li><p>Reward vs steps</p></li><li><p>Behavior shifts</p></li></ul><p><strong>Core insight</strong></p><blockquote><p>RLHF doesn&#8217;t teach skills &#8212; it reshapes preferences.</p></blockquote><h2>13. Scaling Laws &amp; Model Capacity</h2><p><strong>When bigger actually helps</strong></p><p><strong>Build</strong></p><ul><li><p>Tiny &#8594; small &#8594; medium models</p></li></ul><p><strong>Measure</strong></p><ul><li><p>Loss vs size</p></li><li><p>VRAM, throughput, wall-clock time</p></li></ul><p><strong>Extrapolate</strong></p><ul><li><p>How small is <em>too</em> small?</p></li></ul><p><strong>Core insight</strong></p><blockquote><p>Scaling laws are empirical, not philosophical.</p></blockquote><h2>14. Quantization</h2><p><strong>Performance has a cost</strong></p><p><strong>Build</strong></p><ul><li><p>Post-training quantization</p></li><li><p>Quantization-aware training</p></li></ul><p><strong>Measure</strong></p><ul><li><p>Accuracy drop vs bit-width</p></li><li><p>Export to inference formats</p></li></ul><p><strong>Core insight</strong></p><blockquote><p>Compression reveals what the model truly relies on.</p></blockquote><div><hr></div><h2>15. Inference &amp; Training Stacks</h2><p><strong>Same model, different realities</strong></p><p><strong>Build</strong></p><ul><li><p>Port one model across multiple stacks</p></li></ul><p><strong>Profile</strong></p><ul><li><p>Latency</p></li><li><p>Throughput</p></li><li><p>VRAM usage</p></li></ul><p><strong>Core insight</strong></p><blockquote><p>Infrastructure choices shape model behavior.</p></blockquote><div><hr></div><h2>16. Synthetic Data</h2><p><strong>Data is a lever</strong></p><p><strong>Build</strong></p><ul><li><p>Generate toy datasets</p></li><li><p>Add noise, dedupe, split</p></li></ul><p><strong>Compare</strong></p><ul><li><p>Learning curves: real vs synthetic</p></li></ul><p><strong>Core insight</strong></p><blockquote><p>Good synthetic data beats bad real data.</p></blockquote><h2>Final Philosophy</h2><p>One project &#8594; one insight</p><ul><li><p>Build it</p></li><li><p>Plot it</p></li><li><p>Break it</p></li><li><p>Repeat</p></li></ul><p>Don&#8217;t get stuck in theory.<br>Don&#8217;t wait for perfection.<br>Post what you learned, even the ugly graphs.</p><p>That&#8217;s how you actually learn LLMs.</p><p>See you in the next issue</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/step-by-step-llm-engineering-projects?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/step-by-step-llm-engineering-projects?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/p/step-by-step-llm-engineering-projects?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/step-by-step-llm-engineering-projects/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/p/step-by-step-llm-engineering-projects/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item><item><title><![CDATA[How To Prepare For Machine Learning Jobs in 2026]]></title><description><![CDATA[Are you scared like other aspiring guys who are preparing for this field? You should be, which is good. Follow this blog, as it&#8217;s not at all an AI-generated one. A human like you giving you advice...]]></description><link>https://growtechie.substack.com/p/how-to-prepare-for-machine-learning</link><guid isPermaLink="false">https://growtechie.substack.com/p/how-to-prepare-for-machine-learning</guid><pubDate>Wed, 31 Dec 2025 03:53:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8JDI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefd6c8b0-1554-4ac0-9860-f2fe4a693f1a_1376x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8JDI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefd6c8b0-1554-4ac0-9860-f2fe4a693f1a_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8JDI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefd6c8b0-1554-4ac0-9860-f2fe4a693f1a_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!8JDI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefd6c8b0-1554-4ac0-9860-f2fe4a693f1a_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!8JDI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefd6c8b0-1554-4ac0-9860-f2fe4a693f1a_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!8JDI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefd6c8b0-1554-4ac0-9860-f2fe4a693f1a_1376x768.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8JDI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefd6c8b0-1554-4ac0-9860-f2fe4a693f1a_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/efd6c8b0-1554-4ac0-9860-f2fe4a693f1a_1376x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1376,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!8JDI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefd6c8b0-1554-4ac0-9860-f2fe4a693f1a_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!8JDI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefd6c8b0-1554-4ac0-9860-f2fe4a693f1a_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!8JDI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefd6c8b0-1554-4ac0-9860-f2fe4a693f1a_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!8JDI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefd6c8b0-1554-4ac0-9860-f2fe4a693f1a_1376x768.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>READ IT IF YOU ARE SERIOUS ABOUT IT.</strong></p><p>As someone who has been teaching people in machine learning and data science-related subjects, I can see fear in my students every day. It&#8217;s not because they are dumb; it&#8217;s because they are worried about their future.</p><p>One thing for sure, for my students or any professionals who are in this field, is <strong>&#8220;You don&#8217;t need to be scared.&#8221;</strong></p><p>Why?</p><p>Think about it. Please don&#8217;t read it while using Instagram Reels because it&#8217;s full of clown influencers who are giving you advice that makes no sense most of the time. They are the real parasite in your brain. The other day I saw a guy talking about FAANG, MAANG, BIG4 companies and ended up selling courses for some big companies&#8230;</p><p>I&#8217;m not saying they shouldn&#8217;t, as that&#8217;s their profession, but I&#8217;m just making you aware that you should stop following people like them or their roadmaps. People keep posting roadmaps all year just to make you confused. One guy will say,</p><p>&#8220;<strong>Math is secondary; you can ignore it.&#8221;</strong></p><p>The other one will say:</p><p><strong>&#8220;Dude, how can you go for interviews without a course certificate?&#8221;</strong></p><p>You will keep following roadmaps and stuff, and the year will end. And that&#8217;s how you will be wasting another year. It&#8217;s not just those influencers&#8217; fault. Its fault of yours as well.</p><h2><strong>What to do then?</strong></h2><p>Look, I&#8217;m not going to write this blog as a longer one but as an effective one, as I want everyone to read this.</p><p>First thing first, try to make a habit of sitting in one place and reading. Ok, bro, don&#8217;t just read novels. I&#8217;m talking about reading books here. Yeah, this is old school. People will find it dumb. I will tell those people</p><p>Shut up. Because people who read are going to do great things.</p><p>Why? Let me explain.</p><p><strong>Reading books</strong>, specifically books in the machine learning or AI-related field, will make you smart. You will be speaking well. Your words in a sentence will be so classy when it comes to interviews. Because it matters. ML is a field where you don&#8217;t need to be really good at coding like an SDE job or backend job.</p><p>What matters the most is understanding data and business. If you have worked with Jupyter Notebook, you must have seen that as a fresher, you are coding one-liners in one cell. Eg:</p><blockquote><p><em><strong>df[:] = df.loc[:, df.columns.difference([&#8216;ID&#8217;])]</strong></em></p></blockquote><p>This above one line is enough to remove the ID column while preserving the original DataFrame object reference. I mean, look at this; crazy!!</p><p>isn&#8217;t it?</p><p>That&#8217;s the power of Python and its libraries. You can just learn coding-related stuff easily. So, what&#8217;s there to learn then?</p><p>The things that most of these influencers don&#8217;t speak about.</p><blockquote><p><em><strong>UNDERSTANDING BUSINESS</strong></em></p></blockquote><p>If you are a guy who is starting a career in college trying to learn ML or even someone who is experienced and trying to switch jobs into the AI field, the most important thing is that you should understand the business side of your data.</p><p>And how is this going to be improved?</p><p>Simply work on different types of data. What I mean by that is pick datasets from different sectors. Read about that sector a bit. Learn what there is to understand. Read the dataset carefully. Don&#8217;t just jump into the project and coding in the notebook directly.</p><p>That&#8217;s stupidity. That&#8217;s where your patience to build a project will grow. You will understand things. As we all know, right? &#8220;Quality over quantity.&#8221; But still we all make the same mistake again and again. Don&#8217;t do that this time. Learn and build with patience.</p><h2><strong>Where to start?</strong></h2><p>Yes, this is really confusing for many people. But here is the thing. If you are totally into ML field, never ever start anything before <strong>Mathematics &amp; Statistics. </strong>These 2 are the backbone of ML. Reach out to me on <strong><a href="https://www.instagram.com/techwith.ram/">IG</a></strong> or <strong><a href="https://x.com/techwith_ram">X</a> </strong>for math and stat resources for FREE. Once you are complete with this go for <strong>Python, SQL &amp; ML basic models.</strong></p><p>Never ever skip basic models &amp; jump into the Deep Learning part. It&#8217;s needed, guys. These things will give you a lot of confidence; also, it&#8217;s something that is going to be asked in interviews. Once you will build some projects in classical machine learning models, jump into Deeep Learning after this.</p><p>As I have already told you guys, try making projects which are with new data, extract if you can by yourself.</p><ul><li><p>Make reference projects [Don&#8217;t put them on Resume]</p></li><li><p>Make new ones [Put them on resume]</p></li></ul><p><strong>Projects matter, not your certificates.</strong></p><h2><strong>How to learn effectively?</strong></h2><p>As you can see, if you are a fresher, you have so many things to learn to land an ML job. The real question is <strong>how should you learn them? </strong>There are some common paths. The right one depends on your background, time, and goals.</p><p><strong>Open Source &amp; Doing Everything by Yourself </strong>I always suggest students not to spend money nowadays on courses if you are a good self-learner. You should be the driver of your own learning path. You must design your own curriculum, stay motivated without deadlines, and actively seek feedback. Networking also becomes your responsibility. You need to attend meetups, contribute to open-source projects, participate in online communities, and reach out to people directly. This path works well for people who are self-driven and comfortable learning independently.</p><p>Also can check reference here: <strong><a href="https://roadmap.sh/r/ml-engineer-3dqvu">https://roadmap.sh/r/ml-engineer-3dqvu</a></strong></p><p>For those who want more structure, <strong>Bootcamps and certificate programs</strong> are another option [<em><strong>I never suggest this at first place but if its less amount and you are lazy go for it.</strong></em>]. These programs provide clear learning paths, regular deadlines, mentorship, and a peer group. Many bootcamps also bring in industry professionals, which helps ensure that what you&#8217;re learning matches real job requirements. The main advantage is speed and accountability. The downside is cost, and the quality varies widely. The best programs have strong job placement records and partnerships with companies. Without that, they often become expensive versions of online courses.</p><p><strong>Master&#8217;s degree</strong> is also an option<strong>. </strong>A master&#8217;s can be useful if you are targeting large tech companies that rely heavily on formal credentials and automated resume screening. I mean, in <strong>India</strong> you might be seeing a lot of people going to outside countries like <strong>US, AUS, CAN, NZ.&#8230;.</strong>However, many programs are heavily theoretical and slow to adapt to changes in industry tools and workflows. The time and financial investment can be significant, especially if you study full-time.</p><p>I&#8217;m seeing a trend nowadays outside as well where <strong>MS students are struggling to get a job.</strong> So, the grass is always greener on the other side. Consider all things and then go for it.</p><p>Some people also consider <strong>PhDs</strong>, especially when they hear about cutting-edge AI research. In practice, a PhD is only valuable if you want to work in research or model development. The timeline is long, and the opportunity cost is extremely high. For applied AI engineering roles, this path is usually unnecessary.</p><p>So which path makes the most sense? For most AI engineering roles, especially at startups and mid-sized companies, a technical bachelor&#8217;s degree combined with strong self-study and real projects is enough. Bootcamps work well for people who already have a technical background and want to move quickly with guidance. Master&#8217;s degrees make sense if you are aiming for top-tier companies and can manage the cost without stepping away from work.</p><p>Regardless of the path, additional self-learning and project work are unavoidable.</p><h2><strong>What projects to make?</strong></h2><p>If you are building projects for yourself or for others, this framework helps you create work that actually stands out. As I already said before, build things that have some value. Not some random projects like &#8220;<strong>Titanic Dataset.&#8221; </strong>Ok!! That can be your reference project, but don&#8217;t put projects like those on your resume &amp; hope you will get selected for interviews.</p><p><strong>1. Start with a real interest</strong><br>Choose a problem you genuinely care about. Curiosity and domain familiarity show up clearly in your decisions and explanations.</p><p><strong>2. Use data that is not obvious</strong><br>Avoid popular, ready-made datasets. Pull data from APIs, <strong>scrape websites,</strong> explore government or niche industry sources, or generate your own data through small experiments.</p><p><strong>3. Think in systems, not notebooks</strong><br>Build something end-to-end. Include data ingestion, storage, preprocessing, model usage such as RAG or fine-tuning, deployment, and a simple UI or API. This reflects how real products are built.</p><p><strong>4. Add one &#8220;production touch.&#8221;</strong><br>Even a small detail like logging, error handling, model evaluation, or monitoring makes your project feel real and professional.</p><p><strong>5. Explain your decisions</strong><br>Document not just what you built, but why you built it that way. Trade-offs, failures, and lessons matter more than perfect results.</p><p><strong>6. Package and share intentionally</strong><br>Create a clean GitHub repo with a clear README and setup steps. Add a demo, screenshots, or a short video. Then share it on LinkedIn, X, blogs, or meetups.</p><p>Strong projects tell a story. When your work shows real-world thinking and execution, job applications become a lot easier.</p><h2><strong>For Freshers Or Switching guys</strong></h2><p>When you do not have work experience, your resume needs to highlight what you can do. Put your AI skills at the top, make your projects easy to see, &amp; add your portfolio link clearly.</p><p>On LinkedIn, avoid titles like &#8220;<strong>Student</strong>&#8221; or &#8220;<strong>Aspiring Data Scientist.&#8221; </strong>Position yourself by what you are building and working on, not what you hope to become.</p><p>This improves your chances, but automated filters can still block you. That is where networking matters.</p><p>Ok. One more thing. <strong>CONNECTIONS</strong></p><p>Connection is not only about attending seminars or seeing resources or asking for referrals. A better approach is thoughtful outreach. Find people working in AI/ML at companies you just have in your list [I hope you have a list of companies in your mind ot noted down somewhere], whether they are hiring or not.</p><p>Do your homework. Read their blog posts, watch their talks, or read their papers. Then send a short message appreciating their work and asking a genuine question about a decision they made.</p><p>No job talk. No referral ask.</p><p>If a conversation starts, you can later ask for feedback on your resume or projects, or learn what skills their team values.</p><p>Most people ignore bad messages. But good, personal ones often get replies. The worst case is silence. The best case can change everything.</p><p>Want to see example. This is someone asking me for an internship role.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zIJc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc07ea18c-fda4-4f5e-bf6d-db808866be7e_864x260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zIJc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc07ea18c-fda4-4f5e-bf6d-db808866be7e_864x260.png 424w, https://substackcdn.com/image/fetch/$s_!zIJc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc07ea18c-fda4-4f5e-bf6d-db808866be7e_864x260.png 848w, https://substackcdn.com/image/fetch/$s_!zIJc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc07ea18c-fda4-4f5e-bf6d-db808866be7e_864x260.png 1272w, https://substackcdn.com/image/fetch/$s_!zIJc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc07ea18c-fda4-4f5e-bf6d-db808866be7e_864x260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zIJc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc07ea18c-fda4-4f5e-bf6d-db808866be7e_864x260.png" width="864" height="260" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c07ea18c-fda4-4f5e-bf6d-db808866be7e_864x260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:260,&quot;width&quot;:864,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!zIJc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc07ea18c-fda4-4f5e-bf6d-db808866be7e_864x260.png 424w, https://substackcdn.com/image/fetch/$s_!zIJc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc07ea18c-fda4-4f5e-bf6d-db808866be7e_864x260.png 848w, https://substackcdn.com/image/fetch/$s_!zIJc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc07ea18c-fda4-4f5e-bf6d-db808866be7e_864x260.png 1272w, https://substackcdn.com/image/fetch/$s_!zIJc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc07ea18c-fda4-4f5e-bf6d-db808866be7e_864x260.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>From my Linkedin DM</strong></p><p>Hmm. What do you guys think will response to it? I ignored after this text.</p><h2><strong>Not Advice, But Remember!</strong></h2><p>AI/ML engineering takes time. Don&#8217;t think a 3 months learning period will make you knowledgable enought for an interview. For most people, learning the basics and building simple AI apps takes about 6 months if you already know some programming. If you are starting from scratch, expect closer to a year.</p><p>Getting comfortable with advanced concepts usually takes another 6 to 12 months. This is when your projects become more complex and your understanding gets deeper.</p><p>Reaching a solid professional level often takes 1 to 2 more years. Senior or lead roles come much later and usually require several years of real-world experience.</p><p>This plan is for someone who is patient enough. As per my reading and reports, till 2030 this field is going to demanded like never before. More hiring will happend. It&#8217;s just they are not going to hire some regular guys. Be unique and be productive. Be you.</p><p>Thanks for reading this blog. Appreciated. Comments and suggestions for apsiring guys are welcome.</p><p></p><p>Support the author <strong><a href="http://buymeacoffee.com/Ramakrushna">here</a></strong>, If you found this blog helpful.</p><ul><li><p><strong>If you&#8217;d like to chat 1:1, you can</strong> <a href="https://topmate.io/ramakrushna_mohapatra/672584?utm_source=public_profile&amp;utm_campaign=ramakrushna_mohapatra">book a call with me here</a>.</p></li><li><p>Subscribe to<strong> <a href="https://growtechie.substack.com/">my newsletter</a> </strong>for a weekly post on a mix of technical topics and mindset/motivation for challenging fields.</p></li><li><p>Subscribe to my <strong><a href="https://www.youtube.com/@techwith_ram">YouTube</a> </strong>channel. Will start uploading long videos soon.</p></li></ul><p><strong>Follow me on socials</strong> for more updates, behind-the-scenes work, and personal insights:</p><ul><li><p><strong><a href="https://www.instagram.com/techwith.ram/">Instagram</a></strong></p></li><li><p><strong><a href="http://x.com/techwith_ram">Twitter</a></strong></p></li><li><p><strong><a href="https://www.threads.com/@techwith.ram">Threads</a></strong></p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/how-to-prepare-for-machine-learning?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/how-to-prepare-for-machine-learning?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/p/how-to-prepare-for-machine-learning?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><div class="community-chat" data-attrs="{&quot;url&quot;:&quot;https://open.substack.com/pub/growtechie/chat?utm_source=chat_embed&quot;,&quot;subdomain&quot;:&quot;growtechie&quot;,&quot;pub&quot;:{&quot;id&quot;:3358877,&quot;name&quot;:&quot;Growtechie &quot;,&quot;author_name&quot;:&quot;Growtechie&quot;,&quot;author_photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!mYsi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc10c355-6172-4cac-85e1-d812ffaeba80_500x500.png&quot;}}" data-component-name="CommunityChatRenderPlaceholder"></div><p></p>]]></content:encoded></item><item><title><![CDATA[The Real Road to ML Research]]></title><description><![CDATA[Google's Gemini team explained: Breaking into ML research often feels overwhelming. We mostly all wanted to do it, as it pays well, doesn&#8217;t it? Or maybe some of you are really passionate about it.]]></description><link>https://growtechie.substack.com/p/the-real-road-to-ml-research</link><guid isPermaLink="false">https://growtechie.substack.com/p/the-real-road-to-ml-research</guid><pubDate>Fri, 26 Dec 2025 17:36:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!BYjr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff55af746-01e9-4e81-9f0c-1fa025b992a3_1400x788.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The AI field moves fast, papers drop every day, and it can feel like everyone else already knows more math, more theory, and more tricks than you do. In a recent conversation between two senior engineers at <strong>Google DeepMind</strong>, one from the Gemini research team and another from core software engineering, a clear and honest roadmap emerged for anyone trying to enter ML research without getting lost or burnt out.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BYjr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff55af746-01e9-4e81-9f0c-1fa025b992a3_1400x788.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BYjr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff55af746-01e9-4e81-9f0c-1fa025b992a3_1400x788.png 424w, https://substackcdn.com/image/fetch/$s_!BYjr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff55af746-01e9-4e81-9f0c-1fa025b992a3_1400x788.png 848w, https://substackcdn.com/image/fetch/$s_!BYjr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff55af746-01e9-4e81-9f0c-1fa025b992a3_1400x788.png 1272w, https://substackcdn.com/image/fetch/$s_!BYjr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff55af746-01e9-4e81-9f0c-1fa025b992a3_1400x788.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BYjr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff55af746-01e9-4e81-9f0c-1fa025b992a3_1400x788.png" width="1400" height="788" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f55af746-01e9-4e81-9f0c-1fa025b992a3_1400x788.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:788,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BYjr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff55af746-01e9-4e81-9f0c-1fa025b992a3_1400x788.png 424w, https://substackcdn.com/image/fetch/$s_!BYjr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff55af746-01e9-4e81-9f0c-1fa025b992a3_1400x788.png 848w, https://substackcdn.com/image/fetch/$s_!BYjr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff55af746-01e9-4e81-9f0c-1fa025b992a3_1400x788.png 1272w, https://substackcdn.com/image/fetch/$s_!BYjr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff55af746-01e9-4e81-9f0c-1fa025b992a3_1400x788.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This story of mine will distill that discussion into a practical guide. No hype. No shortcuts.</p><p>Just what actually works.</p><h2><strong>Start With Fundamentals, Not Models</strong></h2><p>One of the biggest misconceptions beginners have is that ML research starts with training large models or fine-tuning checkpoints. It does not.</p><p>The right starting point is <strong>fundamentals</strong>.</p><p>A solid understanding of machine learning and deep learning concepts is non-negotiable. This can come from university courses or high-quality online resources. What matters is not the certificate but whether you understand what is happening under the hood.</p><p>Even though modern tooling abstracts away much of the complexity, research requires intuition. You need to understand <em>why</em> something works, not just <em>how</em> to run it.</p><p>Alongside ML and DL, undergraduate-level math is essential:</p><ul><li><p>Linear algebra</p></li><li><p>Probability</p></li><li><p>Calculus</p></li></ul><p>You do not need to master everything upfront. You will revisit these topics repeatedly throughout your career. The goal early on is awareness and comfort, not perfection.</p><h2><strong>Avoid Tutorial Hell, Build Mental Models</strong></h2><p>A common trap is endlessly consuming courses without applying anything. This creates the illusion of progress without real learning.</p><p>The transition point is when you shift from courses to <strong>papers</strong>.</p><p>ML research is an active field. Breakthroughs happen regularly, and no course can keep up. Papers are how knowledge actually flows. Learning to read them is a core research skill.</p><p>Instead of treating papers like textbooks, think of them as <strong>nodes in a graph</strong>. Each paper builds on previous work and influences future directions. Your goal is to slowly build a mental map of the field.</p><p>A useful rule of thumb:</p><ul><li><p>Reading 5&#8211;20 papers in a subfield gives you working familiarity</p></li><li><p>Around 50 papers gives you deep understanding</p></li></ul><p>These numbers are not strict, but they help set expectations.</p><h2><strong>Learn to Read Papers Efficiently</strong></h2><p>Your first research paper might take a week to understand. That is normal and even healthy. It means you are actually trying to understand it.</p><p>Over time, you will naturally develop the ability to skim:</p><ol><li><p>Read the title and abstract</p></li><li><p>Look at key figures and experiments</p></li><li><p>Jump to the conclusion and discussion</p></li><li><p>Decide whether the paper is worth a deep read</p></li></ol><p>You do not need to read papers linearly. Most experienced researchers do multiple passes, each time extracting more insight.</p><p>You will also develop an internal classifier:</p><ul><li><p>Dataset paper</p></li><li><p>Incremental improvement</p></li><li><p>New technique</p></li><li><p>New perspective on existing ideas</p></li></ul><p>This skill only comes with volume and repetition. I would also suggest websites like </p><p>https://www.alphaxiv.org/</p><p> where you can communicate directly with the paper you are reading.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L8s2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd582d382-c561-4d08-9660-86328609ae01_1400x863.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L8s2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd582d382-c561-4d08-9660-86328609ae01_1400x863.png 424w, https://substackcdn.com/image/fetch/$s_!L8s2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd582d382-c561-4d08-9660-86328609ae01_1400x863.png 848w, https://substackcdn.com/image/fetch/$s_!L8s2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd582d382-c561-4d08-9660-86328609ae01_1400x863.png 1272w, https://substackcdn.com/image/fetch/$s_!L8s2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd582d382-c561-4d08-9660-86328609ae01_1400x863.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L8s2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd582d382-c561-4d08-9660-86328609ae01_1400x863.png" width="1400" height="863" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d582d382-c561-4d08-9660-86328609ae01_1400x863.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:863,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!L8s2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd582d382-c561-4d08-9660-86328609ae01_1400x863.png 424w, https://substackcdn.com/image/fetch/$s_!L8s2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd582d382-c561-4d08-9660-86328609ae01_1400x863.png 848w, https://substackcdn.com/image/fetch/$s_!L8s2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd582d382-c561-4d08-9660-86328609ae01_1400x863.png 1272w, https://substackcdn.com/image/fetch/$s_!L8s2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd582d382-c561-4d08-9660-86328609ae01_1400x863.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>Use Citations to Build Your Research Graph</strong></h2><p>Papers do not come with tags, so discovering related work can feel confusing at first.</p><p>Two tools solve most of this:</p><ul><li><p><strong>Backward search</strong>: use the related work section to see what the paper builds on</p></li><li><p><strong>Forward search</strong>: use Google Scholar to see who cited the paper</p></li></ul><p>This lets you move backward and forward in time and gradually form clusters of ideas. You will often open many tabs, but you do not need to read everything deeply. Skimming is enough to build structure.</p><h2><strong>Predict the &#8220;Next Chapter&#8221;</strong></h2><p>One of the most powerful habits discussed was this: After reading a few papers on a topic, pause and ask yourself:</p><blockquote><p><em>&#8220;If I were writing the next chapter in this field, what would it be?&#8221;</em></p></blockquote><p>You will almost always be wrong. That is not the point.</p><p>The point is to train your mind to think like a researcher, not a student. In real research, the next chapter does not exist yet. Developing the habit of anticipating limitations, gaps, and natural next steps is crucial.</p><p>This separates passive learning from active research thinking.</p><h2><strong>The Missing Middle: From Reading to Research</strong></h2><p>Many people assume that once they read enough papers, ideas will automatically appear. This is rarely true. There is a missing middle stage.</p><p>That stage is <strong>hands-on experimentation with existing work</strong>.</p><p>Instead of re-implementing everything from scratch, focus on:</p><ul><li><p>Papers with open-source code</p></li><li><p>Public datasets</p></li><li><p>Reproducible results</p></li></ul><p>Download the code. Run it. Break it. Modify it.</p><ul><li><p>Change datasets</p></li><li><p>Tweak architectures</p></li><li><p>Introduce new metrics</p></li><li><p>Run ablations</p></li></ul><p>This is how you learn what actually matters. In real research jobs, most work builds on existing codebases. Reinventing the wheel is rarely the goal.</p><p>Publishing your experiments as open source or writing blogs about your understanding creates public artifacts that matter far more than certificates.</p><h2><strong>How Much Math Do You Really Need?</strong></h2><p>Math is often the biggest psychological barrier. The truth is nuanced.</p><p>There are theoretical researchers who live in proofs and theorems. But many successful ML researchers are <strong>empirical researchers</strong>, focused on experiments, models, and evaluation.</p><p>For most people:</p><ul><li><p>Strong undergraduate math is required</p></li><li><p>Advanced math is learned <strong>on demand</strong></p></li></ul><p>If a mathematical concept blocks your understanding, pause and learn it. If it is peripheral, it is okay to skip and revisit later.</p><p>Math provides intuition. It helps you understand why a loss function behaves differently or what a hyperparameter is really controlling. This intuition saves enormous experimental time.</p><p>Modern tools, including <strong>Gemini</strong>, can help explain papers and equations. Used wisely, they accelerate learning rather than replace it.</p><h2><strong>Working With Senior Researchers and Mentors</strong></h2><p>Research is not a solo sport.</p><p>At some point, progress depends heavily on mentorship. Senior researchers help with:</p><ul><li><p>Framing good hypotheses</p></li><li><p>Designing meaningful experiments</p></li><li><p>Building strong research narratives</p></li><li><p>Avoiding obvious reviewer objections</p></li></ul><p>Do not hesitate to email paper authors with thoughtful questions. Most researchers appreciate genuine interest.</p><p>Public artifacts matter here. Blogs, open-source repos, and reproductions make outreach far more effective.</p><p>Mentorship also matters because research hiring relies heavily on recommendations. There are far fewer research roles than software roles, and evaluating research ability in short interviews is hard. Trust and reputation play a large role.</p><h2><strong>The Lifecycle of a Research Project</strong></h2><p>A typical empirical research project follows this flow:</p><ol><li><p>Identify a concrete problem</p></li><li><p>Decide how to evaluate it</p></li><li><p>Study existing literature</p></li><li><p>Find what is missing or broken</p></li><li><p>Form a hypothesis</p></li><li><p>Design experiments to validate or falsify it</p></li><li><p>Iterate and deepen insights</p></li><li><p>Write a clear story around the findings</p></li></ol><p>Not every paper introduces a new algorithm. Valuable contributions include:</p><ul><li><p>New benchmarks or metrics</p></li><li><p>Careful empirical observations</p></li><li><p>Negative results</p></li><li><p>New perspectives on existing methods</p></li></ul><p>Good research is about insight, not novelty for its own sake.</p><h2><strong>Final Takeaway: Just Start, Stay Consistent</strong></h2><p>You do not need to check every box before starting ML research.</p><p>Start anywhere:</p><ul><li><p>A course</p></li><li><p>A paper</p></li><li><p>A code base</p></li><li><p>A blog</p></li></ul><p>What matters is consistency. Learning compounds. Small, regular effort beats sporadic bursts every time.</p><p>You do not need to be perfect to begin. You just need to begin.</p><p>And then keep going. This whole blog is inspired by a YouTube video by two Google researchers.</p><p></p><p><strong>If you&#8217;d like to chat 1:1, you can</strong> <a href="https://topmate.io/ramakrushna_mohapatra/672584?utm_source=public_profile&amp;utm_campaign=ramakrushna_mohapatra">book a call with me here</a>.</p><p><strong>Follow me on socials</strong> for more updates, behind-the-scenes work, and personal insights:</p><ul><li><p><strong><a href="https://www.instagram.com/techwith.ram/">Instagram</a></strong></p></li><li><p><strong><a href="http://x.com/techwith_ram">Twitter</a></strong></p></li><li><p><strong><a href="https://www.threads.com/@techwith.ram">Threads</a></strong></p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/the-real-road-to-ml-research?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/the-real-road-to-ml-research?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/p/the-real-road-to-ml-research?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/the-real-road-to-ml-research/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/p/the-real-road-to-ml-research/comments"><span>Leave a comment</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[When Machines Learn to Read: DeepSeek OCR Explained]]></title><description><![CDATA[Are you also hearing this word &#8220;OCR&#8220; a lot lately?]]></description><link>https://growtechie.substack.com/p/when-machines-learn-to-read-deepseek</link><guid isPermaLink="false">https://growtechie.substack.com/p/when-machines-learn-to-read-deepseek</guid><pubDate>Wed, 05 Nov 2025 11:51:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4Sbd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467624a9-b2bd-4a80-9834-f73648ca6b0b_1920x1080.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4Sbd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467624a9-b2bd-4a80-9834-f73648ca6b0b_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4Sbd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467624a9-b2bd-4a80-9834-f73648ca6b0b_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!4Sbd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467624a9-b2bd-4a80-9834-f73648ca6b0b_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!4Sbd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467624a9-b2bd-4a80-9834-f73648ca6b0b_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!4Sbd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467624a9-b2bd-4a80-9834-f73648ca6b0b_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4Sbd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467624a9-b2bd-4a80-9834-f73648ca6b0b_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/467624a9-b2bd-4a80-9834-f73648ca6b0b_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1089415,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://growtechie.substack.com/i/178072555?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467624a9-b2bd-4a80-9834-f73648ca6b0b_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4Sbd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467624a9-b2bd-4a80-9834-f73648ca6b0b_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!4Sbd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467624a9-b2bd-4a80-9834-f73648ca6b0b_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!4Sbd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467624a9-b2bd-4a80-9834-f73648ca6b0b_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!4Sbd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F467624a9-b2bd-4a80-9834-f73648ca6b0b_1920x1080.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Are you also hearing this word &#8220;<strong>OCR</strong>&#8220; a lot lately?</p><p>I mean, I&#8217;m. Mostly by a lot of AI influencers and researchers. There are a lot of good projects and snaps on X. But don&#8217;t worry, this story is going to clear all your doubts as well, and you will get hands-on experience.</p><p>Imagine this, you&#8217;ve got a stack of documents like receipts, old letters, and a blurry photo of a textbook page. You need the text on them. Manually retyping all that? Ugh, impossible task.</p><p>Now imagine if your computer could just <strong>read</strong> those images and spit out the text for you. That&#8217;s <strong>OCR</strong> (Optical Character Recognition). It&#8217;s like giving your computer a pair of reading glasses and a dip into puberty.</p><p>Optical Character Recognition <strong>OCR</strong> is the technology that turns pictures of text (typed, handwritten, or printed) into machine-encoded text. It lets a program read words on a page much like we do, except it does it pixel-by-pixel instead of letter-by-letter. Once an image is digitized, OCR can search, edit, translate, or speak the text. It&#8217;s the secret behind scanning passports at the airport, digitizing books for Project, reading out loud to the blind, and even cracking CAPTCHAs (let&#8217;s not make it mad at us).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3Ow7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cd06679-bc2b-4525-bd8f-19feea2df219_1024x683.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3Ow7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cd06679-bc2b-4525-bd8f-19feea2df219_1024x683.png 424w, https://substackcdn.com/image/fetch/$s_!3Ow7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cd06679-bc2b-4525-bd8f-19feea2df219_1024x683.png 848w, https://substackcdn.com/image/fetch/$s_!3Ow7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cd06679-bc2b-4525-bd8f-19feea2df219_1024x683.png 1272w, https://substackcdn.com/image/fetch/$s_!3Ow7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cd06679-bc2b-4525-bd8f-19feea2df219_1024x683.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3Ow7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cd06679-bc2b-4525-bd8f-19feea2df219_1024x683.png" width="1024" height="683" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cd06679-bc2b-4525-bd8f-19feea2df219_1024x683.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:683,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3Ow7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cd06679-bc2b-4525-bd8f-19feea2df219_1024x683.png 424w, https://substackcdn.com/image/fetch/$s_!3Ow7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cd06679-bc2b-4525-bd8f-19feea2df219_1024x683.png 848w, https://substackcdn.com/image/fetch/$s_!3Ow7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cd06679-bc2b-4525-bd8f-19feea2df219_1024x683.png 1272w, https://substackcdn.com/image/fetch/$s_!3Ow7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cd06679-bc2b-4525-bd8f-19feea2df219_1024x683.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>At its core, OCR is a <strong>fusion of image processing and pattern recognition</strong>. Traditional image processing might focus on classifying images or detecting objects, whereas OCR specifically hunts for text characters within an image. You can think of it as Photoshop doing shape analysis plus a bit of language logic: it cleans the image up, finds the letters, and then maps those shapes to alphabet symbols.</p><p>In practice, OCR systems often use a pipeline of steps to work their magic.</p><h2><strong>How OCR Works: From Pixels to Text</strong></h2><p>Optical Character Recognition (OCR) converts images of text like scanned documents or photos into editable, searchable digital text. At a high level, OCR works in three stages: <strong>preprocessing</strong>, <strong>character recognition</strong>, and <strong>post-processing</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ex0o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65e5c2af-ce49-4645-b449-8d267d95a2fa_1400x567.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ex0o!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65e5c2af-ce49-4645-b449-8d267d95a2fa_1400x567.png 424w, https://substackcdn.com/image/fetch/$s_!ex0o!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65e5c2af-ce49-4645-b449-8d267d95a2fa_1400x567.png 848w, https://substackcdn.com/image/fetch/$s_!ex0o!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65e5c2af-ce49-4645-b449-8d267d95a2fa_1400x567.png 1272w, https://substackcdn.com/image/fetch/$s_!ex0o!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65e5c2af-ce49-4645-b449-8d267d95a2fa_1400x567.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ex0o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65e5c2af-ce49-4645-b449-8d267d95a2fa_1400x567.png" width="1400" height="567" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/65e5c2af-ce49-4645-b449-8d267d95a2fa_1400x567.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:567,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ex0o!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65e5c2af-ce49-4645-b449-8d267d95a2fa_1400x567.png 424w, https://substackcdn.com/image/fetch/$s_!ex0o!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65e5c2af-ce49-4645-b449-8d267d95a2fa_1400x567.png 848w, https://substackcdn.com/image/fetch/$s_!ex0o!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65e5c2af-ce49-4645-b449-8d267d95a2fa_1400x567.png 1272w, https://substackcdn.com/image/fetch/$s_!ex0o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65e5c2af-ce49-4645-b449-8d267d95a2fa_1400x567.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><strong>1. Preprocessing: {Cleaning and Preparing the Image}</strong></h3><p>Before recognition begins, the image is enhanced to make text easier to read by the OCR engine.</p><p><strong>- Deskewing:</strong> Rotates the scanned page so text lines are perfectly horizontal.</p><p><strong>- Binarization:</strong> Converts the image to black and white, separating text (foreground) from the background.</p><p><strong>- Noise Removal:</strong> Eliminates smudges, dots, and other visual distortions.</p><p><strong>- Layout Analysis:</strong> Detects columns, text zones, and segments lines into words, while isolating images or tables.</p><p>Think of this stage as &#8220;priming the canvas,&#8221; preparing a clean, structured image that clearly presents the letters for recognition.</p><h3><strong>2. Character Recognition: The Core of OCR</strong></h3><p>This is where the system identifies what each character actually is.</p><p><strong>Matrix Matching (Template Matching): </strong>Early OCR systems compared each detected character pixel-by-pixel with a library of stored glyphs. If the scanned &#8220;A&#8221; matched the stored &#8220;A&#8221; pattern, the system output &#8220;A&#8221;. This worked for clean, typewritten text but struggled with variations in font, handwriting, or image quality.</p><p><strong>Feature Extraction: </strong>To handle greater variability, more advanced systems analyze the geometric features of characters &#8212; such as lines, curves, intersections, and loops.<br>For example, an uppercase &#8220;A&#8221; might be described as <em>two diagonal strokes meeting at the top, connected by a horizontal bar</em>.<br>This abstract representation makes OCR more flexible across fonts and styles.</p><p><strong>Neural Network&#8211;Based Recognition: </strong>Modern OCR engines use <strong>deep learning</strong> models trained on millions of text samples. These models learn to recognize entire words or text lines at once, analyzing patterns much like how humans learn to read handwriting.<br>For instance, open-source tools like <strong>Tesseract</strong> now employ neural networks to process full lines of text rather than individual characters, dramatically improving accuracy.</p><h3><strong>3. Post-processing: Refining and Correcting the Output</strong></h3><p>After initial recognition, OCR applies post-processing to improve accuracy and readability.</p><p><strong>Dictionary &amp; Spell Checking:</strong> Corrects misread words by comparing them against a language dictionary or lexicon.</p><p><strong>Contextual Correction:</strong> Uses language models to fix improbable letter combinations based on word context.</p><p><strong>Layout Preservation:</strong> Keeps track of word positions to recreate the original formatting.</p><p>Some OCR systems even output <strong>searchable PDFs</strong> or <strong>HTML documents</strong> by maintaining the text layout alongside the recognized words.</p><h2><strong>Traditional Image Processing vs. OCR</strong></h2><p>You might wonder: isn&#8217;t OCR just another image processing task?</p><p>In a way, it is. It <strong>uses</strong> image processing (to clean images and find characters). But OCR has a distinct goal: interpret symbols as language.</p><p>Traditional image processing might do things like smoothing, edge detection, or face recognition, which care about shapes or objects in general. OCR specifically cares about letter shapes and word patterns. It even taps into language knowledge (dictionaries, grammar) in post-processing. So while OCR sits under the umbrella of computer vision, it&#8217;s tailored toward textual content. You could say OCR is the <strong>semantics</strong> layer of image processing: it doesn&#8217;t just see pixels, it reads them.</p><p>The rise of AI has blurred these lines. Modern OCR is often done by <strong>vision-language models</strong> (VLMs) that combine image encoders with language models. These AI-driven systems perform end-to-end OCR, sometimes even understanding layout (tables, figures, and multi-column text). We&#8217;ll see this next.</p><h2><strong>Advancements in OCR: Enter AI and DeepSeek</strong></h2><p>OCR has come a long way thanks to deep learning. Early OCR was rule-based or simple neural nets. Today&#8217;s systems use convolutional neural networks (CNNs), transformers, and massive image-text models. For example, Google&#8217;s Vision API or open-source tools like EasyOCR, PaddleOCR, and Tesseract&#8217;s latest versions all rely on deep networks trained on huge datasets. They can handle diverse fonts, lighting conditions, and even non-Latin scripts with impressive accuracy.</p><p>One exciting trend is <strong>Vision-Language Models</strong> (VLMs). These are AI models trained on both images and text, enabling them not only to recognize characters but also to understand documents as a whole. Projects like <em>Qwen-VL</em>, <em>InternVL</em>, and <em>OCR2.0</em> have shown that a single model can both <strong>detect</strong> text regions and <strong>recognize</strong> the text all in one pass.</p><p>And then there&#8217;s <strong>DeepSeek OCR</strong> &#8212; a very hot new entry. DeepSeek OCR isn&#8217;t just about reading text better; it&#8217;s about a whole new vision of context processing. Traditional OCR (and most VLMs) treats text as long chains of tokens. DeepSeek says: &#8220;Hey, what if we <strong>see</strong> the text instead of reading it token by token?&#8221; It introduces <strong>Context Optical Compression</strong>: converting lengthy text into a compact visual form that an AI can digest faster. In practice, DeepSeek paints pages of text into images and uses a specialized encoder to compress them into &#8220;vision tokens.&#8221; Each visual token can carry much more information (font, layout, context) than a regular text token.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!a_S_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F421d3494-0c09-4acc-9f93-d2d835746711_1080x638.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!a_S_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F421d3494-0c09-4acc-9f93-d2d835746711_1080x638.png 424w, https://substackcdn.com/image/fetch/$s_!a_S_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F421d3494-0c09-4acc-9f93-d2d835746711_1080x638.png 848w, https://substackcdn.com/image/fetch/$s_!a_S_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F421d3494-0c09-4acc-9f93-d2d835746711_1080x638.png 1272w, https://substackcdn.com/image/fetch/$s_!a_S_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F421d3494-0c09-4acc-9f93-d2d835746711_1080x638.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!a_S_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F421d3494-0c09-4acc-9f93-d2d835746711_1080x638.png" width="1080" height="638" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/421d3494-0c09-4acc-9f93-d2d835746711_1080x638.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:638,&quot;width&quot;:1080,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!a_S_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F421d3494-0c09-4acc-9f93-d2d835746711_1080x638.png 424w, https://substackcdn.com/image/fetch/$s_!a_S_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F421d3494-0c09-4acc-9f93-d2d835746711_1080x638.png 848w, https://substackcdn.com/image/fetch/$s_!a_S_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F421d3494-0c09-4acc-9f93-d2d835746711_1080x638.png 1272w, https://substackcdn.com/image/fetch/$s_!a_S_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F421d3494-0c09-4acc-9f93-d2d835746711_1080x638.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In simpler terms: imagine a 10,000-word document. A normal language model processes 10,000 tokens. DeepSeek&#8217;s approach might encode that into just ~1,000 visual tokens &#8212; a 10&#215; compression! Remarkably, it can still output text at ~97% accuracy on standard benchmarks when compressed by 10&#215;. Even at 20&#215; (really crushing it down), it&#8217;s about 60% accurate &#8212; still useful for many tasks. This means faster inference with fewer computational steps. As one researcher put it, DeepSeek asks &#8220;are pixels better inputs to LLMs than text?&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7fbH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229b29b6-14e5-464e-b9e9-8c21eeaafc2c_1000x428.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7fbH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229b29b6-14e5-464e-b9e9-8c21eeaafc2c_1000x428.png 424w, https://substackcdn.com/image/fetch/$s_!7fbH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229b29b6-14e5-464e-b9e9-8c21eeaafc2c_1000x428.png 848w, https://substackcdn.com/image/fetch/$s_!7fbH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229b29b6-14e5-464e-b9e9-8c21eeaafc2c_1000x428.png 1272w, https://substackcdn.com/image/fetch/$s_!7fbH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229b29b6-14e5-464e-b9e9-8c21eeaafc2c_1000x428.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7fbH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229b29b6-14e5-464e-b9e9-8c21eeaafc2c_1000x428.png" width="1000" height="428" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/229b29b6-14e5-464e-b9e9-8c21eeaafc2c_1000x428.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:428,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7fbH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229b29b6-14e5-464e-b9e9-8c21eeaafc2c_1000x428.png 424w, https://substackcdn.com/image/fetch/$s_!7fbH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229b29b6-14e5-464e-b9e9-8c21eeaafc2c_1000x428.png 848w, https://substackcdn.com/image/fetch/$s_!7fbH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229b29b6-14e5-464e-b9e9-8c21eeaafc2c_1000x428.png 1272w, https://substackcdn.com/image/fetch/$s_!7fbH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229b29b6-14e5-464e-b9e9-8c21eeaafc2c_1000x428.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>DeepSeek isn&#8217;t a replacement for traditional image filters &#8212; it <strong>is</strong> image processing (it uses a CNN-based encoder) &#8212; but its goal is different. It&#8217;s designing an encoder so that a vision transformer can capture text information ultra-efficiently. The result is state-of-the-art OCR and document parsing with far fewer tokens needed.</p><p>Let&#8217;s zoom into the DeepSeek architecture, because it&#8217;s pretty cool.</p><h2><strong>DeepSeek OCR Architecture</strong></h2><p>DeepSeek OCR uses a <strong>two-part architecture</strong>: a <em>DeepEncoder</em> and a <em>DeepSeek-3B-MoE Decoder</em>. Think of the DeepEncoder as the &#8220;vision compression engine&#8221; and the decoder as a language model that spells out the text.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vtFJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fece08bff-f424-4edb-addb-39dc608c104e_1400x469.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vtFJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fece08bff-f424-4edb-addb-39dc608c104e_1400x469.png 424w, https://substackcdn.com/image/fetch/$s_!vtFJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fece08bff-f424-4edb-addb-39dc608c104e_1400x469.png 848w, https://substackcdn.com/image/fetch/$s_!vtFJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fece08bff-f424-4edb-addb-39dc608c104e_1400x469.png 1272w, https://substackcdn.com/image/fetch/$s_!vtFJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fece08bff-f424-4edb-addb-39dc608c104e_1400x469.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vtFJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fece08bff-f424-4edb-addb-39dc608c104e_1400x469.png" width="1400" height="469" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ece08bff-f424-4edb-addb-39dc608c104e_1400x469.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:469,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vtFJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fece08bff-f424-4edb-addb-39dc608c104e_1400x469.png 424w, https://substackcdn.com/image/fetch/$s_!vtFJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fece08bff-f424-4edb-addb-39dc608c104e_1400x469.png 848w, https://substackcdn.com/image/fetch/$s_!vtFJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fece08bff-f424-4edb-addb-39dc608c104e_1400x469.png 1272w, https://substackcdn.com/image/fetch/$s_!vtFJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fece08bff-f424-4edb-addb-39dc608c104e_1400x469.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>DeepEncoder:</strong> This is a custom image encoder with about 380M parameters. It&#8217;s built from two known pieces and a clever bridge. First, a SAM-based model (80M params) with windowed attention handles local visual details. Second, a CLIP-Large model (300M params) handles global context with full attention. Connecting them is a <strong>16&#215; Token Compressor</strong> (a stack of convolutions) that squashes thousands of patch tokens into just a few hundred &#8220;vision tokens.&#8221;</p><p>The result?</p><p>Even a 1024&#215;1024 document turns into maybe a few hundred tokens, not millions. This keeps memory use low and speeds up processing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Nnhr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bb0a789-c2ab-4c94-b061-fdfa501ee298_1400x481.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Nnhr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bb0a789-c2ab-4c94-b061-fdfa501ee298_1400x481.png 424w, https://substackcdn.com/image/fetch/$s_!Nnhr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bb0a789-c2ab-4c94-b061-fdfa501ee298_1400x481.png 848w, https://substackcdn.com/image/fetch/$s_!Nnhr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bb0a789-c2ab-4c94-b061-fdfa501ee298_1400x481.png 1272w, https://substackcdn.com/image/fetch/$s_!Nnhr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bb0a789-c2ab-4c94-b061-fdfa501ee298_1400x481.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Nnhr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bb0a789-c2ab-4c94-b061-fdfa501ee298_1400x481.png" width="1400" height="481" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4bb0a789-c2ab-4c94-b061-fdfa501ee298_1400x481.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:481,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Nnhr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bb0a789-c2ab-4c94-b061-fdfa501ee298_1400x481.png 424w, https://substackcdn.com/image/fetch/$s_!Nnhr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bb0a789-c2ab-4c94-b061-fdfa501ee298_1400x481.png 848w, https://substackcdn.com/image/fetch/$s_!Nnhr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bb0a789-c2ab-4c94-b061-fdfa501ee298_1400x481.png 1272w, https://substackcdn.com/image/fetch/$s_!Nnhr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bb0a789-c2ab-4c94-b061-fdfa501ee298_1400x481.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>DeepSeek-3B-MoE Decoder:</strong> Once the image is compressed into visual tokens, a transformer decoder (similar to a GPT) turns those tokens into text. DeepSeek uses a <em>Mixture of Experts</em> (MoE) design. At inference, only a small subset of the total &#8220;experts&#8221; are active (6 out of 64 plus 2 shared ones), giving it the power of a 3 billion parameter model but with the compute cost of a ~600M model. This decoder takes the vision tokens and the initial prompt (like &#8220;Convert the document to markdown&#8221;) and generates the textual output.</p><p>According to the creators, this design achieves incredible efficiency. On the standard OmniDocBench for documents, DeepSeek-OCR outperforms previous OCR models <strong>while using far fewer tokens</strong>. In practical terms, a single A100 GPU can process over 200,000 pages per day with DeepSeek. It&#8217;s a heavy-duty setup, but it shows that OCR can scale up massively.</p><p>DeepSeek also handles not just plain text but complex elements: tables, charts, chemical formulas, and diagrams&#8212;because it&#8217;s essentially an end-to-end document parser.</p><p>In short, it&#8217;s pushing OCR from just reading letters to understanding documents visually and semantically.</p><h2><strong>Hands-On with DeepSeek OCR</strong></h2><p>Enough theory!</p><p>Let&#8217;s do a quick project! We&#8217;ll use the open-source DeepSeek-OCR model to convert an image of text into actual text. We&#8217;ll walk through installing DeepSeek, loading an image, running the model, and getting the result.</p><h2><strong>Installation and Setup</strong></h2><p>DeepSeek-OCR is available on GitHub and Hugging Face, and it requires a recent Python environment (tested on Python 3.12 with CUDA 11.8). Here&#8217;s a simplified setup (you&#8217;ll need a decent GPU for reasonable speed):</p><pre><code># Clone the repository
git clone https://github.com/deepseek-ai/DeepSeek-OCR.git
cd DeepSeek-OCR

# Create a new environment (e.g., with conda or venv)
conda create -n deepseek-ocr python=3.12 -y
conda activate deepseek-ocr

# Install PyTorch (v2.6) with CUDA 11.8 support
pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 \
 - index-url https://download.pytorch.org/whl/cu118

# (Optional) If using vLLM tools: install the wheel
# pip install vllm-0.8.5+cu118-cp38-abi3-manylinux1_x86_64.whl
# Install Python requirements
pip install -r requirements.txt

# Install flash-attn for faster inference
pip install flash-attn==2.7.3</code></pre><p>Alternatively, if you just want to use the model via Hugging Face Transformers, you can skip some repo steps and just install <code>transformers</code>, <code>torch</code>, <code>tokenizers</code>, etc, as shown below.</p><h2><strong>Model Overview</strong></h2><p>DeepSeek-OCR is a <strong>vision-language model</strong>. Under the hood it&#8217;s packaged as a Hugging Face Transformers model with custom code. You don&#8217;t need to implement the architecture yourself, you just load it by name. However, remember it&#8217;s large, so load it on a GPU.</p><p>Let&#8217;s load the model and its tokenizer in Python:</p><pre><code>from transformers import AutoModel, AutoTokenizer
import torch

model_name = &#8220;deepseek-ai/DeepSeek-OCR&#8221;
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModel.from_pretrained(
    model_name, 
    trust_remote_code=True,
    _attn_implementation=&#8217;flash_attention_2&#8217;,
    use_safetensors=True
)
model = model.eval().cuda().to(torch.bfloat16)</code></pre><p>Here we can use <code>trust_remote_code=True</code> because DeepSeek provides custom model code. We also move the model to GPU and use <code>bfloat16</code> for speed (supported on recent GPUs)</p><h2><strong>Loading and Preprocessing the Image</strong></h2><p>DeepSeek-OCR&#8217;s inference API expects an image file. You can use JPEGs, PNGs, etc.</p><p>Let&#8217;s say we have a scanned document <code>document.jpg</code>. We can simply give the file path to the model. (Under the hood, it will use Python Imaging Library to open it.)</p><p>If you need to manipulate the image (deskew, crop, etc.), you could do that with OpenCV or PIL beforehand, but DeepSeek will handle splitting large images. Its default mode is to use a &#8220;base_size&#8221; of 1024 and an &#8220;image_size&#8221; of 640, with <code>crop_mode=True</code> &#8211; this means it will take 1024&#215;1024 crops of the page and also 640&#215;640 crops, covering the whole document.</p><p>You could adjust these parameters for different performance/accuracy trade-offs (the README notes tiny/small/base/large modes).</p><p>For simplicity, let&#8217;s just feed the image path:</p><pre><code>image_path = &#8220;path/to/document.jpg&#8221;</code></pre><h2><strong>Running Inference</strong></h2><p>Now we define a prompt and run the model.</p><p>DeepSeek uses special tokens to indicate image input. A common trick is to use the <code>&lt;|grounding|&gt;</code> token with a query like &#8220;Convert the document to markdown.&#8221; You can also use &#8220;&lt;image&gt;\nFree OCR.&#8221; for plain text output. Here&#8217;s an example:</p><pre><code>prompt = &#8220;&lt;image&gt;\n&lt;|grounding|&gt;Convert the document to markdown.&#8221;
res = model.infer(
    tokenizer,
    prompt=prompt,
    image_file=image_path,
    output_path=&#8221;ocr_output&#8221;,
    base_size=1024,
    image_size=640,
    crop_mode=True,
    save_results=True
)</code></pre><p>This runs the OCR. Behind the scenes, DeepSeek&#8217;s encoder compresses the image, then the decoder generates text. If <code>save_results=True</code>, it will write output files (by default Markdown and image PNGs) into the directory <code>ocr_output</code>. The <code>res</code> object also contains information. For example, <code>res[&#8217;text&#8217;]</code> will have the recognized text. (You can omit <code>output_path</code> and <code>save_results</code> if you just want the Python return value.)</p><p>After calling <code>model.infer</code>, you might print or examine the result:</p><pre><code>print(res[&#8217;text&#8217;][:200])  # print the first 200 characters</code></pre><p>You should see text that closely matches the contents of your scanned page, possibly with Markdown formatting (headers, bullet points) if you used the Markdown prompt.</p><p>The <strong>deepseek-ai model card</strong> on Hugging Face shows very similar code examples, confirming this usage</p><h2><strong>Post-Processing and Exporting Results</strong></h2><p>Once you have the text, you can clean it up or export it. For example, write it to a file:</p><pre><code>with open(&#8221;recognized_text.md&#8221;, &#8220;w&#8221;) as f:
    f.write(res[&#8217;text&#8217;])</code></pre><p>Because we asked for Markdown, the output may contain <code>#</code> for headings, lists, or even images if they were in the document. You can also post-process to plain text if needed (strip extra markup or fix hyphenation). OCR isn&#8217;t perfect: you might see minor errors or formatting issues, especially on low-quality scans or odd layouts. Common fixes include spell-checking, using a vocabulary to correct misrecognized words, or manual review.</p><p>DeepSeek-OCR even provides vocabulary/&#8221;whitelist&#8221; options in advanced use (see the code samples using <code>SamplingParams</code> in the GitHub repo). But for many uses, a simple clean save is enough.</p><p>Finally, you can use the text however you need: index it in a search engine, feed it to another AI, or just read it on the screen. For instance, you could do:</p><pre><code>print(&#8221;### Extracted Text:\n\n&#8221; + res[&#8217;text&#8217;])</code></pre><h2><strong>Implement Deepseek-OCR Paper:</strong></h2><p>This below is the project structure of the research paper implementation in smaller level. You can check out my github repo here:</p><blockquote><p><em><strong><a href="https://github.com/Ramakm/Deepseek-OCR">https://github.com/Ramakm/Deepseek-OCR</a></strong></em></p></blockquote><p>Deepseek-OCR/<br>&#9500;&#9472;&#9472; configs/ # Model and mode configurations<br>&#9474; &#9500;&#9472;&#9472; model.yaml<br>&#9474; &#9492;&#9472;&#9472; modes.yaml<br>&#9500;&#9472;&#9472; models/ # Model implementations<br>&#9474; &#9500;&#9472;&#9472; deepencoder/<br>&#9474; &#9474; &#9500;&#9472;&#9472; sam_stage.py # Window attention stage<br>&#9474; &#9474; &#9500;&#9472;&#9472; compressor.py # 16&#215; token compressor<br>&#9474; &#9474; &#9500;&#9472;&#9472; clip_stage.py # Global attention stage<br>&#9474; &#9474; &#9492;&#9472;&#9472; deepencoder.py # Full encoder<br>&#9474; &#9500;&#9472;&#9472; decoders/<br>&#9474; &#9474; &#9500;&#9472;&#9472; lm_decoder.py # LM decoder<br>&#9474; &#9474; &#9492;&#9472;&#9472; moe_layers.py # MoE (optional)<br>&#9474; &#9492;&#9472;&#9472; ocr_model.py # End-to-end model<br>&#9500;&#9472;&#9472; utils/ # Utilities<br>&#9474; &#9500;&#9472;&#9472; image_io.py # Image loading &amp; preprocessing<br>&#9474; &#9500;&#9472;&#9472; metrics.py # CER, WER metrics<br>&#9474; &#9500;&#9472;&#9472; prompts.py # OCR prompts<br>&#9474; &#9492;&#9472;&#9472; &#8230;<br>&#9500;&#9472;&#9472; scripts/ # Training &amp; inference<br>&#9474; &#9500;&#9472;&#9472; infer.py<br>&#9474; &#9500;&#9472;&#9472; train_encoder.py<br>&#9474; &#9492;&#9472;&#9472; train_ocr.py<br>&#9500;&#9472;&#9472; evaluation/ # Evaluation scripts<br>&#9474; &#9500;&#9472;&#9472; evaluate_ocr.py<br>&#9474; &#9492;&#9472;&#9472; baselines/<br>&#9474; &#9500;&#9472;&#9472; tesseract_eval.py<br>&#9474; &#9492;&#9472;&#9472; paddle_eval.py<br>&#9500;&#9472;&#9472; demo/ # Demo application<br>&#9474; &#9492;&#9472;&#9472; app.py<br>&#9500;&#9472;&#9472; data/ # Data directory<br>&#9492;&#9472;&#9472; docs/ # Documentation<br>&#9492;&#9472;&#9472; ARCHITECTURE.md</p><p>Remember, I remove my dataset from opensource. Your work is to:</p><ol><li><p>Add training data and run Stage 1 + 2 training</p></li><li><p>Test on sample images using the inference script</p></li><li><p>Evaluate against Tesseract/PaddleOCR baselines</p></li><li><p>Launch demo with <code>python demo/app.py</code></p></li><li><p>Scale up by upgrading to larger backbones (Swin-B, CLIP-L, LLaMA)</p></li></ol><p>Any help, just comment here. All the best for implementation of this.</p><p></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share&quot;,&quot;text&quot;:&quot;Share Growtechie &quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share Growtechie </span></a></p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/when-machines-learn-to-read-deepseek/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/p/when-machines-learn-to-read-deepseek/comments"><span>Leave a comment</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[How Do AI Chips Work? (Neural Engines)]]></title><description><![CDATA[Running a complex neural network on your phone should have been impossible.]]></description><link>https://growtechie.substack.com/p/how-do-ai-chips-work-neural-engines</link><guid isPermaLink="false">https://growtechie.substack.com/p/how-do-ai-chips-work-neural-engines</guid><pubDate>Wed, 03 Sep 2025 03:41:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!90ap!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb010826d-53d0-4e86-b5dd-84bfc23d0887_1920x1080.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Running a complex neural network on your phone should have been impossible. After all, these models require millions (or even billions) of calculations, and doing that on a traditional CPU would be painfully slow and drain your battery in minutes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!90ap!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb010826d-53d0-4e86-b5dd-84bfc23d0887_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!90ap!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb010826d-53d0-4e86-b5dd-84bfc23d0887_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!90ap!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb010826d-53d0-4e86-b5dd-84bfc23d0887_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!90ap!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb010826d-53d0-4e86-b5dd-84bfc23d0887_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!90ap!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb010826d-53d0-4e86-b5dd-84bfc23d0887_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!90ap!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb010826d-53d0-4e86-b5dd-84bfc23d0887_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b010826d-53d0-4e86-b5dd-84bfc23d0887_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1088831,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://growtechie.substack.com/i/172638587?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb010826d-53d0-4e86-b5dd-84bfc23d0887_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!90ap!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb010826d-53d0-4e86-b5dd-84bfc23d0887_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!90ap!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb010826d-53d0-4e86-b5dd-84bfc23d0887_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!90ap!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb010826d-53d0-4e86-b5dd-84bfc23d0887_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!90ap!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb010826d-53d0-4e86-b5dd-84bfc23d0887_1920x1080.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>So how is it that your smartphone today can run AI tasks like real-time photo enhancement, voice recognition, or AR effects so effortlessly?</p><p>The answer lies in a new category of processors: <strong>Neural Processing Units (NPUs), </strong>or what Apple calls the <strong>Neural Engine</strong>.</p><h2><strong>The Problem With Old Chips</strong></h2><p>Neural networks are powered by math; specifically, endless streams of <strong>matrix multiplications</strong>. Unfortunately, this math was a terrible fit for traditional processors.</p><p>&#10148; <strong>CPUs</strong> excel at <em>complex, one-at-a-time</em> tasks. Perfect for logic-heavy programs, terrible for repetitive math.</p><p>&#10148; <strong>GPUs</strong> improved things with parallelism, but they&#8217;re still built as general-purpose graphics engines, carrying overhead not needed for AI.</p><p>Both were good enough for early AI experiments, but they were never designed for the kind of scale modern neural networks demand.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h80W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5347cfbd-171e-4266-8bf9-77ae50fbb23c_1400x984.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h80W!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5347cfbd-171e-4266-8bf9-77ae50fbb23c_1400x984.png 424w, https://substackcdn.com/image/fetch/$s_!h80W!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5347cfbd-171e-4266-8bf9-77ae50fbb23c_1400x984.png 848w, https://substackcdn.com/image/fetch/$s_!h80W!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5347cfbd-171e-4266-8bf9-77ae50fbb23c_1400x984.png 1272w, https://substackcdn.com/image/fetch/$s_!h80W!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5347cfbd-171e-4266-8bf9-77ae50fbb23c_1400x984.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!h80W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5347cfbd-171e-4266-8bf9-77ae50fbb23c_1400x984.png" width="1400" height="984" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5347cfbd-171e-4266-8bf9-77ae50fbb23c_1400x984.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:984,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!h80W!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5347cfbd-171e-4266-8bf9-77ae50fbb23c_1400x984.png 424w, https://substackcdn.com/image/fetch/$s_!h80W!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5347cfbd-171e-4266-8bf9-77ae50fbb23c_1400x984.png 848w, https://substackcdn.com/image/fetch/$s_!h80W!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5347cfbd-171e-4266-8bf9-77ae50fbb23c_1400x984.png 1272w, https://substackcdn.com/image/fetch/$s_!h80W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5347cfbd-171e-4266-8bf9-77ae50fbb23c_1400x984.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>The Rise of the Neural Processing Unit</strong></h2><p>Enter the <strong>NPU</strong>, a third pillar of computing. Unlike CPUs and GPUs, NPUs shed general-purpose design and focus entirely on one job: running neural networks as efficiently as possible.</p><p>How?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sjyl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f73e9b-c5c5-4c31-a729-c7f940a46b66_1400x685.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sjyl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f73e9b-c5c5-4c31-a729-c7f940a46b66_1400x685.png 424w, https://substackcdn.com/image/fetch/$s_!sjyl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f73e9b-c5c5-4c31-a729-c7f940a46b66_1400x685.png 848w, https://substackcdn.com/image/fetch/$s_!sjyl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f73e9b-c5c5-4c31-a729-c7f940a46b66_1400x685.png 1272w, https://substackcdn.com/image/fetch/$s_!sjyl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f73e9b-c5c5-4c31-a729-c7f940a46b66_1400x685.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sjyl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f73e9b-c5c5-4c31-a729-c7f940a46b66_1400x685.png" width="1400" height="685" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d8f73e9b-c5c5-4c31-a729-c7f940a46b66_1400x685.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:685,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sjyl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f73e9b-c5c5-4c31-a729-c7f940a46b66_1400x685.png 424w, https://substackcdn.com/image/fetch/$s_!sjyl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f73e9b-c5c5-4c31-a729-c7f940a46b66_1400x685.png 848w, https://substackcdn.com/image/fetch/$s_!sjyl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f73e9b-c5c5-4c31-a729-c7f940a46b66_1400x685.png 1272w, https://substackcdn.com/image/fetch/$s_!sjyl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f73e9b-c5c5-4c31-a729-c7f940a46b66_1400x685.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#10148; <strong>Dedicated hardware (MAC units):</strong> The chip is packed with thousands of tiny circuits whose sole job is to <em>multiply two numbers and add them to a total</em>. This is the essence of matrix multiplication.</p><p>&#10148; <strong>Systolic arrays:</strong> Instead of constantly pulling data from slow memory, systolic arrays <em>pipeline</em> data through the chip in rhythmic flows. This reuses data efficiently and avoids the memory bottleneck that plagues CPUs and GPUs.</p><p>&#10148; <strong>Low-precision arithmetic:</strong> Neural networks don&#8217;t need full 32-bit precision. By using formats like FP16 (16-bit floating point), NPUs double performance and halve memory use with almost no impact on accuracy.</p><p>Put simply, NPUs are <strong>factories for matrix math</strong>, and that makes them game-changers for AI.</p><h2><strong>Apple&#8217;s Secret Advantage</strong></h2><p>The most famous NPU today is the <strong>Apple Neural Engine (ANE)</strong>. But what makes it special isn&#8217;t just raw power; it&#8217;s how deeply it&#8217;s integrated into Apple Silicon.</p><p>Apple designed the ANE as part of a tightly integrated SoC (System on Chip), where every component works together. Here&#8217;s why that matters:</p><p>&#10148; <strong>Workload offloading:</strong> By pushing AI inference to the ANE, the CPU and GPU are freed up for other system tasks. This prevents stutters and saves battery.</p><p>&#10148; <strong>Unified memory architecture (UMA):</strong> Instead of separate memory pools for CPU and GPU (like traditional PCs), Apple uses one high-bandwidth memory pool accessible by <em>all</em> processors. No data copying, no wasted energy.</p><p>&#10148; <strong>System-level cache (SLC):</strong> Frequently used data is kept close to all processors, avoiding expensive trips to DRAM.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aMoK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92bfb90d-1934-415c-965f-61e24f0ac4ed_1400x963.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aMoK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92bfb90d-1934-415c-965f-61e24f0ac4ed_1400x963.png 424w, https://substackcdn.com/image/fetch/$s_!aMoK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92bfb90d-1934-415c-965f-61e24f0ac4ed_1400x963.png 848w, https://substackcdn.com/image/fetch/$s_!aMoK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92bfb90d-1934-415c-965f-61e24f0ac4ed_1400x963.png 1272w, https://substackcdn.com/image/fetch/$s_!aMoK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92bfb90d-1934-415c-965f-61e24f0ac4ed_1400x963.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aMoK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92bfb90d-1934-415c-965f-61e24f0ac4ed_1400x963.png" width="1400" height="963" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/92bfb90d-1934-415c-965f-61e24f0ac4ed_1400x963.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:963,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aMoK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92bfb90d-1934-415c-965f-61e24f0ac4ed_1400x963.png 424w, https://substackcdn.com/image/fetch/$s_!aMoK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92bfb90d-1934-415c-965f-61e24f0ac4ed_1400x963.png 848w, https://substackcdn.com/image/fetch/$s_!aMoK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92bfb90d-1934-415c-965f-61e24f0ac4ed_1400x963.png 1272w, https://substackcdn.com/image/fetch/$s_!aMoK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92bfb90d-1934-415c-965f-61e24f0ac4ed_1400x963.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This vertical integration means Apple devices don&#8217;t just perform well in benchmarks; they feel fast and efficient in real-world use.</p><h2><strong>Beyond TOPS: Real-World AI Performance</strong></h2><p>You&#8217;ll often hear chipmakers brag about &#8220;TOPS&#8221; (tera-operations per second) when marketing NPUs. While impressive, raw numbers don&#8217;t tell the full story.</p><p>The true performance of the Apple Neural Engine comes from its <strong>system-level design, </strong>the synergy of unified memory, shared cache, and workload balance across CPU, GPU, and NPU. It&#8217;s not just about how many operations per second the chip can perform, but how smoothly those operations integrate with the entire system.</p><h2><strong>Final Thoughts</strong></h2><p>The Neural Engine is more than just another chip; it represents a <strong>new pillar of computing</strong>. Alongside CPUs and GPUs, NPUs are now essential for the AI-powered experiences we take for granted every day.</p><p>Apple&#8217;s approach highlights an important truth: raw performance numbers don&#8217;t tell the whole story. Real breakthroughs come from <strong>system-level thinking</strong>, where hardware and software are designed hand-in-hand.</p><p>Without NPUs, AI on your phone would still be impractical. With them, it&#8217;s invisibly and seamlessly enhancing your photos, transcribing your voice, and powering intelligent features in the background.</p><p>The NPU turned the &#8220;impossible&#8221; into the everyday. And it&#8217;s only the beginning.</p><div><hr></div><p>Thank you for reading this. <strong>Follow me on socials</strong> for more updates, behind-the-scenes work, and personal insights:</p><ul><li><p><strong><a href="http://x.com/techwith_ram">Twitter</a></strong></p></li><li><p><strong><a href="https://www.threads.com/@techwith.ram">Threads</a></strong></p></li><li><p><strong><a href="https://www.instagram.com/techwith.ram/">Instagram</a></strong></p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/how-do-ai-chips-work-neural-engines?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/how-do-ai-chips-work-neural-engines?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/p/how-do-ai-chips-work-neural-engines?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!is-C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe711efc0-54ad-415d-a725-e823064e5ccf_1644x1208.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!is-C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe711efc0-54ad-415d-a725-e823064e5ccf_1644x1208.png 424w, https://substackcdn.com/image/fetch/$s_!is-C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe711efc0-54ad-415d-a725-e823064e5ccf_1644x1208.png 848w, https://substackcdn.com/image/fetch/$s_!is-C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe711efc0-54ad-415d-a725-e823064e5ccf_1644x1208.png 1272w, https://substackcdn.com/image/fetch/$s_!is-C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe711efc0-54ad-415d-a725-e823064e5ccf_1644x1208.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!is-C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe711efc0-54ad-415d-a725-e823064e5ccf_1644x1208.png" width="1644" height="1208" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e711efc0-54ad-415d-a725-e823064e5ccf_1644x1208.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1208,&quot;width&quot;:1644,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;TradingView chart&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="TradingView chart" title="TradingView chart" srcset="https://substackcdn.com/image/fetch/$s_!is-C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe711efc0-54ad-415d-a725-e823064e5ccf_1644x1208.png 424w, https://substackcdn.com/image/fetch/$s_!is-C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe711efc0-54ad-415d-a725-e823064e5ccf_1644x1208.png 848w, https://substackcdn.com/image/fetch/$s_!is-C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe711efc0-54ad-415d-a725-e823064e5ccf_1644x1208.png 1272w, https://substackcdn.com/image/fetch/$s_!is-C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe711efc0-54ad-415d-a725-e823064e5ccf_1644x1208.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Created with <a href="https://tradingview.com">TradingView</a></figcaption></figure></div><p></p>]]></content:encoded></item><item><title><![CDATA[How 95% of GenAI Interviews Are Structured]]></title><description><![CDATA[So you want to be a GenAI Engineer (or AI Engineer)?]]></description><link>https://growtechie.substack.com/p/how-95-of-genai-interviews-are-structured</link><guid isPermaLink="false">https://growtechie.substack.com/p/how-95-of-genai-interviews-are-structured</guid><pubDate>Fri, 29 Aug 2025 22:46:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!WYng!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3d56808-e80a-49b1-96bf-2118528aebea_1260x709.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WYng!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3d56808-e80a-49b1-96bf-2118528aebea_1260x709.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset image2-full-screen"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WYng!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3d56808-e80a-49b1-96bf-2118528aebea_1260x709.jpeg 424w, https://substackcdn.com/image/fetch/$s_!WYng!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3d56808-e80a-49b1-96bf-2118528aebea_1260x709.jpeg 848w, https://substackcdn.com/image/fetch/$s_!WYng!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3d56808-e80a-49b1-96bf-2118528aebea_1260x709.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!WYng!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3d56808-e80a-49b1-96bf-2118528aebea_1260x709.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WYng!,w_5760,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3d56808-e80a-49b1-96bf-2118528aebea_1260x709.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e3d56808-e80a-49b1-96bf-2118528aebea_1260x709.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;full&quot;,&quot;height&quot;:709,&quot;width&quot;:1260,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-fullscreen" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WYng!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3d56808-e80a-49b1-96bf-2118528aebea_1260x709.jpeg 424w, https://substackcdn.com/image/fetch/$s_!WYng!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3d56808-e80a-49b1-96bf-2118528aebea_1260x709.jpeg 848w, https://substackcdn.com/image/fetch/$s_!WYng!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3d56808-e80a-49b1-96bf-2118528aebea_1260x709.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!WYng!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3d56808-e80a-49b1-96bf-2118528aebea_1260x709.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://images.unsplash.com/photo-1717501218636-a390f9ac5957?q=80&amp;w=1932&amp;auto=format&amp;fit=crop&amp;ixlib=rb-4.1.0&amp;ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D">Image Source</a></figcaption></figure></div><p></p><p>So you want to be a <strong>GenAI Engineer</strong> (or AI Engineer)?</p><p>Great choice; it&#8217;s one of the most exciting fields right now. But let me tell you a secret: <strong>most candidates completely bomb their GenAI interviews</strong>.</p><p>Why?</p><p>Because they think building a chatbot with LangChain + Pinecone = I<strong>ndustry-ready</strong>.</p><p>Spoiler: it&#8217;s not.</p><p>Let&#8217;s break down how these interviews are usually structured, why people fail, and what you can do to stand out.</p><h2><strong>The 4 Layers of a GenAI Interview</strong></h2><p>Think of the interview process like a video game. You don&#8217;t just fight the boss, you need to get through the mini-bosses first. Each layer tests if you can move beyond being a <em>demo builder</em> to an <em>end-to-end system thinker</em>.</p><h3><strong>1. Foundations (Coding &amp; DSA)</strong></h3><p>Yes, even in GenAI roles, the basics matter.</p><p>You&#8217;ll often start with a coding round where they check:</p><p>-&gt; Arrays, strings, hashmaps, dynamic programming</p><p>-&gt; Python fluency (OOP and functional patterns)</p><p>-&gt; SQL queries (because AI without data is&#8230; useless)</p><p>You might think, &#8220;But I&#8217;m here to work on LLMs, not bubble sort!&#8221;</p><p><strong>True.</strong> But interviewers want to see if you can think algorithmically, optimize queries, and write clean, modular code. If you can&#8217;t pass this round, no amount of &#8220;I built a chatbot with GPT-4&#8221; will save you.</p><h3><strong>2. Machine Learning &amp; GenAI Basics</strong></h3><p>Now we&#8217;re talking! This is where the AI-specific grilling begins:</p><ul><li><p>Transformers, embeddings, and the attention mechanism</p></li><li><p>Tokenization, context windows, and latency trade-offs</p></li><li><p> Prompt engineering vs fine-tuning (when to use which)</p></li></ul><p>Many candidates can <em>use</em> an embedding API. Very few can explain <strong>what embeddings are</strong> or why their choice of chunk size and tokenizer impacts latency and cost. That&#8217;s the difference between someone who can debug a production issue and someone who&#8230; <em><strong>Googles it in panic</strong></em>.</p><h3><strong>3. System Design (GenAI / RAG / LLM Pipelines)</strong></h3><p>This is where most candidates freeze. The interviewer might say:</p><ul><li><p>Design a multilingual RAG pipeline.</p></li><li><p>Handle retrieval at scale; say 100M+ documents.</p></li><li><p>What if the OpenAI API fails? How do you design fallback orchestration?</p></li><li><p>How do you guard against hallucinations?</p></li></ul><p>It&#8217;s not about code anymore; it&#8217;s about thinking like an architect. Can you design something that works not just for 10 users, but for <strong>10 million</strong>?</p><p>This is also where terms like <strong>"hybrid search," "rerankers," "caching," and "sharding"</strong> show up. If those sound scary, don&#8217;t worry; they&#8217;re learnable.</p><p>The key is to practice thinking in <strong>trade-offs</strong>: <em><strong>latency vs accuracy, cost vs scale.</strong></em></p><h3><strong>4. End-to-End Thinking</strong></h3><p>Finally, the big picture. Imagine you&#8217;ve built this shiny GenAI pipeline. The interviewer now asks:</p><ul><li><p>How does this fit into a real product?</p></li><li><p>How would you monitor it in production?</p></li><li><p>What&#8217;s your cost optimization strategy?</p></li><li><p>How do you handle governance, compliance, and data privacy?</p></li></ul><p>Because real-world GenAI isn&#8217;t about making cool demos. It&#8217;s about shipping systems that don&#8217;t bankrupt your company, don&#8217;t hallucinate into lawsuits, and actually create business value.</p><h2><strong>Why Candidates Fail</strong></h2><p>Here&#8217;s the brutal truth: After speaking with lots of guys over Twitter Spaces, I got to know that most of the guys preparing for GenAI interviews get stuck at the <em>toy demo</em> level. They build a chatbot with LangChain and Pinecone and think that&#8217;s enough to impress. It&#8217;s not.</p><p>When the real interview comes, they stumble because they don&#8217;t understand the trade-offs that matter in production, things like balancing latency with accuracy or optimizing costs while scaling to millions of users. Even worse, they often can&#8217;t explain why they made certain design choices in the first place.</p><p>And perhaps the biggest gap?</p><p>They never connect the dots. They know a bit of ML theory, and they know how to glue together a demo, but they can&#8217;t show how that knowledge translates into <strong>system design </strong>and, ultimately, <strong>business impact</strong>.</p><p>In short: they act like hackers, not engineers. And companies aren&#8217;t looking for hackers; they&#8217;re looking for engineers who can think end-to-end.</p><p>Best System Design Book for you is by the GOAT writer,<strong> Chip Huyen</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xgB8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6fbbbef-f246-4ac4-a2a6-6c155a9bcbbe_400x525.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xgB8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6fbbbef-f246-4ac4-a2a6-6c155a9bcbbe_400x525.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xgB8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6fbbbef-f246-4ac4-a2a6-6c155a9bcbbe_400x525.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xgB8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6fbbbef-f246-4ac4-a2a6-6c155a9bcbbe_400x525.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xgB8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6fbbbef-f246-4ac4-a2a6-6c155a9bcbbe_400x525.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xgB8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6fbbbef-f246-4ac4-a2a6-6c155a9bcbbe_400x525.jpeg" width="400" height="525" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b6fbbbef-f246-4ac4-a2a6-6c155a9bcbbe_400x525.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:525,&quot;width&quot;:400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!xgB8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6fbbbef-f246-4ac4-a2a6-6c155a9bcbbe_400x525.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xgB8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6fbbbef-f246-4ac4-a2a6-6c155a9bcbbe_400x525.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xgB8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6fbbbef-f246-4ac4-a2a6-6c155a9bcbbe_400x525.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xgB8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6fbbbef-f246-4ac4-a2a6-6c155a9bcbbe_400x525.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Find books like these which will be helpful to you for Data Science or AI/ML Engineering interviews <strong><a href="https://topmate.io/ramakrushna_mohapatra/1616280?utm_source=public_profile&amp;utm_campaign=ramakrushna_mohapatra">here</a>. </strong>The list is having lots of books pdfs, interviews materials, cheat-sheets and many more class notes.<strong> Go grab it now. </strong></p><h2><strong>How to Actually Stand Out</strong></h2><p>The good news? You don&#8217;t need a PhD or a decade of research experience to shine in a GenAI interview. What you need is <strong>clarity, structure, and practice</strong>.</p><p>Start by mastering the basics: <strong>embeddings, retrieval, chunking strategies, and rerankers</strong>. It&#8217;s not enough to just use them; you should understand them deeply. If you can clearly explain, for <strong>example</strong>,</p><blockquote><p>why you&#8217;d use cosine similarity instead of dot product in a retrieval setup, you&#8217;re already ahead of most candidates.</p></blockquote><p>Next, show system design thinking. Don&#8217;t just describe how you&#8217;d chain APIs together. Practice sketching real pipelines, adding caching, hybrid search, and monitoring into your designs. Even if you do it on paper, interviewers notice when you think like an architect instead of a scriptwriter.</p><p>Equally important: learn to <strong>tell a story</strong>. Don&#8217;t dump jargon. Instead, walk the interviewer through your thought process: <em><strong>&#8220;Here&#8217;s the problem, here&#8217;s my design, here&#8217;s how it scales, and here are the trade-offs I considered.&#8221;</strong></em></p><p>That kind of structured explanation makes people lean forward and actually listen.</p><p>Finally, practice with real-world scenarios. Think about how you&#8217;d design a multilingual RAG system, or how you&#8217;d orchestrate workflows with <strong>n8n</strong> or <strong>LangGraph</strong>. Consider pipelines that are cost-aware and resilient when APIs fail. The goal is to step beyond &#8220;demo-land&#8221; and into the mindset of solving real problems that companies face.</p><h2><strong>My &#8220;Gyan&#8221; [Thoughts]</strong></h2><p>Let&#8217;s be honest, no company is paying six figures just for another<strong> &#8220;Hello World chatbot.&#8221; </strong>They&#8217;re paying for systems that can survive real users, real data, and real CFOs asking, &#8220;Why <em>did our bill triple last night?&#8221;</em></p><p>So don&#8217;t just memorize answers. Build your story, think like an architect, and show that you can connect the dots from <strong>ML theory &#8594; system design &#8594; business value</strong>.</p><p>That&#8217;s the difference between being the candidate who gets a polite rejection email&#8230; and the one who makes the interviewer whisper, &#8220;Finally, someone<em> </em>who gets it.&#8221;</p><p>You know, it went well. We all learn rejections, too. But if you are reading this blog, please try to do <strong>50&#8211;60%</strong> of what I have mentioned. Thank me later here. Or if you did well, you can always thank me <strong><a href="https://buymeacoffee.com/ramakrushna">here</a></strong>.</p><div><hr></div><p>Thank you for reading this. <strong>Follow me on socials</strong> for more updates, behind-the-scenes work, and personal insights:</p><ul><li><p><strong><a href="http://x.com/techwith_ram">Twitter</a></strong></p></li><li><p><strong><a href="https://www.threads.com/@techwith.ram">Threads</a></strong></p></li><li><p><strong><a href="https://www.instagram.com/techwith.ram/">Instagram</a></strong></p><div><hr></div></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/how-95-of-genai-interviews-are-structured?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Please share this with your collegues, friends or family member if they are into this field.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/how-95-of-genai-interviews-are-structured?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/p/how-95-of-genai-interviews-are-structured?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><div class="poll-embed" data-attrs="{&quot;id&quot;:367986}" data-component-name="PollToDOM"></div>]]></content:encoded></item><item><title><![CDATA[Top 10 YouTube Channels to Learn AI & Machine Learning for Free]]></title><description><![CDATA[If you&#8217;re serious about breaking into AI and Machine Learning, you don&#8217;t need to spend thousands of dollars on courses.]]></description><link>https://growtechie.substack.com/p/top-10-youtube-channels-to-learn</link><guid isPermaLink="false">https://growtechie.substack.com/p/top-10-youtube-channels-to-learn</guid><pubDate>Tue, 26 Aug 2025 05:37:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hlBY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4bcbcb-dbb1-4dc6-aac8-7a7e62f494d3_1024x608.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hlBY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4bcbcb-dbb1-4dc6-aac8-7a7e62f494d3_1024x608.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hlBY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4bcbcb-dbb1-4dc6-aac8-7a7e62f494d3_1024x608.png 424w, https://substackcdn.com/image/fetch/$s_!hlBY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4bcbcb-dbb1-4dc6-aac8-7a7e62f494d3_1024x608.png 848w, https://substackcdn.com/image/fetch/$s_!hlBY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4bcbcb-dbb1-4dc6-aac8-7a7e62f494d3_1024x608.png 1272w, https://substackcdn.com/image/fetch/$s_!hlBY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4bcbcb-dbb1-4dc6-aac8-7a7e62f494d3_1024x608.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hlBY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4bcbcb-dbb1-4dc6-aac8-7a7e62f494d3_1024x608.png" width="1024" height="608" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8a4bcbcb-dbb1-4dc6-aac8-7a7e62f494d3_1024x608.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:608,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hlBY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4bcbcb-dbb1-4dc6-aac8-7a7e62f494d3_1024x608.png 424w, https://substackcdn.com/image/fetch/$s_!hlBY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4bcbcb-dbb1-4dc6-aac8-7a7e62f494d3_1024x608.png 848w, https://substackcdn.com/image/fetch/$s_!hlBY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4bcbcb-dbb1-4dc6-aac8-7a7e62f494d3_1024x608.png 1272w, https://substackcdn.com/image/fetch/$s_!hlBY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4bcbcb-dbb1-4dc6-aac8-7a7e62f494d3_1024x608.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p>If you&#8217;re serious about breaking into AI and Machine Learning, you don&#8217;t need to spend thousands of dollars on courses. Some of the best teachers, researchers, and practitioners are already sharing world-class knowledge&#8212;for free&#8212;on YouTube.</p><p>The trick? </p><p>Stay consistent. Treat it like a self-paced degree: pick one channel, watch one lecture daily, and build along.</p><p>Here are <strong>10 YouTube channels every aspiring AI/ML learner should bookmark</strong> &#128071;</p><h2>1. <strong>Andrej Karpathy</strong></h2><p><a href="https://lnkd.in/g222AND5">Watch here</a><br>Andrej, former Tesla AI director and one of the brightest minds in deep learning, shares practical deep dives on neural networks, transformers, and even training models from scratch. If you want &#8220;from first principles&#8221; clarity, this is gold.</p><h2>2. <strong>sentdex (Harrison Kinsley)</strong></h2><p><a href="https://lnkd.in/g8XCJNDm">Watch here</a><br>Perfect for hands-on learners. Harrison covers everything from Python basics to advanced ML and deep learning projects. His full-length series can take you from zero to building your own applications.</p><h2>3. <strong>Sebastian Raschka</strong></h2><p><a href="https://lnkd.in/gXeU7sdZ">Watch here</a><br>Author of <em>Python Machine Learning</em> and <em>Machine Learning with PyTorch and Scikit-Learn</em>, Sebastian explains LLMs, training pipelines, and cutting-edge research with clarity.</p><h2>4. <strong>Jeremy Howard (fast.ai)</strong></h2><p><a href="https://lnkd.in/gaA7Xd2C">Watch here</a><br>Co-founder of fast.ai and creator of the famous &#8220;Practical Deep Learning for Coders&#8221; course. If you want to quickly build working AI systems with less math overhead, Jeremy&#8217;s teaching style is unmatched.</p><h2>5. <strong>MIT OpenCourseWare</strong></h2><p><a href="https://lnkd.in/gFwuuXED">Watch here</a><br>Legendary. Entire university courses&#8212;AI, ML, deep learning, linear algebra, CS&#8212;free and open. Harder to follow casually, but if you commit, this is as good as a formal MIT education.</p><h2>6. <strong>Stanford Online</strong></h2><p><a href="https://lnkd.in/gA-xugEd">Watch here</a><br>From Andrew Ng&#8217;s classic <em>Machine Learning</em> lectures to modern deep learning seminars, Stanford shares lectures straight from its classrooms. Great mix of theory and cutting-edge research.</p><h2>7. <strong>StatQuest with Josh Starmer</strong></h2><p><a href="https://lnkd.in/gD4cJ_PY">Watch here</a><br>Math and stats form the foundation of ML. Josh explains these concepts with humor, clarity, and memorable visuals. If equations scare you, StatQuest will change that.</p><h2>8. <strong>3Blue1Brown</strong></h2><p><a href="https://lnkd.in/gQ3hRqx5">Watch here</a><br>Beautiful, visual explanations of math&#8212;linear algebra, calculus, neural networks&#8212;that help you build true intuition. A must-watch for understanding <em>why</em> ML algorithms work.</p><h2>9. <strong>Krish Naik</strong></h2><p><a href="https://lnkd.in/g6iUmPnp">Watch here</a><br>Industry-focused tutorials covering end-to-end ML and deep learning projects. Krish also shares interview prep and practical career guidance for aspiring data scientists.</p><h2>10. <strong>CampusX</strong></h2><p><a href="https://lnkd.in/gXSmZkgj">Watch here</a><br>Hands-on, beginner-friendly tutorials designed for students and working professionals. Covers projects, ML workflows, and practical AI applications.</p><div><hr></div><p> YouTube is quietly the largest free AI/ML university on the planet.</p><p><strong>Action plan</strong>:</p><ul><li><p>Pick <strong>one</strong> channel.</p></li><li><p>Watch <strong>one lecture daily</strong>.</p></li><li><p>Build something small each week.</p></li></ul><p>Do this for 6&#8211;12 months, and you&#8217;ll have the equivalent of a degree&#8212;without the debt.</p><p></p><p>If you want to read books, I have a good collection of books for Data Science, AI/ML related. This list contains Books, PDF, Notes, Interview prep &amp; Cheet-sheets. </p><p><strong>Visit here: <a href="https://topmate.io/ramakrushna_mohapatra/1616280?utm_source=public_profile&amp;utm_campaign=ramakrushna_mohapatra">Books &amp; PDFs for Data Science</a></strong></p><p></p><p><strong>Follow me on socials</strong> for more updates, behind-the-scenes work, and personal insights:</p><ul><li><p><strong><a href="http://x.com/techwith_ram">Twitter</a></strong></p></li><li><p><strong><a href="https://www.linkedin.com/in/ramakrushnamohapatra/">LinkedIn</a></strong></p></li><li><p><strong><a href="https://www.instagram.com/techwith.ram/">Instagram</a></strong></p></li><li><p><strong><a href="https://www.threads.com/@techwith.ram">Threads</a></strong></p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/top-10-youtube-channels-to-learn?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/p/top-10-youtube-channels-to-learn?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/p/top-10-youtube-channels-to-learn?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div>]]></content:encoded></item><item><title><![CDATA[5-AI Repos That Will Level Up Your Skills ]]></title><description><![CDATA[If you&#8217;ve ever searched for &#8220;best AI GitHub repos&#8221; or clicked on an &#8220;awesome AI&#8221; list, you know the pain.]]></description><link>https://growtechie.substack.com/p/5-ai-repos-that-will-level-up-your</link><guid isPermaLink="false">https://growtechie.substack.com/p/5-ai-repos-that-will-level-up-your</guid><pubDate>Sun, 24 Aug 2025 05:09:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!bjRs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8108f2a7-1102-45e5-b5a1-e35ed9f1e899_1920x1080.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bjRs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8108f2a7-1102-45e5-b5a1-e35ed9f1e899_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bjRs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8108f2a7-1102-45e5-b5a1-e35ed9f1e899_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!bjRs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8108f2a7-1102-45e5-b5a1-e35ed9f1e899_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!bjRs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8108f2a7-1102-45e5-b5a1-e35ed9f1e899_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!bjRs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8108f2a7-1102-45e5-b5a1-e35ed9f1e899_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bjRs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8108f2a7-1102-45e5-b5a1-e35ed9f1e899_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8108f2a7-1102-45e5-b5a1-e35ed9f1e899_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1089424,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://growtechie.substack.com/i/171784030?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8108f2a7-1102-45e5-b5a1-e35ed9f1e899_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!bjRs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8108f2a7-1102-45e5-b5a1-e35ed9f1e899_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!bjRs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8108f2a7-1102-45e5-b5a1-e35ed9f1e899_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!bjRs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8108f2a7-1102-45e5-b5a1-e35ed9f1e899_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!bjRs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8108f2a7-1102-45e5-b5a1-e35ed9f1e899_1920x1080.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>If you&#8217;ve ever searched for <em>&#8220;best AI GitHub repos&#8221;</em> or clicked on an &#8220;awesome AI&#8221; list, you know the pain. Dozens of starred projects, endless README files, and code that either doesn&#8217;t run or hasn&#8217;t been updated since 2021.</p><p>I&#8217;ve been there. I wasted <strong>100+ hours testing, breaking, and fixing repos</strong> so you don&#8217;t have to.</p><p>Instead of dumping another giant list, I&#8217;ll share the <strong>hand-picked repositories that actually ship</strong>, why they&#8217;re worth your time, and how to approach learning from them as a beginner.</p><h2><strong>Why do repos matter more than books? [Not always]</strong></h2><p>Books are great for structured learning. But AI is moving <strong>too fast</strong>. By the time a book is published, frameworks change, APIs break, and the &#8220;latest&#8221; model is already old news.</p><p>GitHub repos, on the other hand, are living projects. They contain <strong>code you can run today</strong>, not just theory.</p><p>The catch? Most repos are messy, incomplete, or abandoned.</p><p>That&#8217;s why curating the right ones is key. If you&#8217;re a student or beginner, a single <strong>well-maintained repo can teach you more than months of scattered YouTube tutorials.</strong></p><h2><strong>Top-5 AI repos that actually ship</strong></h2><h3><strong>1. Hands-On LLMs by Paul Iusztin &amp; Maxime Labonne</strong></h3><p><strong>&#128279; <a href="https://github.com/HandsOnLLM/Hands-On-Large-Language-Models">GitHub Repo</a></strong></p><p>Forget the book. The <strong>notebooks alone are pure gold</strong>.<br>Chapter 7 on deployment saved me <em>twice</em> when I couldn&#8217;t figure out how to get a model running in production.</p><p><em><strong>Why learn it?</strong><br></em>Because <strong>deployment is where most students get stuck</strong>. Building models is one thing; serving them to real users is the real game.</p><h3><strong>2. AI Agents for Beginners by Microsoft</strong></h3><p><strong>&#128279; <a href="https://lnkd.in/efzMR5aU">GitHub Repo</a></strong></p><p>Misleading title. This is <strong>not beginner level</strong>; it&#8217;s closer to intermediate. But if you&#8217;ve played with LLMs before, you&#8217;ll love Lesson 8 on <strong>memory patterns</strong>. It&#8217;s a masterclass in building agents that actually <em>remember</em> things.</p><p><em><strong>Why learn it?<br></strong></em>Because most &#8220;chatbots&#8221; today are goldfish. Memory turns them into something closer to Jarvis.</p><h3><strong>3. GenAI Agents by Nir Diamant</strong></h3><p><strong>&#128279;<a href="https://github.com/NirDiamant/GenAI_Agents"> GitHub Repo</a></strong></p><p>This repo is <strong>90% theory, 10% working code</strong>. But that 10%? Worth cloning.<br>Think of it as a crash course in <em>how to think</em> about agents before you build them.</p><p><em><strong>Why learn it?</strong></em><br>Because copying code without understanding is useless.</p><p>Theory here = fewer headaches later.</p><h3><strong>4. Made with ML by Goku Mohandas</strong></h3><p><strong>&#128279; <a href="https://github.com/GokuMohandas/Made-With-ML">GitHub Repo</a></strong></p><p>Most people skim this repo and ignore the <strong>MLOps section</strong>. Big mistake.<br>That&#8217;s where you learn about pipelines, monitoring, and scaling; the stuff that makes AI more than a cool demo.</p><p><em><strong>Why learn it?<br></strong></em>Because employers (and investors) don&#8217;t pay for <em>models</em>. They pay for <strong>systems</strong> that work reliably.</p><h3><strong>5. Prompt Engineering Guide by Elvis S.</strong></h3><p><strong>&#128279; <a href="https://github.com/dair-ai/Prompt-Engineering-Guide">GitHub Repo</a></strong></p><p>This repo has <strong>tens of thousands of stars</strong>&#8230; And yet most people never read beyond page 3.<br>Pro tip: Skip the basics and go straight to the <strong>advanced prompt engineering</strong> section. That&#8217;s where the fun begins.</p><p><em><strong>Why learn it?<br></strong></em>Because LLMs are only as good as the prompts you feed them. This repo is like cheat codes for ChatGPT, Claude, or Gemini.</p><p>AI is evolving faster than any field we&#8217;ve seen before.</p><p>The good news? You don&#8217;t need to learn <em>everything</em>.</p><p>Pick one repo. Learn it deeply. Ship something real. That&#8217;s how you grow.</p><p>And if you&#8217;re overwhelmed by &#8220;awesome lists,&#8221; just remember:<br>I wasted lots of days, so you don&#8217;t have to.</p><p></p><p><strong>Follow me on socials</strong> for more updates, behind-the-scenes work, and personal insights:</p><ul><li><p><strong><a href="http://x.com/techwith_ram">Twitter</a></strong></p></li><li><p><strong><a href="https://www.instagram.com/techwith.ram/">Instagram</a></strong></p></li><li><p><strong><a href="https://www.threads.com/@techwith.ram">Threads</a></strong></p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share&quot;,&quot;text&quot;:&quot;Share Growtechie &quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share Growtechie </span></a></p><div><hr></div><p></p>]]></content:encoded></item><item><title><![CDATA[Vector Databases Unlocked: Your Key Next-Gen AI Search]]></title><description><![CDATA[Vector databases store numeric &#8220;meaning&#8221; (embeddings) & let you search by similarity rather than exact text.]]></description><link>https://growtechie.substack.com/p/vector-databases-unlocked-your-key</link><guid isPermaLink="false">https://growtechie.substack.com/p/vector-databases-unlocked-your-key</guid><pubDate>Wed, 20 Aug 2025 12:21:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!smEk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebb8e68-08f9-4aac-8f98-173654811ccd_1920x1080.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!smEk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebb8e68-08f9-4aac-8f98-173654811ccd_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!smEk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebb8e68-08f9-4aac-8f98-173654811ccd_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!smEk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebb8e68-08f9-4aac-8f98-173654811ccd_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!smEk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebb8e68-08f9-4aac-8f98-173654811ccd_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!smEk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebb8e68-08f9-4aac-8f98-173654811ccd_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!smEk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebb8e68-08f9-4aac-8f98-173654811ccd_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/debb8e68-08f9-4aac-8f98-173654811ccd_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1092775,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://growtechie.substack.com/i/171463127?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebb8e68-08f9-4aac-8f98-173654811ccd_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!smEk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebb8e68-08f9-4aac-8f98-173654811ccd_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!smEk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebb8e68-08f9-4aac-8f98-173654811ccd_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!smEk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebb8e68-08f9-4aac-8f98-173654811ccd_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!smEk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebb8e68-08f9-4aac-8f98-173654811ccd_1920x1080.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In today&#8217;s AI-driven world, terms like <strong>semantic search</strong>, <strong>vector embeddings</strong>, and <strong>retrieval-augmented generation (RAG)</strong> are becoming part of everyday tech vocabulary. I follow most of the AI techies on X [Twitter]. I mean, every other day I see something related to Vector DB.</p><p><strong>Vector database</strong> &#8212; a powerful, behind-the-scenes engine that makes AI smarter, faster, and more context-aware.</p><p>In this post, I&#8217;ll walk you through what a vector database is, how it works, why it&#8217;s important, and how it compares to traditional databases. Covers the theory, compares tools, shows real use cases, and includes a practical Python tutorial using <strong>Sentence-Transformers + Qdrant</strong> (local).</p><p><em><strong>Please, your support means a lot to me. Claps would help this blog reach more people. I have spent a good amount to write this. Hopefully it reaches to all who are searching to learn Vector DB. Read my other blogs here:</strong></em></p><h1><strong>Let&#8217;s start with vectors</strong></h1><p>A <strong>vector</strong>, in the context of AI, is a numerical representation of data. It could be a sentence, an image, or even an audio clip &#8212; converted into a long list of numbers (often 100 to 1,000+ dimensions) that <em>captures its meaning or features</em>.</p><p>Let&#8217;s take an example:</p><pre><code>&#8220;Paris is the capital of France.&#8221; </code></pre><pre><code>&#8594; [0.13, 0.92, -0.34, &#8230;, 0.45]</code></pre><p>These are called <strong>embeddings</strong>, and they&#8217;re the reason LLMs can understand the <em>semantic similarity</em> between &#8220;Paris&#8221; and &#8220;London&#8221; better than just comparing strings.</p><p>But storing and searching through millions of these high-dimensional vectors isn&#8217;t what traditional databases (like MySQL or MongoDB) were built for.</p><p>That&#8217;s where <strong>vector databases</strong> come in.</p><h1><strong>What is a vector database?</strong></h1><p>A <strong>vector database</strong> is a purpose-built system designed to <strong>store, index, and search through vector embeddings</strong> efficiently &#8212; especially at scale.</p><p>Unlike traditional databases that match rows or columns, vector databases return results based on <strong>semantic similarity</strong>.</p><p>Here&#8217;s what that means:</p><ul><li><p><strong>Traditional DB:</strong> Find &#8220;apple&#8221; == &#8220;apple&#8221;</p></li><li><p><strong>Vector DB:</strong> Find &#8220;apple&#8221; &#8776; &#8220;fruit,&#8221; &#8220;granny smith,&#8221; &#8220;orchard&#8221;</p></li></ul><p>Embeddings are usually produced by models like transformers (BERT family), CLIP (for images + text), or Sentence-Transformers for sentence-level embeddings.</p><h1><strong>How vector databases actually work (indexing, ANN, distance metrics)</strong></h1><h2><strong>The core problem: nearest neighbour search</strong></h2><p>Given a query vector, find the most similar vectors in a large collection. Brute force compares the query to every vector (O(n) time) &#8212; slow when n is millions. Vector DBs solve this using <strong>Approximate Nearest Neighbour (ANN)</strong> techniques and optimized indexing.</p><h2><strong>ANN algorithms (theory, briefly)</strong></h2><p>It&#8217;s a type of nearest neighbour search and a technique used in vector databases to find data points closest to a given query point with a certain level of approximation.</p><p>Unlike exact nearest neighbour searches, ANN focuses on speed and efficiency, accepting a small degree of approximation for significantly faster results. This approach is particularly effective in high-dimensional spaces, typical in modern AI applications, where exact matching is computationally intensive.</p><p>E.g., image recognition systems. (ANN can analyze an image, convert it into a vector, and compare it to a database of image vectors.) , Music streaming services, Medical imaging.</p><p><strong>Steps involved:</strong></p><ul><li><p><strong>HNSW (Hierarchical Navigable Small World)</strong> &#8212; builds a layered proximity graph to navigate quickly from coarse to fine neighborhoods. Many modern vector DBs use HNSW as a default for its strong speed/accuracy tradeoffs.</p></li><li><p><strong>IVF (Inverted File)</strong> and <strong>Product Quantization (PQ)</strong> &#8212; commonly used in FAISS and some DBs to compress vectors and shard search space.</p></li><li><p><strong>ScaNN, Annoy, LSH</strong> &#8212; other options, chosen based on size, accuracy needs, and memory constraints.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mEiH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6be32073-338f-42b0-ac92-5955d498714f_1278x854.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mEiH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6be32073-338f-42b0-ac92-5955d498714f_1278x854.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mEiH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6be32073-338f-42b0-ac92-5955d498714f_1278x854.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mEiH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6be32073-338f-42b0-ac92-5955d498714f_1278x854.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mEiH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6be32073-338f-42b0-ac92-5955d498714f_1278x854.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mEiH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6be32073-338f-42b0-ac92-5955d498714f_1278x854.jpeg" width="1278" height="854" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6be32073-338f-42b0-ac92-5955d498714f_1278x854.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:854,&quot;width&quot;:1278,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mEiH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6be32073-338f-42b0-ac92-5955d498714f_1278x854.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mEiH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6be32073-338f-42b0-ac92-5955d498714f_1278x854.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mEiH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6be32073-338f-42b0-ac92-5955d498714f_1278x854.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mEiH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6be32073-338f-42b0-ac92-5955d498714f_1278x854.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://miro.medium.com/v2/resize:fit:1400/format:webp/1*OtKDB5QyX1LGnyuA4azGrg.png">Image Source</a></figcaption></figure></div></li></ul><h2><strong>Similarity metrics</strong></h2><p>Vectors can be represented as lists of numbers or as an orientation and a magnitude. For the easiest way to understand this, you can imagine vectors as line segments pointing in specific directions in space.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!POQb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5c4705-6a5e-411e-a9f6-a38971b3465d_1400x657.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!POQb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5c4705-6a5e-411e-a9f6-a38971b3465d_1400x657.png 424w, https://substackcdn.com/image/fetch/$s_!POQb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5c4705-6a5e-411e-a9f6-a38971b3465d_1400x657.png 848w, https://substackcdn.com/image/fetch/$s_!POQb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5c4705-6a5e-411e-a9f6-a38971b3465d_1400x657.png 1272w, https://substackcdn.com/image/fetch/$s_!POQb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5c4705-6a5e-411e-a9f6-a38971b3465d_1400x657.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!POQb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5c4705-6a5e-411e-a9f6-a38971b3465d_1400x657.png" width="1400" height="657" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8f5c4705-6a5e-411e-a9f6-a38971b3465d_1400x657.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:657,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!POQb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5c4705-6a5e-411e-a9f6-a38971b3465d_1400x657.png 424w, https://substackcdn.com/image/fetch/$s_!POQb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5c4705-6a5e-411e-a9f6-a38971b3465d_1400x657.png 848w, https://substackcdn.com/image/fetch/$s_!POQb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5c4705-6a5e-411e-a9f6-a38971b3465d_1400x657.png 1272w, https://substackcdn.com/image/fetch/$s_!POQb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5c4705-6a5e-411e-a9f6-a38971b3465d_1400x657.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>Let&#8217;s check how to calculate it?</strong></h2><p>There are several ways to calculate the similarity (or distance) between two vectors, which we call metrics. The most popular ones are:</p><p><strong>Dot Product</strong>: Obtained by multiplying corresponding elements of the vectors and then summing those products. A larger dot product indicates a greater degree of similarity.</p><p><strong>Cosine Similarity</strong>: Calculated using the dot product of the two vectors divided by the product of their magnitudes (norms). Cosine similarity of 1 implies that the vectors are perfectly aligned, while a value of 0 indicates no similarity. A value of -1 means they are diametrically opposed (or dissimilar).</p><p><strong>Euclidean Distance</strong>: Assuming two vectors act like arrows in vector space, Euclidean distance calculates the length of the straight line connecting the heads of these two arrows. The smaller the Euclidean distance, the greater the similarity.</p><p><strong>Manhattan Distance</strong>: Also known as taxicab distance, it is calculated as the total distance between the two vectors in a vector space, if you follow a grid-like path. The smaller the Manhattan distance, the greater the similarity.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bn4C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff858e5aa-5dab-436e-a230-cf6a6faf2bbc_1400x1482.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bn4C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff858e5aa-5dab-436e-a230-cf6a6faf2bbc_1400x1482.png 424w, https://substackcdn.com/image/fetch/$s_!bn4C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff858e5aa-5dab-436e-a230-cf6a6faf2bbc_1400x1482.png 848w, https://substackcdn.com/image/fetch/$s_!bn4C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff858e5aa-5dab-436e-a230-cf6a6faf2bbc_1400x1482.png 1272w, https://substackcdn.com/image/fetch/$s_!bn4C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff858e5aa-5dab-436e-a230-cf6a6faf2bbc_1400x1482.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bn4C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff858e5aa-5dab-436e-a230-cf6a6faf2bbc_1400x1482.png" width="1400" height="1482" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f858e5aa-5dab-436e-a230-cf6a6faf2bbc_1400x1482.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1482,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!bn4C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff858e5aa-5dab-436e-a230-cf6a6faf2bbc_1400x1482.png 424w, https://substackcdn.com/image/fetch/$s_!bn4C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff858e5aa-5dab-436e-a230-cf6a6faf2bbc_1400x1482.png 848w, https://substackcdn.com/image/fetch/$s_!bn4C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff858e5aa-5dab-436e-a230-cf6a6faf2bbc_1400x1482.png 1272w, https://substackcdn.com/image/fetch/$s_!bn4C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff858e5aa-5dab-436e-a230-cf6a6faf2bbc_1400x1482.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://towardsdatascience.com/wp-content/uploads/2021/03/1n97707zKau5I5libJWl_XQ.png">Image Source</a></figcaption></figure></div><p>and many more. One of the best place to know about this <strong><a href="https://towardsdatascience.com/17-types-of-similarity-and-dissimilarity-measures-used-in-data-science-3eb914d2681/">here</a></strong>.</p><h1><strong>Purpose-built vs extension-based vector databases</strong></h1><h2><strong>Purpose-built vector DBs</strong></h2><p>Examples: Qdrant, Pinecone, Weaviate, Milvus, Chroma. They:</p><ul><li><p>Optimize ingestion, indexing, filtering, and ANN out of the box.</p></li><li><p>Offer features like metadata filtering, hybrid search (vector + scalar filters), multi-vector per record, and scaling options</p></li><li><p>They are best for production RAG, recommendation engines, and high-query workloads.</p></li></ul><h2><strong>Extensions on traditional DBs</strong></h2><p>Examples: PostgreSQL + <strong>pgvector</strong>, Redis Vector Search, Elasticsearch with vector modules.</p><ul><li><p>Good if you already run PostgreSQL or Redis and want to add vector search without introducing a new system.</p></li><li><p>May trade off some ANN performance or advanced features compared to purpose-built systems. Still a smart choice for simpler use cases or when ACID compliance is critical.</p></li></ul><h1><strong>Popular systems &#8212; short, researched comparison</strong></h1><ul><li><p><strong>Pinecone</strong> &#8212; a fully managed, serverless vector DB with auto-scaling and enterprise integration. Great for RAG in production. <a href="https://www.pinecone.io/learn/search-with-pinecone/?utm_source=chatgpt.com">Pinecone</a></p></li><li><p><strong>Qdrant</strong> &#8212; open-source, Rust-based, great performance and filtering; easy local quickstart with Docker. Good for building production-ready systems while keeping control.</p></li><li><p><strong>Weaviate</strong> &#8212; open-source with a GraphQL front-end &#8212; supports built-in ML modules and knowledge-graph-style features.</p></li><li><p><strong>pgvector (Postgres)</strong> &#8212; adds vector column + similarity functions to PostgreSQL; ACID, SQL familiarity. Great for teams already in Postgres.</p></li><li><p><strong>Milvus, Chroma, and FAISS</strong> &#8212; Milvus for large distributed GPU workloads; Chroma for local LLM workflows; and FAISS is a library used inside other systems for ANN. (FAISS is not a full DB by itself but a foundational library.)</p></li></ul><h1><strong>Real-world architectures and use cases</strong></h1><ul><li><p><strong>RAG (Retrieval-Augmented Generation)</strong>: Index documents as embeddings in the vector DB; at query time, retrieve top-K documents and pass them as context to your LLM. Popular pattern for building chatbots with long context. (Pinecone + OpenAI is a common combo in tutorials.)</p></li><li><p><strong>Recommendation engines</strong>: For &#8220;people who liked this also liked&#8230;,&#8221; compute user and item embeddings and perform nearest neighbor queries.</p></li><li><p><strong>Multimodal search</strong>: CLIP embeddings for images and text allow cross-modal search (<em><strong>text &#8594; images</strong></em> and vice versa).</p></li><li><p><strong>Hybrid search</strong>: Combine vector retrieval with keyword/SQL filters (e.g., &#8220;top-10 similar articles from 2024 only&#8221;).</p></li></ul><h1><strong>HANDS-ON TUTORIAL &#8212; Build a local semantic search with Sentence-Transformers + Qdrant</strong></h1><p>This is a compact, runnable tutorial. We&#8217;ll:</p><ol><li><p>Install dependencies.</p></li><li><p>Run Qdrant locally via Docker.</p></li><li><p>Generate embeddings with Sentence-Transformers (<code>all-MiniLM-L6-v2</code>).</p></li><li><p>Index documents into Qdrant.</p></li><li><p>Query similar documents.</p></li></ol><p><strong>Why this stack?</strong> Qdrant has an excellent local quickstart and Python client; Sentence-Transformers provides easy, quality embeddings for semantic search. Both have well-documented guides.</p><p><em><strong>My Suggestion: </strong>This tutorial is local/educational. For production, consider secure managed instances, bigger models, and batching with async upload.</em></p><h2><strong>A. Setup (commands)</strong></h2><p>Run in terminal:</p><pre><code># create a virtual env (optional)
python -m venv venv
source venv/bin/activate</code></pre><pre><code># install Python libs
pip install qdrant-client sentence-transformers numpy uvicorn fastapi</code></pre><p>Start Qdrant locally (Docker recommended):</p><pre><code># start a Qdrant container (requires Docker)
docker run -p 6333:6333 -p 6334:6334 qdrant/qdrant</code></pre><h2><strong>B. Example dataset</strong></h2><p>Create a small sample corpus (Python list) &#8212; in real life you&#8217;d use articles, product descriptions, or PDFs.</p><pre><code>documents = [
    {"id": "1", "text": "How to cook perfect pancakes: recipes and tips."},
    {"id": "2", "text": "Best practices for PostgreSQL performance tuning."},
    {"id": "3", "text": "A beginner's guide to machine learning and neural networks."},
    {"id": "4", "text": "Top 10 travel destinations for food lovers in 2025."},
    {"id": "5", "text": "Understanding vector databases and semantic search."}
]</code></pre><h2><strong>C. Encoding + Uploading to Qdrant (full Python script)</strong></h2><pre><code># filename: qdrant_semantic_search.py
from qdrant_client import QdrantClient
from qdrant_client.http.models import Distance, VectorParams
from sentence_transformers import SentenceTransformer
import numpy as np</code></pre><pre><code># 1 Connect to local Qdrant
client = QdrantClient(url="http://localhost:6333")

# 2 Create collection (if not exists)
collection_name = "demo_docs"
if collection_name not in [c.name for c in client.get_collections().collections]:
    client.recreate_collection(
        collection_name=collection_name,
        vectors_config=VectorParams(size=384, distance=Distance.COSINE)  # using all-MiniLM-L6-v2 -&gt; 384 dims
    )
# 3 Load the embedding model
model = SentenceTransformer("all-MiniLM-L6-v2")  # quick, small, effective
texts = [d["text"] for d in documents]

# 4 Encode
embeddings = model.encode(texts, show_progress_bar=True, convert_to_numpy=True)

# 5 Upload (batch)
points = []
for doc, emb in zip(documents, embeddings):
    points.append({
        "id": int(doc["id"]),
        "vector": emb.tolist(),
        "payload": {"text": doc["text"]}
    })
client.upsert(collection_name=collection_name, points=points)
print("Uploaded", len(points), "documents to Qdrant.")</code></pre><ul><li><p>We used <code>all-MiniLM-L6-v2</code> (384-dim) as a fast, small model suitable for demos; Sentence-Transformers offers many models depending on accuracy vs latency needs.</p></li><li><p>A Qdrant collection was created <code>Distance.COSINE</code> to match cosine similarity, common for sentence embeddings.</p></li></ul><h2><strong>D. Querying: similarity search</strong></h2><p>Append this to <code>qdrant_semantic_search.py</code> or run as a separate snippet:</p><pre><code>query = "How do I speed up my Postgres database?"</code></pre><pre><code>q_emb = model.encode([query], convert_to_numpy=True)[0]
search_result = client.search(
    collection_name=collection_name,
    query_vector=q_emb.tolist(),
    limit=3,
    with_payload=True
)
for res in search_result:
    print(f"ID: {res.id} Score: {res.score:.4f}")
    print("Text:", res.payload.get("text"))
    print("---")</code></pre><p><strong>What to expect:</strong> The query about Postgres should return the Postgres performance document and possibly the vector-DB doc (if the embeddings put them closer). You can tune <code>limit</code> and score thresholds.</p><h2><strong>E. Optional: Improve relevance with reranking</strong></h2><p>Vector DB returns coarse candidates quickly; you can rerank the top-k using a dedicated cross-encoder or an LLM to get better ordering. This is common in production RAG pipelines (vector retrieval &#8594; reranker &#8594; LLM composition). Many tutorials (Qdrant and others) describe this pipeline pattern.</p><h1><strong>Performance tips, metrics, and monitoring (practical theory)</strong></h1><ul><li><p><strong>Index parameter tuning</strong>: HNSW has parameters like <code>ef_construction</code>, <code>m</code>, <code>ef</code> (search param) that trade throughput and recall &#8212; tune them with real queries.</p></li><li><p><strong>Batch inserts</strong>: Bulk upload vectors to avoid per-point overhead.</p></li><li><p><strong>Memory &amp; CPU</strong>: ANN indices are memory heavy; some DBs support disk-based IVF + PQ to lower memory at the cost of latency.</p></li><li><p><strong>Metrics to watch</strong>: QPS, P99 latency, recall@k, index build time, and RAM usage.</p></li><li><p><strong>Observability</strong>: Log query latencies and top-k recall vs. a small ground-truth set for automatic regression checks.</p></li></ul><h1><strong>How to pick the right DB &#8212; a practical checklist</strong></h1><ul><li><p>Do you need managed serverless scaling? (&#8594; Pinecone)</p></li><li><p>Do you want open-source control and easy local dev? (&#8594; Qdrant / Weaviate / Chroma)</p></li><li><p>Already on Postgres and need ACID? (&#8594; pgvector)</p></li><li><p>Do you need hybrid search (keyword + semantic)? (&#8594; Elasticsearch, Weaviate, others)</p></li><li><p>Budget and infra: in-memory systems (Redis) are very fast but costly; Faiss + self-hosted can be cheaper but requires expertise.</p></li></ul><p>What&#8217;s more to write now !!</p><p>Vector databases are the <em>memory</em> models of modern AI apps &#8212; they let your systems <em>remember</em> and <em>understand</em> meaning. Pick the right tool, measure results, and iterate. And hey &#8212; when your app starts recommending exactly what users want, resist the urge to whisper &#8220;I told you so&#8221; to your codebase.</p><p></p><p>Hope this blog clears some of your doubts about Vector Database. Thanks for reading this. Like, Share and Comment it for later reading.</p><p></p><p><strong>Follow me on socials</strong> for more updates, behind-the-scenes work, and personal insights:</p><ul><li><p><strong><a href="http://x.com/techwith_ram">Twitter</a></strong></p></li><li><p><strong><a href="https://www.instagram.com/techwith.ram/">Instagram</a></strong></p></li><li><p><strong><a href="https://www.threads.com/@techwith.ram">Threads</a></strong></p></li></ul>]]></content:encoded></item><item><title><![CDATA[Top 10 LLM & RAG Projects for Your AI Portfolio (2025–26) ]]></title><description><![CDATA[Retrieval-Augmented Generation (RAG) is like giving your AI a memory upgrade and a Google search bar.]]></description><link>https://growtechie.substack.com/p/top-10-llm-and-rag-projects-for-your</link><guid isPermaLink="false">https://growtechie.substack.com/p/top-10-llm-and-rag-projects-for-your</guid><dc:creator><![CDATA[aiwithram]]></dc:creator><pubDate>Fri, 08 Aug 2025 14:39:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qHtz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd49fc305-91b9-40b0-aff0-cbe7b412f85e_1024x576.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Retrieval-Augmented Generation (RAG)</strong> is like giving your AI a memory upgrade <em>and</em> a Google search bar. Instead of making up answers based on what it &#8220;thinks&#8221; it learned during training, your model can now fetch real-time, relevant info &#8212; basically, it stopped hallucinating and started citing sources.</p><p>Imagine ChatGPT but with access to your favorite bookmarks, PDFs, Slack threads, and weirdly named Google Docs you forgot existed. It&#8217;s like turning your AI into the friend who <em>actually reads the group chat history</em> before replying.</p><p>In practice, this means smarter, fresher, and far more context-aware responses. Think of an AI assistant that doesn&#8217;t just guess but double-checks its facts first (finally, some accountability in the relationship).</p><p>Below are 10 creative, beginner-friendly project ideas that combine LLMs with RAG &#8212; each with a memorable name, a pinch of purpose, and just the right amount of tech sauce.</p><p>So grab your favorite Python IDE (For me its VS code /Cursor), fire up your vector store, maybe even open up a Streamlit tab &#8212; and let your AI work overtime while your coffee gets cold.</p><p>Let&#8217;s dive in.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qHtz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd49fc305-91b9-40b0-aff0-cbe7b412f85e_1024x576.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qHtz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd49fc305-91b9-40b0-aff0-cbe7b412f85e_1024x576.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qHtz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd49fc305-91b9-40b0-aff0-cbe7b412f85e_1024x576.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qHtz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd49fc305-91b9-40b0-aff0-cbe7b412f85e_1024x576.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qHtz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd49fc305-91b9-40b0-aff0-cbe7b412f85e_1024x576.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qHtz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd49fc305-91b9-40b0-aff0-cbe7b412f85e_1024x576.jpeg" width="1024" height="576" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d49fc305-91b9-40b0-aff0-cbe7b412f85e_1024x576.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:576,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qHtz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd49fc305-91b9-40b0-aff0-cbe7b412f85e_1024x576.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qHtz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd49fc305-91b9-40b0-aff0-cbe7b412f85e_1024x576.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qHtz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd49fc305-91b9-40b0-aff0-cbe7b412f85e_1024x576.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qHtz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd49fc305-91b9-40b0-aff0-cbe7b412f85e_1024x576.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Nvidia</figcaption></figure></div><h1><strong>1. CodeWhisperer&#8212;Developer Documentation Chatbot</strong></h1><p><em><strong>Tools &amp; Technologies:</strong></em> PyPI (to load code/docs), LangChain or LlamaIndex (for document loaders and chains), FAISS or Chroma (vector store), GPT-4 / LLaMA-2 (LLM), and a simple front-end (Streamlit or a Slack bot).</p><p><strong>Step-by-Step Design:</strong></p><ol><li><p><strong>Collect docs:</strong> Scrape or download project documentation (e.g. Markdown files, API docs).</p></li><li><p><strong>Preprocess:</strong> Split large files into ~500-token chunks and generate embeddings with an embedding model.</p></li><li><p><strong>Index:</strong> Store all embeddings (with source pointers) in FAISS.</p></li><li><p><strong>Query &amp; Retrieve:</strong> When a user asks a code question, embed the query and find the top-matching doc chunks.</p></li><li><p><strong>Generate:</strong> Pass those chunks plus the question to the LLM (via LangChain) to produce a clear answer or code snippet.</p></li><li><p><strong>UI:</strong> Display the answer with highlights of source lines and allow follow-up queries.</p></li></ol><p><em><strong>Real-World Applications:</strong></em><strong> </strong>Internal developer help desk (answering API questions), onboarding chatbots for coding projects, Slack or GitHub Copilot&#8211;style assistants. <em>Bonus Upgrade Ideas:</em> Add syntax-aware parsing so it can pull actual code examples, integrate with GitHub for live code lookup, or make a VS Code extension for in-IDE help.</p><h1><strong>2. LegalEagle&#8212;AI-Powered Contract Assistant</strong></h1><p>Need to know what that confusing contract clause really means? LegalEagle is a RAG chatbot for legal docs. It loads statutes, contracts, or case law and answers questions in plain English. By searching through real laws and rulings, it helps lawyers and paralegals find relevant information quickly. (RAG is great for law because it lets the AI <strong>search through case law and statutes</strong> rather than just.)</p><p><em><strong>Tools &amp; Technologies:</strong></em> Python (PyMuPDF or pdfplumber for PDFs), OpenAI/Anthropic LLM, Pinecone or Qdrant (vector DB), LangChain or Haystack, and a React or Streamlit front-end.</p><p><strong>Step-by-Step Design Process:</strong></p><ol><li><p><strong>Data Ingestion:</strong> Upload laws, regulations, or contracts (as PDFs or text).</p></li><li><p><strong>Chunking &amp; Embedding:</strong> Split into sections/paragraphs; create embeddings.</p></li><li><p><strong>Indexing:</strong> Store embeddings in the vector DB with references to doc and page.</p></li><li><p><strong>Semantic Search:</strong> On a query (e.g., <em>&#8220;What are my rights under the privacy clause?&#8221;</em>), find top matching chunks.</p></li><li><p><strong>Answer Generation:</strong> Feed retrieved snippets to the LLM with a prompt like <em>&#8220;Based on these excerpts, what does the contract say about X?&#8221;</em></p></li><li><p><strong>UI &amp; Interaction:</strong> Show the answer and the highlighted source text, and allow &#8220;ask follow-up&#8221; or download summaries.</p></li></ol><p><em><strong>Real-World Applications:</strong></em> Law firms or compliance teams searching internal policies, consumer legal Q&amp;A chatbots, and contract review assistants.</p><p><strong>Bonus Upgrade Ideas:</strong> Add filters by jurisdiction or date, support multiple languages (e.g., GDPR in English vs. original French), implement a feedback loop to refine answers, or integrate a knowledge graph for legal entities.</p><h1><strong>3. MediGuru &#8212; AI Medical Q&amp;A Assistant</strong></h1><p>Imagine an AI that can quickly find medical advice from research papers (not a substitute for a doctor, but a very clever librarian for health info). MediGuru lets you ask questions like <em>&#8220;What are the latest COPD treatments?&#8221;</em> and it searches medical journals or guidelines to give an answer. Because healthcare knowledge changes fast, RAG is perfect here: the AI pulls <em>fresh and relevant</em> info from trusted source instead of outdated memory. It also tends to give <strong>more accurate, up-to-date</strong> answers when based on real data.</p><p><em><strong>Tools &amp; Technologies:</strong></em> LangChain (document loaders), Hugging Face/BioMed embedding model, a vector store (Chroma or Weaviate), OpenAI/GPT-4 or Claude (LLM), and a Streamlit or Flask interface.</p><p><strong>Step-by-Step Design Process:</strong></p><ol><li><p><strong>Gather Data:</strong> Pull abstracts/articles from PubMed, WHO, or hospital protocols.</p></li><li><p><strong>Preprocess:</strong> Clean text, split into sections (e.g. &#8220;Diagnosis,&#8221; &#8220;Treatment&#8221;).</p></li><li><p><strong>Embedding:</strong> Generate embeddings (BioBERT or OpenAI text-embedding).</p></li><li><p><strong>Index:</strong> Store vectors in FAISS/Pinecone with doc links.</p></li><li><p><strong>Query &amp; Retrieve:</strong> User asks a medical question; system finds relevant passages.</p></li><li><p><strong>Answering:</strong> LLM synthesizes an answer (with citations to source texts).</p></li><li><p><strong>UI:</strong> Present answer + link to sources; include disclaimers and &#8220;ask doctor&#8221; follow-ups.</p></li></ol><p><em><strong>Real-World Applications:</strong></em> Hospital knowledge bases for doctors, patient symptom checkers (non-diagnostic), medical research assistants summarizing papers.</p><p><strong>Bonus Upgrade Ideas:</strong> Enable citations (e.g. footnote journal names), fine-tune the LLM on medical Q&amp;A, add symptom checker flows, or connect to wearable data (heart rate, etc.) for personalized tips.</p><h1><strong>4. LearnBot &#8212; Personalized Tutoring Assistant</strong></h1><p>Want a study buddy? LearnBot lets students chat with an AI tutor that pulls answers from textbooks and notes. For example, if you ask <em>&#8220;Explain Newton&#8217;s second law,&#8221;</em> it can retrieve definitions or examples from science texts instead of guessing. This means the answers are <strong>accurate and domain-specific</strong> (RAG systems are known to give higher accuracy and up-to-date responses.</p><p><em><strong>Tools &amp; Technologies:</strong></em> LangChain, open educational resources (Khan Academy, Wikipedia), VectorDB (Chroma), GPT-4 or a fine-tuned open LLM, and a chat UI (Discord bot or Streamlit).</p><p><strong>Step-by-Step Design Process:</strong></p><ol><li><p><strong>Load Learning Material:</strong> Ingest textbooks, lecture notes, or Q&amp;A sets.</p></li><li><p><strong>Chunk &amp; Embed:</strong> Split chapters into bite-sized chunks, embed them.</p></li><li><p><strong>Indexing:</strong> Store vectors in the database with topic labels.</p></li><li><p><strong>Query:</strong> Student asks a question.</p></li><li><p><strong>Semantic Retrieval:</strong> Find relevant passages (e.g. from algebra or history text).</p></li><li><p><strong>Teaching Response:</strong> LLM crafts an explanation, quiz, or example problem, using the retrieved content.</p></li><li><p><strong>Feedback Loop:</strong> Allow student to ask follow-ups or rate clarity.</p></li></ol><p><em><strong>Real-World Applications:</strong></em> Online tutoring services, homework help chatbots, language learning assistants.</p><p><strong>Bonus Upgrade Ideas:</strong> Add multi-turn tutoring (track student progress in memory), generate practice quizzes, incorporate voice (so it reads answers aloud), or connect to an exam-prep database.</p><h1><strong>5. NewsDigest &#8212; News Summarizer &amp; Q&amp;A</strong></h1><p>Too many news sources, too little time? NewsDigest scans the latest articles, then uses RAG to summarize or answer questions. For instance, it could pull quotes from multiple news outlets to answer <em>&#8220;What&#8217;s happening with the global economy?&#8221;</em> By combining retrieval with generative AI, it delivers <strong>contextually rich summaries</strong> (RAG is shown to improve tasks like summarization and question.</p><p><em><strong>Tools &amp; Technologies:</strong> </em>News API or RSS scrapers, text splitters, LangChain/Arxiv-lingua (for multi-language summarization), VectorDB (FAISS/Pinecone), GPT or an open-source LLM (for summarizing), and a web dashboard.</p><p><strong>Step-by-Step Design Process:</strong></p><ol><li><p><strong>Ingest News:</strong> Collect headlines/articles from RSS feeds or APIs.</p></li><li><p><strong>Preprocess:</strong> Filter by date/keyword, clean HTML, chunk long articles.</p></li><li><p><strong>Embedding:</strong> Create vectors for each chunk.</p></li><li><p><strong>Indexing:</strong> Store embeddings chronologically.</p></li><li><p><strong>Query &amp; Retrieval:</strong> When asked a topic, fetch top related chunks from recent articles.</p></li><li><p><strong>Generate Summary:</strong> LLM writes a concise summary or bulleted list of key points.</p></li><li><p><strong>UI:</strong> Show the digest with links to source articles, allow subscription by topic or email.</p></li></ol><p><em><strong>Real-World Applications:</strong></em> News aggregation sites, market intelligence reports, daily briefing emails.</p><p><strong>Bonus Upgrade Ideas:</strong> Add sentiment analysis (positive/negative news), trend charts (using retrieved data), fact-checking against official sources, or multilingual support.</p><h1><strong>6. TripPlanner AI &#8212; Smart Travel Itinerary Generator</strong></h1><p>Wish your AI friend could plan your vacation? TripPlanner AI asks for preferences (beach, budget, dates) and scrapes travel sites, then uses RAG to compile a day-by-day itinerary. For example, it might pull hotel info and local events from up-to-date sources. This is perfect for travel planning because it can fetch real-time data (weather, flight status, etc.) instead of outdated info.</p><p><em><strong>Tools &amp; Technologies:</strong> </em>Web scrapers (for airlines, hotels, reviews), Google Maps API, LangChain (for query handling), VectorDB (Qdrant), GPT-4o (for natural language planning), and a React or mobile UI.</p><p><strong>Step-by-Step Design Process:</strong></p><ol><li><p><strong>Data Collection:</strong> Gather data on destinations (photos, attractions, transport) from TripAdvisor, Wikipedia, etc.</p></li><li><p><strong>Preprocessing:</strong> Geotag information, chunk by location or theme.</p></li><li><p><strong>Embeddings:</strong> Generate vectors for attractions, tips, reviews.</p></li><li><p><strong>Index:</strong> Store vectors with geodata.</p></li><li><p><strong>Query:</strong> User inputs &#8220;3-day London itinerary for families.&#8221;</p></li><li><p><strong>Retrieval:</strong> Pull relevant descriptions (museums, parks, restaurants).</p></li><li><p><strong>Answer Generation:</strong> LLM organizes them into a schedule with explanations. 8. <strong>UI:</strong> Display itinerary with maps and booking links.</p></li></ol><p><em><strong>Real-World Applications:</strong> </em>Travel agency chatbots, vacation planning apps, voice assistants (e.g. Alexa skill).</p><p><strong>Bonus Upgrade Ideas:</strong> Add integration with booking engines (flights, hotels), user ratings to refine suggestions, dynamic adjustment (if you stay longer, recompute), or AR features (point your camera and ask what&#8217;s nearby).</p><h1><strong>7. ShopAdvisor &#8212; E-Commerce Customer Assistant</strong></h1><p>Turn your product manuals and FAQ into a smart shopping assistant. ShopAdvisor lets customers ask questions like <em>&#8220;Does this phone case fit the iPhone 14?&#8221;</em> It then retrieves answers from product specs and reviews. In customer service, RAG <strong>pulls real product information</strong> and customer history to give tailored answers&#8212; much better than generic chatbot replies.</p><p><em><strong>Tools &amp; Technologies:</strong> </em>VectorDB (Weaviate or Pinecone), LangChain (RetrieverQA chain), product catalog data (CSV or Shopify API), GPT-4o (LLM), and a web or chat interface (Zendesk/WhatsApp).</p><p><strong>Step-by-Step Design Process:</strong></p><ol><li><p><strong>Import Product Data:</strong> Load descriptions, manuals, spec sheets.</p></li><li><p><strong>Text Splitting:</strong> Break specs/reviews into chunks.</p></li><li><p><strong>Embedding:</strong> Create embeddings and index them.</p></li><li><p><strong>Query:</strong> Customer asks a question about a product.</p></li><li><p><strong>Search:</strong> Retrieve relevant chunks (images, text).</p></li><li><p><strong>Answer &amp; Explain:</strong> LLM composes the answer and can even quote the manual.</p></li><li><p><strong>UI:</strong> Show answer plus links to product pages, let user &#8220;click to buy.&#8221;</p></li></ol><p><em><strong>Real-World Applications:</strong></em> Retail chatbots, automated FAQ pages, after-sales support (e.g. troubleshooting devices).</p><p><strong>Bonus Upgrade Ideas:</strong> Add voice support (call center), translate Q&amp;As for global customers, integrate customer account data for personalization, or upsell related products.</p><h1><strong>8. JobMate &#8212; AI Resume &amp; Interview Coach</strong></h1><p>Get hired faster with an AI career coach. JobMate ingests job descriptions and career advice articles. When you ask <em>&#8220;How do I tailor my resume for a data scientist role?&#8221;</em>, it retrieves relevant tips (skills, keywords) and even drafts bullet points. It can also simulate interview questions by finding common ones for your field.</p><p><em><strong>Tools &amp; Technologies:</strong></em> Scraped data from Indeed/LinkedIn (job posts), StackOverflow (for technical Q&amp;A), LangChain, FAISS, GPT (or an open interview-specific LLM), and a simple web app.</p><p><strong>Step-by-Step Design Process:</strong></p><ol><li><p><strong>Data Gathering:</strong> Collect sample job ads and successful resumes.</p></li><li><p><strong>Preprocessing:</strong> Extract responsibilities and required skills.</p></li><li><p><strong>Embedding:</strong> Vectorize job requirements and resume tips.</p></li><li><p><strong>Indexing:</strong> Store embeddings.</p></li><li><p><strong>Query:</strong> User inputs their profile and target role.</p></li><li><p><strong>Retrieval:</strong> Find matching skills and keywords.</p></li><li><p><strong>Generate:</strong> LLM suggests resume edits or common interview questions.</p></li><li><p><strong>UI:</strong> Let user refine answers, export resume.</p></li></ol><p><em><strong>Real-World Applications:</strong> </em>University career centers, job search platforms, talent coaching services.</p><p><strong>Bonus Upgrade Ideas:</strong> Add live practice interviews (speech-to-text), connect to LinkedIn to auto-fill info, incorporate salary trends, or use reinforcement learning to rank the best resume phrasing.</p><h1><strong>9. BrainyBinder &#8212; Personal Knowledge Base</strong></h1><p>Build your own &#8220;Second Brain.&#8221; BrainyBinder takes your notes, PDFs, and bookmarks, then lets you query your personal archive. For example, you could ask, <em>&#8220;What did I learn about neural networks in Q1?&#8221;</em> and it will fetch answers from your saved docs. The AI essentially becomes your <strong>memorial librarian</strong>, combining all sources so it never forgets.</p><p><em><strong>Tools &amp; Technologies:</strong> </em>LangChain or LlamaIndex (for various data loaders: Git, Google Docs, Markdown), a local vector store (Chroma or Qdrant), GPT-4o (LLM), and an Electron or web interface.</p><p><strong>Step-by-Step Design Process:</strong></p><ol><li><p><strong>Ingest Personal Files:</strong> Link Google Drive, Notion, or local folders.</p></li><li><p><strong>Chunk &amp; Embed:</strong> Process each document/note, generate embeddings.</p></li><li><p><strong>Index:</strong> Keep a unified knowledge graph of all topics.</p></li><li><p><strong>Query:</strong> User asks about something (project details, a past lecture, etc.).</p></li><li><p><strong>Retrieve:</strong> Find the best-matching notes or emails.</p></li><li><p><strong>Answer:</strong> LLM synthesizes a coherent summary or answer.</p></li><li><p><strong>UI:</strong> Display answer with links to original notes; allow tagging or rating.</p></li></ol><p><em><strong>Real-World Applications:</strong></em> Researchers managing literature, students organizing study materials, professionals keeping track of meetings/ideas.</p><p><strong>Bonus Upgrade Ideas:</strong> Semantic tagging and filtering (date, project), mobile sync (search on phone), proactive reminders (&#8220;You haven&#8217;t looked at this file in a month &#8212; summary?&#8221;), or multi-agent setup (one agent for each domain of knowledge).</p><h1><strong>10. ChefAI &#8212; Cooking &amp; Recipe Assistant</strong></h1><p>Never wonder what&#8217;s for dinner again! ChefAI can chat about recipes and cooking tips. You point it to your favorite cookbooks or food blogs; then ask <em>&#8220;What can I make with spinach and chickpeas?&#8221;</em> It retrieves matching recipes and even suggests tweaks (gluten-free substitutes, spice levels).</p><p><strong>Tools &amp; Technologies:</strong> Recipes dataset (Kaggle or scraped sites), OpenAI embeddings or Sentence Transformers, LangChain (for QA chains), GPT-4o or a multilingual LLM (cooking terms), and a UI (mobile app or website).</p><p><strong>Step-by-Step Design Process:</strong></p><ol><li><p><strong>Collect Recipes:</strong> Scrape recipe sites or import a recipe book (structured with ingredients/instructions).</p></li><li><p><strong>Preprocess:</strong> Normalize ingredients, split steps into sentences.</p></li><li><p><strong>Embedding:</strong> Vectorize each ingredient list or step.</p></li><li><p><strong>Index:</strong> Store in FAISS.</p></li><li><p><strong>Query:</strong> User lists available ingredients or dish ideas.</p></li><li><p><strong>Retrieve:</strong> Find similar recipes.</p></li><li><p><strong>Generate:</strong> LLM suggests a recipe or adapts one (&#8220;Add more garlic,&#8221; etc.).</p></li><li><p><strong>UI:</strong> Show recipe, nutritional info, and allow adjustments (servings, diet).</p></li></ol><p><strong>Real-World Applications:</strong> Smart kitchen assistants, diet planning apps, cooking chatbots for restaurants.</p><p><strong>Bonus Upgrade Ideas:</strong> Integrate with voice assistants (Alexa, Google Home), add pantry tracking (reminds what you have left), generate shopping lists, or convert measurements automatically.</p><p>Each of these projects demonstrates how to <strong>combine an LLM with a retrieval system</strong> to create smarter AI apps. By grounding the model in real data (via RAG), you make it more useful and trustworthy. Pick one (or two!) that excites you, and start building &#8212; your portfolio will be <em>proof</em> that you can make AI that isn&#8217;t just clever, but also <em>practical</em> and fun for 2025&#8211;26.</p><p>If you are into Data Science, AI/ML and AI Engineering field. Don&#8217;t hesitate to build different types of projects. Always try to read and make projects. Work on fresh ideas. My funda is clear: <strong>Learn-&gt; Build-&gt; Show-&gt; Get hired.</strong></p><p></p><p><strong>Thank you for reading this. Follow me here and on my socials for more such posts.</strong></p><h1><strong>Follow me on socials:</strong></h1><ul><li><p><strong>Twitter: </strong><a href="https://x.com/techwith_ram">https://x.com/techwith_ram</a></p></li><li><p><strong>LinkedIn:</strong><a href="https://www.linkedin.com/in/ramakrushnamohapatra/">https://www.linkedin.com/in/ramakrushnamohapatra/</a></p></li><li><p><strong>Thread:</strong><a href="https://www.threads.com/@techwith.ram">https://www.threads.com/@techwith.ram</a></p></li><li><p><strong>Instagram:</strong><a href="https://www.instagram.com/techwith.ram/">https://www.instagram.com/techwith.ram/</a></p><div><hr></div></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share Growtechie &quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share Growtechie </span></a></p>]]></content:encoded></item><item><title><![CDATA[Is Software Engineering Still Worth It in the Age of AI? YES ]]></title><description><![CDATA[Artificial intelligence, especially large language models (LLMs), is now capable of writing and understanding code, generating complete applications, debugging, translating between languages, and more.]]></description><link>https://growtechie.substack.com/p/is-software-engineering-still-worth</link><guid isPermaLink="false">https://growtechie.substack.com/p/is-software-engineering-still-worth</guid><dc:creator><![CDATA[aiwithram]]></dc:creator><pubDate>Wed, 30 Jul 2025 12:38:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!FEzH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10bf7c5b-03c3-4952-8e00-0cc2146fdcdf_1400x788.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FEzH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10bf7c5b-03c3-4952-8e00-0cc2146fdcdf_1400x788.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FEzH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10bf7c5b-03c3-4952-8e00-0cc2146fdcdf_1400x788.png 424w, https://substackcdn.com/image/fetch/$s_!FEzH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10bf7c5b-03c3-4952-8e00-0cc2146fdcdf_1400x788.png 848w, https://substackcdn.com/image/fetch/$s_!FEzH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10bf7c5b-03c3-4952-8e00-0cc2146fdcdf_1400x788.png 1272w, https://substackcdn.com/image/fetch/$s_!FEzH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10bf7c5b-03c3-4952-8e00-0cc2146fdcdf_1400x788.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FEzH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10bf7c5b-03c3-4952-8e00-0cc2146fdcdf_1400x788.png" width="1400" height="788" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/10bf7c5b-03c3-4952-8e00-0cc2146fdcdf_1400x788.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:788,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FEzH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10bf7c5b-03c3-4952-8e00-0cc2146fdcdf_1400x788.png 424w, https://substackcdn.com/image/fetch/$s_!FEzH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10bf7c5b-03c3-4952-8e00-0cc2146fdcdf_1400x788.png 848w, https://substackcdn.com/image/fetch/$s_!FEzH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10bf7c5b-03c3-4952-8e00-0cc2146fdcdf_1400x788.png 1272w, https://substackcdn.com/image/fetch/$s_!FEzH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10bf7c5b-03c3-4952-8e00-0cc2146fdcdf_1400x788.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Freepik</figcaption></figure></div><p>Artificial intelligence, especially large language models (LLMs), is now capable of writing and understanding code, generating complete applications, debugging, translating between languages, and more. Tools like GitHub Copilot and ChatGPT can whip up thousands of lines of code in seconds. So it&#8217;s fair to ask: <strong>Are we losing our golden ticket to job security?</strong></p><blockquote><p><em><strong>The CEO of GitHub recently said that the future of programming is natural language.</strong></em></p></blockquote><h1><strong>What AI Can Do in Programming</strong></h1><ul><li><p><strong>Generate code quickly</strong>: From CRUD apps to entire prototypes, AI can deliver.</p></li><li><p><strong>Translate languages</strong>: Need to convert JavaScript to Python? It&#8217;s a breeze.</p></li><li><p><strong>Create UIs</strong>: Front-end layouts and wireframes can be generated via prompt.</p></li><li><p><strong>Fix bugs</strong>: Minor issues can often be resolved without human help.</p></li><li><p><strong>Recognize patterns</strong>: AI excels at repetitive, pattern-driven tasks.</p></li></ul><p>I once asked ChatGPT to build a Tinder-like dating app in Python. Within seconds, I had swiping logic, user profiles, and even a mock database. The only thing it didn&#8217;t do? Find me a date.</p><h1><strong>But AI Has Limitations</strong></h1><p>Despite its superpowers, AI has serious gaps:</p><ul><li><p><strong>Lacks understanding of &#8220;why&#8221;</strong>: AI doesn&#8217;t know the business logic or the user context.</p></li><li><p><strong>Needs human judgment</strong>: Real-world problems need real-world intuition.</p></li><li><p><strong>Poor at prioritization</strong>: Long-term product thinking? Not its forte.</p></li><li><p><strong>Hallucinates</strong>: AI can confidently give you the wrong answer.</p></li></ul><p>In fact, 55% of developers today use GitHub Copilot, but only 30% accept the suggestions without changes. That means if you&#8217;re <em>not</em> using AI, you&#8217;re behind. But if you <em>always</em> trust AI, you might be in deeper trouble.</p><h1><strong>Think of AI as a Brilliant Junior Developer</strong></h1><p>AI is fast, scalable, and tireless. But it doesn&#8217;t understand vision, empathy, or nuance. It can crank out solutions, but only <em>we</em> can decide if those solutions are correct, meaningful, and ethical.</p><p>The best software engineers don&#8217;t just write code. They:</p><ul><li><p>Understand user needs</p></li><li><p>Collaborate across teams</p></li><li><p>Make tough decisions</p></li><li><p>Think strategically and ethically</p></li></ul><p>The future software engineer isn&#8217;t just a coder&#8212;they&#8217;re a system thinker, a communicator, and a leader.</p><h1><strong>Will Software Engineers Lose Their Edge?</strong></h1><p>Absolutely not. If anything, the field is evolving to be <strong>more</strong> important:</p><h1><strong>1. We Understand AI Better</strong></h1><p>We know how AI models are built, where they fail, and how to guide them safely. That knowledge is vital in every modern product.</p><h1><strong>2. We Use AI More Effectively</strong></h1><p>AI can help anyone prototype a toy app, but production-grade systems need architecture, reliability, and scalability&#8212;still a human-led effort.</p><h1><strong>3. We Make AI Better</strong></h1><p>From fine-tuning LLMs to optimizing pipelines, engineers are the ones building, maintaining, and improving AI tools.</p><p>Remember: The CEO of GitHub said the <em>future</em> is natural language programming. But we&#8217;re still the ones building that future.</p><h1><strong>The Future Role of Software Engineers</strong></h1><p>In the AI era, software engineering expands beyond code:</p><ul><li><p><strong>System Architects</strong>: Design intelligent systems that last.</p></li><li><p><strong>Ethical Technologists</strong>: Ensure tech aligns with human values.</p></li><li><p><strong>Creative Collaborators</strong>: Work with designers, marketers, and machines alike.</p></li><li><p><strong>AI Supervisors</strong>: Direct AI as a tool, not a replacement.</p></li></ul><p>Just like designers can now prototype interfaces using prompts, and marketers can analyze data without engineers, the democratization of tools means <em>engineers must rise to new challenges</em>.</p><h1><strong>How to Prepare for a Future in AI-Driven Software Engineering</strong></h1><h2><strong>Master the Fundamentals</strong></h2><p>Algorithms, data structures, and programming principles still matter&#8212;deeply.</p><h2><strong>Learn System Design</strong></h2><p>Think like a senior engineer. Build software that scales and lasts.</p><h2><strong>Go Full Stack and Beyond</strong></h2><p>Know the full software lifecycle and cross disciplines: product, UX, data, and infra.</p><h2><strong>Communicate &amp; Collaborate</strong></h2><p>People skills matter more than ever. Explain ideas. Lead teams. Solve real problems.</p><h2><strong>Use AI as a Creative Teammate</strong></h2><p>Prompt it. Debug with it. Brainstorm. Let AI handle the routine&#8212;you focus on vision.</p><h2><strong>Stay Adaptable</strong></h2><p>Languages and tools change. Learning how to learn is your real superpower.</p><h1><strong>We&#8217;re Not Just Coding the Future. We&#8217;re Leading It.</strong></h1><p>In an age when everyone can code a little, the ones who master software engineering will define the systems, tools, and societies of tomorrow. AI is raising the floor, but it&#8217;s up to us to raise the ceiling.</p><p>Software engineers will no longer just be programmers. They will be:</p><ul><li><p><strong>Visionaries</strong> defining problems worth solving</p></li><li><p><strong>Bridgers</strong> connecting tools, teams, and disciplines</p></li><li><p><strong>Leaders</strong> guiding both humans and AI</p></li></ul><p>The future won&#8217;t belong to those who code the fastest. It will belong to those who think deeply, adapt quickly, and build wisely.</p><p><strong>And that golden ticket to job security?</strong></p><p>It&#8217;s not lost.</p><p>It just changed form&#8212;and multiplied.</p><h1><strong>Follow me on socials:</strong></h1><ul><li><p><strong>Twitter: </strong><a href="https://x.com/techwith_ram">https://x.com/techwith_ram</a></p></li><li><p><strong>LinkedIn:</strong><a href="https://www.linkedin.com/in/ramakrushnamohapatra/">https://www.linkedin.com/in/ramakrushnamohapatra/</a></p></li><li><p><strong>Thread:</strong><a href="https://www.threads.com/@techwith.ram">https://www.threads.com/@techwith.ram</a></p></li><li><p><strong>Instagram:</strong><a href="https://www.instagram.com/techwith.ram/">https://www.instagram.com/techwith.ram/</a></p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie's Newsletter! Subscribe for FREE to receive new posts &amp; support our work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share Growtechie's Newsletter&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share Growtechie's Newsletter</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[MIT AI Hackathon: 9 Projects That Prove AI Can Actually Change Lives]]></title><description><![CDATA[Every year, hackathons push the boundaries of what&#8217;s possible&#8212;and this time, the MIT AI Hackathon gave us a front-row seat to the future.]]></description><link>https://growtechie.substack.com/p/mit-ai-hackathon-9-projects-that</link><guid isPermaLink="false">https://growtechie.substack.com/p/mit-ai-hackathon-9-projects-that</guid><dc:creator><![CDATA[aiwithram]]></dc:creator><pubDate>Tue, 29 Jul 2025 05:25:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!kA_r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ad88f3-b54f-481d-a00f-b544f3775364_1920x1080.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kA_r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ad88f3-b54f-481d-a00f-b544f3775364_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kA_r!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ad88f3-b54f-481d-a00f-b544f3775364_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!kA_r!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ad88f3-b54f-481d-a00f-b544f3775364_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!kA_r!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ad88f3-b54f-481d-a00f-b544f3775364_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!kA_r!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ad88f3-b54f-481d-a00f-b544f3775364_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kA_r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ad88f3-b54f-481d-a00f-b544f3775364_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/20ad88f3-b54f-481d-a00f-b544f3775364_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1128297,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://growtechie.substack.com/i/169534735?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ad88f3-b54f-481d-a00f-b544f3775364_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kA_r!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ad88f3-b54f-481d-a00f-b544f3775364_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!kA_r!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ad88f3-b54f-481d-a00f-b544f3775364_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!kA_r!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ad88f3-b54f-481d-a00f-b544f3775364_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!kA_r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ad88f3-b54f-481d-a00f-b544f3775364_1920x1080.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Every year, hackathons push the boundaries of what&#8217;s possible&#8212;and this time, the <strong>MIT AI Hackathon</strong> gave us a front-row seat to the future. From AI-powered rehab and recipe apps to wearables for the visually impaired, this event wasn&#8217;t just about flashy tech&#8212;it was about building real solutions for real human problems.</p><p>Let&#8217;s take a look at some of the standout projects&#8212;designed by students and makers across the world&#8212;that blend empathy, innovation, and artificial intelligence.</p><h1><strong>1. Rehab AI&#8212;Smarter Recovery at Home</strong></h1><p><strong>Built by:</strong> Student, USA</p><p>Imagine doing your physical therapy sessions at home&#8212;and having an AI guide correct your posture, track your progress, and send feedback to your doctor in real time.</p><p><strong>Rehab AI</strong> uses a phone or laptop camera, pose estimation models, and an LSTM neural network to monitor rehab exercises. It scores each movement and offers suggestions, making telerehab more accessible and precise&#8212;especially critical in the face of global healthcare worker shortages.</p><p><em>Why it matters:</em> Home rehab can be lonely and error-prone. This app bridges the gap between patients and professionals.</p><h1><strong>2. Kidney Buddy&#8212;A Daily Companion for CKD Patients</strong></h1><p><strong>Built by:</strong> Student, USA</p><p>Chronic Kidney Disease (CKD) patients need to track everything&#8212;from sodium intake to how they feel that day. <strong>Kidney Buddy</strong> is a friendly AI-powered assistant that simplifies this.</p><p>It offers <strong>meal planning</strong>, <strong>voice/text logging</strong>, <strong>nutrient tracking</strong>, and <strong>progress reports</strong>. Seniors were included in user testing, and doctors gave early feedback&#8212;making this more than just a student project; it&#8217;s something real patients could use.</p><p><em>Pro tip:</em> It even helps you plan meals within your dietary restrictions.</p><h1><strong>3. Move to Heal&#8212;AI Rehab by High Schoolers</strong></h1><p><strong>Built by:</strong> Students, Turkey</p><p>Yes, high schoolers built this! <strong>Move to Heal</strong> is an AI-based home rehabilitation platform with a focus on privacy-first pose tracking and real-time feedback.</p><p>It&#8217;s clean, simple, and empowering&#8212;especially for people with limited access to hospitals or physiotherapists. It also includes chatbot support and user-friendly progress tracking.</p><p><em>Next up:</em> Clinical validation to roll it out in real-world scenarios.</p><h1><strong>4. Chook (&#12385;&#12423;&#12367;)&#8212;The AI Chef That Cuts Food Waste</strong></h1><p><strong>Built by:</strong> Student, Japan</p><p>Open your fridge. See random ingredients. Snap a photo. Let <strong>Chook</strong> tell you what to cook.</p><p>Inspired by a family&#8217;s struggle with food waste, <strong>Chook</strong> turns ordinary leftovers into creative meals. It&#8217;s fast, fun, and a small solution to a massive global problem&#8212;wasted food.</p><p><em>Built with love:</em> It&#8217;s especially helpful for household cooks juggling busy days and limited ingredients.</p><h1><strong>5. Ikigai for Teens&#8212;Finding Purpose with AI</strong></h1><p><strong>Built by:</strong> Students from various countries</p><p>What if teenagers could map out their dream career paths&#8212;not just by income, but by values, interests, and impact?</p><p><strong>Ikigai for Teens</strong> is an AI-powered journaling and self-discovery app that does just that. Through voice notes and reflective prompts, teens can explore future careers, set goals, and develop confidence.</p><p><em>Why it&#8217;s brilliant:</em> It focuses on <em>who you want to be</em>, not just <em>what job pays the most</em>.</p><h1><strong>6. Happy Food&#8212;Fighting Student Loneliness</strong></h1><p><strong>Built by:</strong> Student, Japan</p><p>Not all students can attend school&#8212;some due to illness, anxiety, or family issues. <strong>Happy Food</strong> is an app that helps them connect with others in similar situations.</p><p>Students can <strong>chat securely</strong>, <strong>share experiences</strong>, and <strong>build friendships</strong>&#8212;fighting social isolation in a safe, peer-driven space.</p><p><em>Made for kids who feel alone when they shouldn&#8217;t have to be.</em></p><h1><strong>7. Vision Cap&#8212;Eyes Where There Are None</strong></h1><p><strong>Built by:</strong> Adult, India</p><p>Imagine walking with confidence while being visually impaired. The <strong>Vision Cap</strong> is a hardware solution powered by Raspberry Pi and AI cameras that detects obstacles and provides <strong>voice alerts</strong> in real-time.</p><p>It includes features like caregiver monitoring, live video sharing, and personalized learning for the user&#8217;s environment.</p><p><em>This isn&#8217;t just assistive tech&#8212;it&#8217;s freedom.</em></p><h1><strong>8. Recycle Easy&#8212;Making Recycling Easy (and Fun)</strong></h1><p><strong>Built by:</strong> Adult, Italy</p><p>Recycling shouldn&#8217;t be confusing. <strong>Recycle Easy</strong> uses a mobile app and IoT station to <strong>scan recycling codes</strong>, <strong>explain them</strong>, and <strong>direct you where to discard them</strong> based on your location.</p><p>To keep it fun, it includes <strong>gamified rewards</strong> and a <strong>memory game for kids</strong> about recycling materials.</p><p><em>Think Shazam meets Duolingo, but for trash.</em></p><h1><strong>9. Sleepfixer&#8212;Fixing the Sleep Crisis, One Night at a Time</strong></h1><p><strong>Built by:</strong> Adult, Singapore</p><p>Sleep is broken for millions of people. <strong>Sleepfixer</strong> is here to help&#8212;with AI-generated <strong>gradual sleep shift plans</strong>, <strong>habit nudges</strong>, and <strong>progress tracking</strong>.</p><p>Whether you&#8217;re a night owl or recovering from jet lag, the app builds a personalized roadmap to fix your sleep schedule over time.</p><p>Bonus: no generic advice, just AI that adapts to <em>you</em>.</p><h1><strong>Small Teams, Big Visions</strong></h1><p>These aren&#8217;t just &#8220;projects&#8221;&#8212;they&#8217;re &#8221;real<strong>solutions</strong> to everyday challenges. What stood out most was the empathy and thoughtfulness behind each idea. Students involved their families. Adults partnered with local communities.</p><p>From AI for rehab and recycling to tools for loneliness, disability, and purpose&#8212;this MIT AI Hackathon reminded us that the best tech is <strong>deeply human</strong>.</p><p><strong>Innovation doesn&#8217;t always need venture capital. Sometimes it just needs heart&#8212;and a hackathon.</strong></p><h1><strong>Follow me on socials:</strong></h1><ul><li><p><strong>Twitter: </strong><a href="https://x.com/techwith_ram">https://x.com/techwith_ram</a></p></li><li><p><strong>LinkedIn: </strong><a href="https://www.linkedin.com/in/ramakrushnamohapatra/">https://www.linkedin.com/in/ramakrushnamohapatra/</a></p></li><li><p><strong>Thread: </strong><a href="https://www.threads.com/@techwith.ram">https://www.threads.com/@techwith.ram</a></p></li><li><p><strong>Instagram: </strong><a href="https://www.instagram.com/techwith.ram/">https://www.instagram.com/techwith.ram/</a></p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Growtechie's Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://growtechie.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share&quot;,&quot;text&quot;:&quot;Share Growtechie's Newsletter&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://growtechie.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share Growtechie's Newsletter</span></a></p><p></p>]]></content:encoded></item></channel></rss>