<?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[The Nerd Nook: Project X]]></title><description><![CDATA[Every month, we'll explore an exciting Python project together, breaking it down step by step. 

Whether you're just starting out or you're an experienced coder, our clear instructions make it easy for everyone to understand and have fun with even the most challenging projects.]]></description><link>https://www.thenerdnook.io/s/project-x</link><image><url>https://substackcdn.com/image/fetch/$s_!zL-o!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7c1bd85-29f2-4cb8-a122-b8303574c3ee_750x750.png</url><title>The Nerd Nook: Project X</title><link>https://www.thenerdnook.io/s/project-x</link></image><generator>Substack</generator><lastBuildDate>Sun, 03 May 2026 02:16:13 GMT</lastBuildDate><atom:link href="https://www.thenerdnook.io/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[The Nerd Nook]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[zerotoknowing@gmail.com]]></webMaster><itunes:owner><itunes:email><![CDATA[zerotoknowing@gmail.com]]></itunes:email><itunes:name><![CDATA[Josh Wenner]]></itunes:name></itunes:owner><itunes:author><![CDATA[Josh Wenner]]></itunes:author><googleplay:owner><![CDATA[zerotoknowing@gmail.com]]></googleplay:owner><googleplay:email><![CDATA[zerotoknowing@gmail.com]]></googleplay:email><googleplay:author><![CDATA[Josh Wenner]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Project X #20 ~ Build an AI-Powered CV Reviewer in Python — Step-by-Step Project]]></title><description><![CDATA[Learn how to build an AI-powered r&#233;sum&#233; reviewer with Python and OpenAI &#8212; extract text from PDFs, summarize key skills, and automate CV analysis in minutes.]]></description><link>https://www.thenerdnook.io/p/build-an-ai-powered-cv-reviewer</link><guid isPermaLink="false">https://www.thenerdnook.io/p/build-an-ai-powered-cv-reviewer</guid><dc:creator><![CDATA[Josh Wenner]]></dc:creator><pubDate>Sat, 01 Nov 2025 14:02:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!W5eI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8fbbce3-3de5-45ed-a20a-5ab04184b0b9_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Most people think an AI-powered resume reviewer sounds like something only big companies or expensive SaaS tools could pull off. But that&#8217;s the furthest from the truth.</p><p>Under it all, it&#8217;s actually a simple, developer-friendly idea you can build in a single afternoon.  That is the whole point of this project.</p><p>All it really does is read a PDF, extract the text, break it into smaller chunks, send each one to a language model with clear instructions, and then stitch the results back together into something a human can understand. That&#8217;s it.</p><p><strong>In this project</strong>, we&#8217;ll build that exact system from scratch and see why it&#8217;s such a great learning project. </p><p>Along the way, you&#8217;ll learn how prompt design shapes the model&#8217;s behavior and how one small change can turn a generic summarizer into a resume-specific reviewer.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!W5eI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8fbbce3-3de5-45ed-a20a-5ab04184b0b9_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!W5eI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8fbbce3-3de5-45ed-a20a-5ab04184b0b9_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!W5eI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8fbbce3-3de5-45ed-a20a-5ab04184b0b9_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!W5eI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8fbbce3-3de5-45ed-a20a-5ab04184b0b9_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!W5eI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8fbbce3-3de5-45ed-a20a-5ab04184b0b9_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!W5eI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8fbbce3-3de5-45ed-a20a-5ab04184b0b9_1280x720.png" width="625" height="351.5625" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d8fbbce3-3de5-45ed-a20a-5ab04184b0b9_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:625,&quot;bytes&quot;:93690,&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://www.thenerdnook.io/i/177526825?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8fbbce3-3de5-45ed-a20a-5ab04184b0b9_1280x720.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_!W5eI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8fbbce3-3de5-45ed-a20a-5ab04184b0b9_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!W5eI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8fbbce3-3de5-45ed-a20a-5ab04184b0b9_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!W5eI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8fbbce3-3de5-45ed-a20a-5ab04184b0b9_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!W5eI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8fbbce3-3de5-45ed-a20a-5ab04184b0b9_1280x720.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><em><strong><a href="https://thenerdnook.substack.com/s/project-x?utm_source=substack&amp;utm_medium=menu">Welcome to Project X</a></strong> &#8211; where dreams meet code! Dive into creativity as I guide you through the creation of a captivating project, step by step, in each monthly edition. From conceptualization to execution. Join premium today!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p><strong>By the end of this project</strong>, you&#8217;ll have a Python script that you can upload your own CV to and get a broken down response that takes everything and summarises it in real-time.</p><p>Along the way, you&#8217;ll learn not just how to build out an awesome project but I also hope to show you guys my thought process. You&#8217;ll get to work with instrumental libraries such as <code>PyPDF2</code>, <code>OpenAI</code>, <code>pathlib</code>, and many more!</p><p>And don&#8217;t worry if this is your first time using OpenAI in code. I&#8217;ll walk you through every step so you can follow along without feeling lost.</p><p>Before we start, make sure you have these packages installed:</p><pre><code><code>pip3 install pypdf2 openai</code></code></pre><p>Side note, you will need to get your own OpenAI API which you can get on their site for this project to work. But it&#8217;s worth it because you can start building more with AI once you have one.</p><p>I&#8217;ll link the previous Project X, <a href="https://www.thenerdnook.io/p/project-x-19">Build a Beginner-Friendly Reddit Web Scraper with BeautifulSoup</a><strong> </strong>for future reference.</p><p>&#128073; Premium readers can access the <strong>Video</strong> and <strong>Source Code</strong>.</p><p>&#128073; Gain access to my <strong>full article archive</strong>.</p><p><em>&#128073; <strong>Recommend projects</strong> at the bottom.</em></p><p>These projects take a lot of time and resources for me to craft in a way that I can present them and share them for you all.</p><p><strong>Thank you</strong> for allowing me to do work that I find meaningful. This is my full-time job so I hope you will support me!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>&#128073; <em>If you value projects like this one, please leave it a &#10084;&#65039; and share it with others. This helps more people discover these projects, which helps me out!</em></p><p>I&#8217;ve linked the Git repo and a full video to this project as always at the bottom. So if you&#8217;re ready to create something interactive, useful, and fun, let&#8217;s dive in&#8212;we&#8217;re just getting started!</p><p><strong>P.S </strong>- Will you learn Python? <strong><a href="https://www.zerotoknowing.com/join-now">Join my Python Masterclass Here</a>.</strong></p>
      <p>
          <a href="https://www.thenerdnook.io/p/build-an-ai-powered-cv-reviewer">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Project X #19 ~ Build a Beginner-Friendly Reddit Web Scraper with BeautifulSoup]]></title><description><![CDATA[Learn how to scrape Reddit with Python, extract Python topics and discussions, and save data to JSON & CSV&#8212;step-by-step guide for beginners.]]></description><link>https://www.thenerdnook.io/p/project-x-19</link><guid isPermaLink="false">https://www.thenerdnook.io/p/project-x-19</guid><dc:creator><![CDATA[Josh Wenner]]></dc:creator><pubDate>Sat, 04 Oct 2025 14:01:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yOYq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5885ea73-af56-4b18-b098-e0374262fc89_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you&#8217;ve spent any time learning Python, you probably noticed something fast: Python is everywhere. It runs websites, automates boring tasks, analyzes data, powers machine learning models, and a boat load of other things.</p><p>One of the more practical ways to use Python, especially if you&#8217;re just starting out, is web scraping. This means automatically collecting data from websites.</p><p><strong>In this project</strong>, we&#8217;re going to build out a Reddit web scraper using BeautifulSoup. </p><p>Reddit is one of the biggest online communities out there, full of subreddits, which are topic-specific forums covering everything from cat memes to advanced programming. </p><p>We&#8217;ll focus on three subreddits that are especially useful for anyone learning or working with Python: r/Python, r/Programming, and r/learnpython.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yOYq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5885ea73-af56-4b18-b098-e0374262fc89_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yOYq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5885ea73-af56-4b18-b098-e0374262fc89_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!yOYq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5885ea73-af56-4b18-b098-e0374262fc89_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!yOYq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5885ea73-af56-4b18-b098-e0374262fc89_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!yOYq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5885ea73-af56-4b18-b098-e0374262fc89_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yOYq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5885ea73-af56-4b18-b098-e0374262fc89_1280x720.png" width="656" height="369" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5885ea73-af56-4b18-b098-e0374262fc89_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:656,&quot;bytes&quot;:88089,&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://www.thenerdnook.io/i/175240698?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5885ea73-af56-4b18-b098-e0374262fc89_1280x720.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_!yOYq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5885ea73-af56-4b18-b098-e0374262fc89_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!yOYq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5885ea73-af56-4b18-b098-e0374262fc89_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!yOYq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5885ea73-af56-4b18-b098-e0374262fc89_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!yOYq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5885ea73-af56-4b18-b098-e0374262fc89_1280x720.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><em><strong><a href="https://thenerdnook.substack.com/s/project-x?utm_source=substack&amp;utm_medium=menu">Welcome to Project X</a></strong> &#8211; where dreams meet code! Dive into creativity as I guide you through the creation of a captivating project, step by step, in each monthly edition. From conceptualization to execution. Join premium today!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p><strong>By the end of this project</strong>, you&#8217;ll have a Python script that can visit any subreddit automatically, grab related topics and active discussions, and save everything into JSON and CSV files.</p><p>Along the way, you&#8217;ll learn not just how to write a scraper, but I also hope to show you guys my thought process too. You&#8217;ll see how to fetch HTML from a page, parse it in a way that makes sense, filter the information you actually care about, and organize it so it&#8217;s easy to analyze later.</p><p>And don&#8217;t worry if this is your first time doing something like this. I&#8217;ll walk you through every step so you can follow along without feeling lost.</p><p>Before we start, make sure you have these packages installed:</p><pre><code><code>pip3 install requests beautifulsoup4</code></code></pre><p>I&#8217;ll link the previous Project X, <a href="https://www.thenerdnook.io/p/project-x-20">Build a Secure API with FastAPI, JWT, and SQLAlchemy</a> for future reference.</p><p>&#128073; Premium readers can access the <strong>Video</strong> and <strong>Source Code</strong>.</p><p>&#128073; Gain access to my <strong>full article archive</strong>.</p><p><em>&#128073; <strong>Recommend projects</strong> at the bottom.</em></p><p>These projects take a lot of time and resources for me to craft in a way that I can present them and share them for you all.</p><p><strong>Thank you</strong> for allowing me to do work that I find meaningful. This is my full-time job so I hope you will support me!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>&#128073; <em>If you value projects like this one, please leave it a &#10084;&#65039; and share it with others. This helps more people discover these projects, which helps me out!</em></p><p>I&#8217;ve linked the Git repo and a full video to this project as always at the bottom. So if you&#8217;re ready to create something interactive, useful, and fun, let&#8217;s dive in&#8212;we&#8217;re just getting started!</p>
      <p>
          <a href="https://www.thenerdnook.io/p/project-x-19">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Project X #18 ~ How to Build a Secure API with FastAPI, JWT, and SQLAlchemy — Authentication Made Simple]]></title><description><![CDATA[Learn how to build a secure FastAPI authentication system with JWT and SQLAlchemy. Step-by-step guide to user login, token validation, and protected routes.]]></description><link>https://www.thenerdnook.io/p/project-x-20</link><guid isPermaLink="false">https://www.thenerdnook.io/p/project-x-20</guid><dc:creator><![CDATA[Josh Wenner]]></dc:creator><pubDate>Sat, 06 Sep 2025 14:00:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xCOR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44522262-0770-4c98-80c3-2ccc0cd2c8d5_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When it comes to building web apps in this day and age, authentication is always front and center. From putting together small projects for yourself or building a system meant to handle millions of users, security has to be a top priority. </p><p>Without proper authentication and access control, even the most powerful API can be an open door for attackers.</p><p><strong>In this project</strong>, we&#8217;re going to take a close look at building a secure authentication system in Python using FastAPI, JSON Web Tokens (JWT), and SQLAlchemy. </p><p>My goal for this project isn&#8217;t just to give you code that works&#8212;it&#8217;s to walk you through why each piece exists, how it functions, and what trade-offs you should be aware of. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xCOR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44522262-0770-4c98-80c3-2ccc0cd2c8d5_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xCOR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44522262-0770-4c98-80c3-2ccc0cd2c8d5_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!xCOR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44522262-0770-4c98-80c3-2ccc0cd2c8d5_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!xCOR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44522262-0770-4c98-80c3-2ccc0cd2c8d5_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!xCOR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44522262-0770-4c98-80c3-2ccc0cd2c8d5_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xCOR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44522262-0770-4c98-80c3-2ccc0cd2c8d5_1280x720.png" width="629" height="353.8125" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/44522262-0770-4c98-80c3-2ccc0cd2c8d5_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:629,&quot;bytes&quot;:101571,&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://www.thenerdnook.io/i/172059813?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44522262-0770-4c98-80c3-2ccc0cd2c8d5_1280x720.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_!xCOR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44522262-0770-4c98-80c3-2ccc0cd2c8d5_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!xCOR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44522262-0770-4c98-80c3-2ccc0cd2c8d5_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!xCOR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44522262-0770-4c98-80c3-2ccc0cd2c8d5_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!xCOR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44522262-0770-4c98-80c3-2ccc0cd2c8d5_1280x720.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><em><strong><a href="https://thenerdnook.substack.com/s/project-x?utm_source=substack&amp;utm_medium=menu">Welcome to Project X</a></strong> &#8211; where dreams meet code! Dive into creativity as I guide you through the creation of a captivating project, step by step, in each monthly edition. From conceptualization to execution. Join premium today!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p><strong>By the end</strong>, you&#8217;ll not only know how to create an authenticated API, but you&#8217;ll also have the understanding to take it further and use it in real-world applications.</p><p>FastAPI has become popular because it&#8217;s fast, easy to use, and works seamlessly with Python&#8217;s type hints. </p><p>When you pair it with SQLAlchemy for managing the database and JWT for token-based authentication, you get a modern, clean, and secure setup for building APIs. </p><p>Let&#8217;s start by looking at the overall structure of our project.</p><p>I&#8217;ll link the previous Project X, <a href="https://www.thenerdnook.io/p/project-x-17">5 Python Projects You Can Build This Weekend to Sharpen Real-World Skills</a> for future reference.</p><p>&#128073; Premium readers access the <strong>Video</strong> and <strong>Source Code</strong> at the bottom.</p><p>&#128073; Access <strong>CSS Styles</strong> for Project.</p><p>&#128073; Gain access to my <strong>full article archive</strong>.</p><p><em>&#128073; <strong>Recommend projects</strong> at the bottom.</em></p><p>These projects take a lot of time and resources for me to craft in a way that I can present them and share them for you all.</p><p><strong>Thank you</strong> for allowing me to do work that I find meaningful. This is my full-time job so I hope you will support me!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>&#128073; <em>If you value projects like this one, please leave it a &#10084;&#65039; and share it with others. This helps more people discover these projects, which helps me out!</em></p><p>I&#8217;ve linked the Git repo and a full video to this project as always at the bottom. So if you&#8217;re ready to create something interactive, useful, and fun, let&#8217;s dive in&#8212;we&#8217;re just getting started!</p>
      <p>
          <a href="https://www.thenerdnook.io/p/project-x-20">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Project X #17 ~ 5 Python Projects You Can Build This Weekend to Sharpen Real-World Skills]]></title><description><![CDATA[Build 5 beginner-friendly Python projects that teach real-world skills&#8212;fast. Stop getting stuck in tutorials and start coding things you&#8217;ll actually use.]]></description><link>https://www.thenerdnook.io/p/project-x-17</link><guid isPermaLink="false">https://www.thenerdnook.io/p/project-x-17</guid><dc:creator><![CDATA[Josh Wenner]]></dc:creator><pubDate>Sat, 02 Aug 2025 14:02:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!uBgM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa255d948-2c8f-4594-bbd9-ce7063b8bbe6_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>At some point, we all hit the same wall. You&#8217;ve watched a bunch of tutorials, maybe taken a few Udemy courses, and then suddenly you&#8217;re stuck thinking, </p><p>&#8220;Okay&#8230; now what should I actually build?&#8221;</p><p>It&#8217;s a super common feeling, I feel like this sometimes still. It&#8217;s not that you&#8217;re not motivated. It&#8217;s not even about not having enough time. You <em>want</em> to code&#8212;you just don&#8217;t know what&#8217;s actually worth building. </p><p>You&#8217;re not trying to make the next big tech startup, but you still want to work on something that feels useful. Something that helps you grow your skills without making you feel completely lost. </p><p>And ideally? Something you can actually finish this weekend.</p><p>That&#8217;s what this special edition of Project X is all about. Instead of one big project, I&#8217;m sharing five small, practical Python projects you can knock out in a weekend. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uBgM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa255d948-2c8f-4594-bbd9-ce7063b8bbe6_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uBgM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa255d948-2c8f-4594-bbd9-ce7063b8bbe6_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!uBgM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa255d948-2c8f-4594-bbd9-ce7063b8bbe6_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!uBgM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa255d948-2c8f-4594-bbd9-ce7063b8bbe6_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!uBgM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa255d948-2c8f-4594-bbd9-ce7063b8bbe6_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uBgM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa255d948-2c8f-4594-bbd9-ce7063b8bbe6_1280x720.png" width="623" height="350.4375" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a255d948-2c8f-4594-bbd9-ce7063b8bbe6_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:623,&quot;bytes&quot;:94871,&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://www.thenerdnook.io/i/169713248?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa255d948-2c8f-4594-bbd9-ce7063b8bbe6_1280x720.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_!uBgM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa255d948-2c8f-4594-bbd9-ce7063b8bbe6_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!uBgM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa255d948-2c8f-4594-bbd9-ce7063b8bbe6_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!uBgM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa255d948-2c8f-4594-bbd9-ce7063b8bbe6_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!uBgM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa255d948-2c8f-4594-bbd9-ce7063b8bbe6_1280x720.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><em><strong><a href="https://thenerdnook.substack.com/s/project-x?utm_source=substack&amp;utm_medium=menu">Welcome to Project X</a></strong> &#8211; where dreams meet code! Dive into creativity as I guide you through the creation of a captivating project, step by step, in each monthly edition. From conceptualization to execution. Join premium today!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>You are used to me releasing a monthly project here, where I take you step-by-step through the project while breaking it all down for you to understand. I love doing that, but this edition is mean&#8217;t to get you thinking live a developer on your own.</p><p>Each project below is designed to teach you something new, stretch you just a bit, and most importantly&#8212;get done fast so you can walk away with something you&#8217;re proud of.</p><p>These projects aren&#8217;t meant to land you a job or blow up on GitHub. They&#8217;re meant to get you coding, solving problems, figuring things out, and building momentum. No more overthinking. Time to just build it out!</p><p>I&#8217;ll link two videos to help you with the final, most advanced project. But I beg you, do not watch these until you have spent some time on the project and have exhausted your resources. Really try these on your own, you&#8217;ll feel so much better.</p><p>Here is the previous Project X here where we built <a href="https://www.thenerdnook.io/p/project-x-16">a Chat App with Flask and Socket IO </a>for future reference.</p><p>&#128073; Premium readers <strong>access all Projects</strong>.</p><p>&#128073; Access any<strong> Source Code </strong>for Projects.</p><p>&#128073; Gain access to my <strong>full article archive</strong>.</p><p><em>&#128073; <strong>Recommend projects</strong> at the bottom.</em></p><p>These projects take a lot of time and resources for me to craft in a way that I can present them and share them for you all.</p><p><strong>Thank you</strong> for allowing me to do work that I find meaningful. This is my full-time job so I hope you will support me!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>&#128073; <em>If you value projects like this one, please leave it a &#10084;&#65039; and share it with others. This helps more people discover these projects, which helps me out!</em></p>
      <p>
          <a href="https://www.thenerdnook.io/p/project-x-17">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Project X #16 ~ Building a Real-Time Chat App with Flask and Socket.io]]></title><description><![CDATA[Build a real-time chat app with Python Flask and Socket.IO &#8212; step-by-step guide to live messaging, chat rooms, private chats, and interactive web apps for beginners.]]></description><link>https://www.thenerdnook.io/p/project-x-16</link><guid isPermaLink="false">https://www.thenerdnook.io/p/project-x-16</guid><dc:creator><![CDATA[Josh Wenner]]></dc:creator><pubDate>Sat, 12 Jul 2025 14:01:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ZT4h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf2ecbe-d56d-4034-b3f4-b25d7ec3e7df_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Imagine a chat app where people can talk to each other live&#8212;messages show up right away, conversations are neatly organized into rooms, and private chats happen smoothly without any hiccups. </p><p>It might sound easy, but there&#8217;s actually a lot happening behind the scenes to make everything work.<strong> In this project</strong>, we&#8217;re going to walk through how to build that kind of real-time chat app from scratch using Python and JavaScript.</p><p>Whether you&#8217;re just starting out with web development or want to get better at building full-stack apps, this guide will take you through each step. </p><p>You&#8217;ll see how to use <strong>Flask</strong> with <strong>Socket.IO</strong> to handle live messaging, and how some frontend code makes it all come alive in the browser.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZT4h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf2ecbe-d56d-4034-b3f4-b25d7ec3e7df_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZT4h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf2ecbe-d56d-4034-b3f4-b25d7ec3e7df_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!ZT4h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf2ecbe-d56d-4034-b3f4-b25d7ec3e7df_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!ZT4h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf2ecbe-d56d-4034-b3f4-b25d7ec3e7df_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!ZT4h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf2ecbe-d56d-4034-b3f4-b25d7ec3e7df_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZT4h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf2ecbe-d56d-4034-b3f4-b25d7ec3e7df_1280x720.png" width="641" height="360.5625" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fdf2ecbe-d56d-4034-b3f4-b25d7ec3e7df_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:641,&quot;bytes&quot;:96934,&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://www.thenerdnook.io/i/166805281?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf2ecbe-d56d-4034-b3f4-b25d7ec3e7df_1280x720.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_!ZT4h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf2ecbe-d56d-4034-b3f4-b25d7ec3e7df_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!ZT4h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf2ecbe-d56d-4034-b3f4-b25d7ec3e7df_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!ZT4h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf2ecbe-d56d-4034-b3f4-b25d7ec3e7df_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!ZT4h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf2ecbe-d56d-4034-b3f4-b25d7ec3e7df_1280x720.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><em><strong><a href="https://thenerdnook.substack.com/s/project-x?utm_source=substack&amp;utm_medium=menu">Welcome to Project X</a></strong> &#8211; where dreams meet code! Dive into creativity as I guide you through the creation of a captivating project, step by step, in each monthly edition. From conceptualization to execution. Join premium today!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>By the time you&#8217;re done, you won&#8217;t just have a chat app that works&#8212;you&#8217;ll understand how modern web applications connect people instantly and manage complex interactions behind the scenes. </p><p>I&#8217;ll link the previous Project X here where <a href="https://www.thenerdnook.io/p/project-x-15-build-an-ai-chatbot">we built an AI Chatbot that Talks like a Human</a> for future reference.</p><p>&#128073; Premium readers access the <strong>Video</strong> and <strong>Source Code</strong> at the bottom.</p><p>&#128073; Access <strong>CSS Styles</strong> for Project.</p><p>&#128073; Gain access to my <strong>full article archive</strong>.</p><p><em>&#128073; <strong>Recommend projects</strong> at the bottom.</em></p><p>These projects take a lot of time and resources for me to craft in a way that I can present them and share them for you all.</p><p><strong>Thank you</strong> for allowing me to do work that I find meaningful. This is my full-time job so I hope you will support me!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>&#128073; <em>If you value projects like this one, please leave it a &#10084;&#65039; and share it with others. This helps more people discover these projects, which helps me out!</em></p><p>I&#8217;ve linked the Git repo and a full video to this project as always at the bottom. So if you&#8217;re ready to create something interactive, useful, and fun, let&#8217;s dive in&#8212;we&#8217;re just getting started!</p><h2>Project Overview</h2>
      <p>
          <a href="https://www.thenerdnook.io/p/project-x-16">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Project X #15 ~ Build an AI Chatbot that Talks like a Human]]></title><description><![CDATA[Build a Talking AI Chatbot with Python: Step-by-Step Guide Using Flet, OpenAI & Murf for Voice-Enabled, Interactive, Human-Like Conversations &#8212; Easy & Complete Tutorial]]></description><link>https://www.thenerdnook.io/p/project-x-15-build-an-ai-chatbot</link><guid isPermaLink="false">https://www.thenerdnook.io/p/project-x-15-build-an-ai-chatbot</guid><dc:creator><![CDATA[Josh Wenner]]></dc:creator><pubDate>Sat, 07 Jun 2025 14:01:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4qdf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3873bd8-09e3-4665-bc6d-74a74f29614c_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This month, we&#8217;re going to build out a chatbot that doesn&#8217;t just reply with text&#8212;it actually sounds like a real person talking with you. </p><p>We&#8217;ll use Python to create the whole app from scratch, combining Flet to build a clean, easy-to-use interface, OpenAI to come up with smart and fun responses, and Murf&#8217;s API to turn those responses into natural-sounding speech you can hear.</p><p>But this isn&#8217;t just about following my instructions or copying some code. You&#8217;ll understand why we&#8217;re doing things step by step and how all the pieces work together behind the scenes. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4qdf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3873bd8-09e3-4665-bc6d-74a74f29614c_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4qdf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3873bd8-09e3-4665-bc6d-74a74f29614c_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!4qdf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3873bd8-09e3-4665-bc6d-74a74f29614c_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!4qdf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3873bd8-09e3-4665-bc6d-74a74f29614c_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!4qdf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3873bd8-09e3-4665-bc6d-74a74f29614c_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4qdf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3873bd8-09e3-4665-bc6d-74a74f29614c_1280x720.png" width="650" height="365.625" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f3873bd8-09e3-4665-bc6d-74a74f29614c_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:650,&quot;bytes&quot;:94392,&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://www.thenerdnook.io/i/165385079?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3873bd8-09e3-4665-bc6d-74a74f29614c_1280x720.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_!4qdf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3873bd8-09e3-4665-bc6d-74a74f29614c_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!4qdf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3873bd8-09e3-4665-bc6d-74a74f29614c_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!4qdf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3873bd8-09e3-4665-bc6d-74a74f29614c_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!4qdf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3873bd8-09e3-4665-bc6d-74a74f29614c_1280x720.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><em><strong><a href="https://thenerdnook.substack.com/s/project-x?utm_source=substack&amp;utm_medium=menu">Welcome to Project X</a></strong> &#8211; where dreams meet code! Dive into creativity as I guide you through the creation of a captivating project, step by step, in each monthly edition. From conceptualization to execution. Join premium today!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>By the time you&#8217;re done, you&#8217;ll have an AI chatbot that can listen to what you say or read what you type, and then respond with a voice that feels real.</p><p>We&#8217;ll begin by planning out the app&#8217;s design and organizing the code to keep things neat and manageable. Then, we&#8217;ll build the app piece by piece, making sure everything fits together smoothly. </p><p>This is the kind of hands-on stuff I love sharing here in Project X &#8212; real tools, real code, and real results. Let&#8217;s build something cool together.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!a7D-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11e3af6-add9-4ebb-88f7-a59f1ee6a6ce_793x592.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!a7D-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11e3af6-add9-4ebb-88f7-a59f1ee6a6ce_793x592.png 424w, https://substackcdn.com/image/fetch/$s_!a7D-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11e3af6-add9-4ebb-88f7-a59f1ee6a6ce_793x592.png 848w, https://substackcdn.com/image/fetch/$s_!a7D-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11e3af6-add9-4ebb-88f7-a59f1ee6a6ce_793x592.png 1272w, https://substackcdn.com/image/fetch/$s_!a7D-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11e3af6-add9-4ebb-88f7-a59f1ee6a6ce_793x592.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!a7D-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11e3af6-add9-4ebb-88f7-a59f1ee6a6ce_793x592.png" width="597" height="445.6796973518285" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c11e3af6-add9-4ebb-88f7-a59f1ee6a6ce_793x592.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:592,&quot;width&quot;:793,&quot;resizeWidth&quot;:597,&quot;bytes&quot;:55703,&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://www.thenerdnook.io/i/165385079?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11e3af6-add9-4ebb-88f7-a59f1ee6a6ce_793x592.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_!a7D-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11e3af6-add9-4ebb-88f7-a59f1ee6a6ce_793x592.png 424w, https://substackcdn.com/image/fetch/$s_!a7D-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11e3af6-add9-4ebb-88f7-a59f1ee6a6ce_793x592.png 848w, https://substackcdn.com/image/fetch/$s_!a7D-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11e3af6-add9-4ebb-88f7-a59f1ee6a6ce_793x592.png 1272w, https://substackcdn.com/image/fetch/$s_!a7D-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11e3af6-add9-4ebb-88f7-a59f1ee6a6ce_793x592.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>The above is the app we will be building out today, as you can see Karen (AI) is giving us some real banter here with her responses! This is how I&#8217;ve set it up but I&#8217;ll show you how to switch it up.</p><p>Our chatbot can do two things, first the AI will return the text for the chat box. But better than that (which you can&#8217;t hear through a picture) is the chatbot will actually produce audio and speak back to you too!</p><p>I&#8217;ll link the previous Project X here where we built <a href="https://www.thenerdnook.io/p/project-x-14">Mask Detection with Deep Learning</a> for future reference.</p><p><em>&#128073; Premium readers can <strong>access links to set up API Keys</strong>.</em></p><p>&#128073; Access the <strong>Source Code</strong> at the bottom.</p><p>&#128073; Gain access to my <strong>full article archive</strong>.</p><p><em>&#128073; <strong>Recommend projects</strong> at the bottom.</em></p><p>These projects take a lot of time and resources for me to craft in a way that I can present them and share them for you all.</p><p><strong>Thank you</strong> for allowing me to do work that I find meaningful. This is my full-time job so I hope you will support me!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>&#128073; <em>If you value projects like this one, please leave it a &#10084;&#65039; and share it with others. This helps more people discover these projects, which helps me out!</em></p><p>Ready to bring your own talking AI buddy to life? Time to get to it nerds!</p>
      <p>
          <a href="https://www.thenerdnook.io/p/project-x-15-build-an-ai-chatbot">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Project X #14 ~ Mask Detection with Deep Learning: Build Your Own Image Classifier]]></title><description><![CDATA[Learn how to build an AI-powered mask detection system with deep learning and TensorFlow. Step-by-step guide for image classification in Python.]]></description><link>https://www.thenerdnook.io/p/project-x-14</link><guid isPermaLink="false">https://www.thenerdnook.io/p/project-x-14</guid><dc:creator><![CDATA[Josh Wenner]]></dc:creator><pubDate>Sat, 10 May 2025 14:01:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cX7l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01931b52-caa5-4aa9-9ccc-8abe968c9424_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Ever wonder how those systems work that can tell if someone&#8217;s wearing a face mask or not? Like the ones they started using during the pandemic in stores and buildings? Heck, maybe even something like FaceID.</p><p>Well, in this month&#8217;s Project X, we&#8217;re gonna build one from scratch.</p><p>Yep, we&#8217;re putting together a full face mask detection system using deep learning &#8212; the same kind of tech behind things like self-driving cars and facial recognition. Don&#8217;t worry if you&#8217;re new to this. I&#8217;ll walk you through it step by step.</p><p>We&#8217;ll start by loading the data and getting it cleaned up, then build a model using something called a CNN (that&#8217;s just short for <strong>Convolutional Neural Network</strong> &#8212; it&#8217;s really good at recognizing images). </p><p>After that, we&#8217;ll train it, test how well it works, and then run it on some new photos to see what it can do. We&#8217;ll be using <em>Tensorflow</em> and <em>OpenCV</em> for a lot of 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_!cX7l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01931b52-caa5-4aa9-9ccc-8abe968c9424_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cX7l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01931b52-caa5-4aa9-9ccc-8abe968c9424_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!cX7l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01931b52-caa5-4aa9-9ccc-8abe968c9424_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!cX7l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01931b52-caa5-4aa9-9ccc-8abe968c9424_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!cX7l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01931b52-caa5-4aa9-9ccc-8abe968c9424_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cX7l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01931b52-caa5-4aa9-9ccc-8abe968c9424_1280x720.png" width="615" height="345.9375" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/01931b52-caa5-4aa9-9ccc-8abe968c9424_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:615,&quot;bytes&quot;:88669,&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://www.thenerdnook.io/i/163025375?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01931b52-caa5-4aa9-9ccc-8abe968c9424_1280x720.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_!cX7l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01931b52-caa5-4aa9-9ccc-8abe968c9424_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!cX7l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01931b52-caa5-4aa9-9ccc-8abe968c9424_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!cX7l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01931b52-caa5-4aa9-9ccc-8abe968c9424_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!cX7l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01931b52-caa5-4aa9-9ccc-8abe968c9424_1280x720.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><em><strong><a href="https://thenerdnook.substack.com/s/project-x?utm_source=substack&amp;utm_medium=menu">Welcome to Project X</a></strong> &#8211; where dreams meet code! Dive into creativity as I guide you through the creation of a captivating project, step by step, in each monthly edition. From conceptualization to execution. Join premium today!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p><strong>By the time we&#8217;re done</strong>, you&#8217;ll know how these systems actually work and have your own version up and running &#8212; one you can show off, improve, or even use in a real project.</p><p>This is the kind of hands-on stuff I love sharing here in Project X &#8212; real tools, real code, and real results. Let&#8217;s build something cool together.</p><p>I&#8217;ll link the previous Project X here where we built a <a href="https://www.thenerdnook.io/p/project-x-13">Real-Time Weather App is Flet</a> for future reference.</p><p><em>&#128073; Premium readers can <strong>access the Dataset</strong>.</em></p><p>&#128073; Access the <strong>Source Code</strong> at the bottom.</p><p>&#128073; Gain access to my <strong>full article archive</strong>.</p><p><em>&#128073; <strong>Recommend projects</strong> at the bottom.</em></p><p>These projects take a lot of time and resources for me to craft in a way that I can present them and share them for you all.</p><p><strong>Thank you</strong> for allowing me to do work that I find meaningful. This is my full-time job so I hope you will support me!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>&#128073; <em>If you value projects like this one, please leave it a &#10084;&#65039; and share it with others. This helps more people discover these projects, which helps me out!</em></p><p>Let&#8217;s get building out a Convolutional Neural Network!</p>
      <p>
          <a href="https://www.thenerdnook.io/p/project-x-14">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Project X #13 ~ Python Flet Project : Create a Real-Time Weather App]]></title><description><![CDATA[This month in Project X, I&#8217;ll walk you through how to build a simple but really useful weather app using the new Flet Framework&#8212; a Python tool that helps you create interactive user interfaces.]]></description><link>https://www.thenerdnook.io/p/project-x-13</link><guid isPermaLink="false">https://www.thenerdnook.io/p/project-x-13</guid><dc:creator><![CDATA[Josh Wenner]]></dc:creator><pubDate>Sat, 05 Apr 2025 14:02:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ZhJV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3588fe94-3e76-409f-9694-0226c549c11a_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This month in Project X, I&#8217;ll walk you through how to build a simple but really useful weather app using the new Flet Framework&#8212; a Python tool that helps you create interactive user interfaces.</p><p>This has been one of the most requested frameworks to cover in my content and after building out a few projects I can see why. There&#8217;s no need for HTML, CSS or Javascript as everything is done with Flet, a framework built for Python based around Flutter.</p><p>This project is perfect to get you guys immersed in a few areas. One, you get to learn a new GUI framework that&#8217;s taking the world by storm, people are loving it. And two, you get to work with API&#8217;s making requests and parsing the information we get back.</p><p>If you&#8217;ve ever wanted to make an app that shows live weather updates in a clean, easy-to-read way, while building maps into an app then this is a great place to start.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZhJV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3588fe94-3e76-409f-9694-0226c549c11a_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZhJV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3588fe94-3e76-409f-9694-0226c549c11a_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!ZhJV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3588fe94-3e76-409f-9694-0226c549c11a_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!ZhJV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3588fe94-3e76-409f-9694-0226c549c11a_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!ZhJV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3588fe94-3e76-409f-9694-0226c549c11a_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZhJV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3588fe94-3e76-409f-9694-0226c549c11a_1280x720.png" width="610" height="343.125" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3588fe94-3e76-409f-9694-0226c549c11a_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:610,&quot;bytes&quot;:94384,&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://www.thenerdnook.io/i/160172990?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3588fe94-3e76-409f-9694-0226c549c11a_1280x720.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_!ZhJV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3588fe94-3e76-409f-9694-0226c549c11a_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!ZhJV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3588fe94-3e76-409f-9694-0226c549c11a_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!ZhJV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3588fe94-3e76-409f-9694-0226c549c11a_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!ZhJV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3588fe94-3e76-409f-9694-0226c549c11a_1280x720.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><em><strong><a href="https://thenerdnook.substack.com/s/project-x?utm_source=substack&amp;utm_medium=menu">Welcome to Project X</a></strong> &#8211; where dreams meet code! Dive into creativity as I guide you through the creation of a captivating project, step by step, in each monthly edition. From conceptualization to execution. Join premium today!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>The app will connect to the OpenWeather API to grab the latest weather based on what the user types in. It&#8217;ll show the temperature, humidity, and general weather conditions, plus display the location on a map using all free API&#8217;s.</p><p>We&#8217;re aiming to build something here that not only works well but also looks good and is simple to use. You&#8217;re not only the developer for this project, but also the UI designer. </p><p>This is honestly one of the many reasons I absolutly love building out GUI&#8217;s and apps. The whole design part is a lot of fun for me as I can take an idea from start to finish. I get to work with design, logic, API&#8217;s. Pretty much the whole shebang.</p><p><strong>By the end</strong> of this project, you&#8217;ll know how to pull live data from an API, build a smooth user interface, and make the app update on the spot when someone searches for a different city all using Flet.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XJHE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3021e08-2547-49c3-9066-3784b1b5898f_854x729.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XJHE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3021e08-2547-49c3-9066-3784b1b5898f_854x729.png 424w, https://substackcdn.com/image/fetch/$s_!XJHE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3021e08-2547-49c3-9066-3784b1b5898f_854x729.png 848w, https://substackcdn.com/image/fetch/$s_!XJHE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3021e08-2547-49c3-9066-3784b1b5898f_854x729.png 1272w, https://substackcdn.com/image/fetch/$s_!XJHE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3021e08-2547-49c3-9066-3784b1b5898f_854x729.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XJHE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3021e08-2547-49c3-9066-3784b1b5898f_854x729.png" width="522" height="445.59484777517565" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a3021e08-2547-49c3-9066-3784b1b5898f_854x729.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:729,&quot;width&quot;:854,&quot;resizeWidth&quot;:522,&quot;bytes&quot;:322139,&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://www.thenerdnook.io/i/160172990?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3021e08-2547-49c3-9066-3784b1b5898f_854x729.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_!XJHE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3021e08-2547-49c3-9066-3784b1b5898f_854x729.png 424w, https://substackcdn.com/image/fetch/$s_!XJHE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3021e08-2547-49c3-9066-3784b1b5898f_854x729.png 848w, https://substackcdn.com/image/fetch/$s_!XJHE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3021e08-2547-49c3-9066-3784b1b5898f_854x729.png 1272w, https://substackcdn.com/image/fetch/$s_!XJHE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3021e08-2547-49c3-9066-3784b1b5898f_854x729.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>It doesn&#8217;t matter if you&#8217;re just getting started with building apps or you&#8217;ve been coding for a while &#8212; this project will give you real experience with APIs and building interactive apps from the ground up.</p><p>I&#8217;ll link the previous Project X here where we built a <a href="https://www.thenerdnook.io/p/project-x-12">Stock Price Predictor with LSTMs</a> for future reference.</p><p><em>&#128073;Premium readers can <strong>recommend projects</strong> at the bottom.</em></p><p>&#128073; Access my <strong>Source Code</strong> for all Projects at the bottom.</p><p>&#128073; Gain access to my full article archive.</p><p>These projects take a lot of time and resources for me to craft in a way that I can present them and share them for you all.</p><p><strong>Thank you</strong> for allowing me to do work that I find meaningful. This is my full-time job so I hope you will support me!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>&#128073; <em>If you value projects like this one, please leave it a &#10084;&#65039; and share it with others. This helps more people discover these projects, which helps me out!</em></p><p>Okay, enough said. Let&#8217;s get right into this months edition of Project X nerds!</p>
      <p>
          <a href="https://www.thenerdnook.io/p/project-x-13">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Project X #12 ~ Stock Price Prediction with LSTMs: A Step-by-Step Guide to Forecasting the Market]]></title><description><![CDATA[Learn how to predict stock prices using LSTM neural networks in Tensorflow. This project covers data preprocessing, model training, and real-time forecasting.]]></description><link>https://www.thenerdnook.io/p/project-x-12</link><guid isPermaLink="false">https://www.thenerdnook.io/p/project-x-12</guid><dc:creator><![CDATA[Josh Wenner]]></dc:creator><pubDate>Sat, 01 Mar 2025 14:02:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!C5E3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43d4074-7e65-46ed-856d-1a7107d1d391_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The stock market is always changing, with prices going up and down based on all kinds of factors. Things like economic reports, how well a company is doing, what investors are feeling, and even major world events can all have an impact. </p><p>For most of our lives, we&#8217;ve tried to predict stock prices using historical trends, technical analysis, and different forecasting models. Or just hiring a financial advisor and trusting they know the right calls&#8230;</p><p>Thank god nowadays machine learning has made big advancements in this area. One of the most promising approaches is using deep learning models like Long Short-Term Memory (LSTM) networks.</p><p>LSTM is a special type of neural network built to work with sequential data, meaning really this just means it&#8217;s great for time-series forecasting. </p><p>This is the 12th edition which officially marks one year of Project X! My mission for <strong><a href="https://thenerdnook.substack.com/s/project-x">Project X</a></strong>? To empower you with the tools and knowledge to unleash your creativity and build impactful, real-world solutions using Python.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!C5E3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43d4074-7e65-46ed-856d-1a7107d1d391_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!C5E3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43d4074-7e65-46ed-856d-1a7107d1d391_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!C5E3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43d4074-7e65-46ed-856d-1a7107d1d391_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!C5E3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43d4074-7e65-46ed-856d-1a7107d1d391_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!C5E3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43d4074-7e65-46ed-856d-1a7107d1d391_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!C5E3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43d4074-7e65-46ed-856d-1a7107d1d391_1280x720.png" width="641" height="360.5625" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e43d4074-7e65-46ed-856d-1a7107d1d391_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:641,&quot;bytes&quot;:96000,&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://www.thenerdnook.io/i/158148569?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43d4074-7e65-46ed-856d-1a7107d1d391_1280x720.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_!C5E3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43d4074-7e65-46ed-856d-1a7107d1d391_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!C5E3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43d4074-7e65-46ed-856d-1a7107d1d391_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!C5E3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43d4074-7e65-46ed-856d-1a7107d1d391_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!C5E3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe43d4074-7e65-46ed-856d-1a7107d1d391_1280x720.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><em><strong><a href="https://thenerdnook.substack.com/s/project-x?utm_source=substack&amp;utm_medium=menu">Welcome to Project X</a></strong> &#8211; where dreams meet code! Dive into creativity as I guide you through the creation of a captivating project, step by step, in each monthly edition. From conceptualization to execution. Join premium today!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>Oh, and unlike traditional machine learning models, which often struggle to remember past patterns over long periods, LSTMs are actually made to recognize important trends and relationships in data that unfold over time. </p><p>This makes them really useful for predicting stock prices since historical price movements can offer key insights into what might happen next.</p><p><strong>In this edition of Project X</strong>, I&#8217;ll go step by step through the process of building an LSTM model for stock price prediction. Together we&#8217;ll start with preparing and cleaning the data, then move on to exploring the data, selecting key features, building the model, training it, testing its accuracy, and finally visualizing the results. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Mymt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda60385d-db86-4b33-9b17-679526b1ed5a_1040x708.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Mymt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda60385d-db86-4b33-9b17-679526b1ed5a_1040x708.png 424w, https://substackcdn.com/image/fetch/$s_!Mymt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda60385d-db86-4b33-9b17-679526b1ed5a_1040x708.png 848w, https://substackcdn.com/image/fetch/$s_!Mymt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda60385d-db86-4b33-9b17-679526b1ed5a_1040x708.png 1272w, https://substackcdn.com/image/fetch/$s_!Mymt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda60385d-db86-4b33-9b17-679526b1ed5a_1040x708.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Mymt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda60385d-db86-4b33-9b17-679526b1ed5a_1040x708.png" width="637" height="433.65" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/da60385d-db86-4b33-9b17-679526b1ed5a_1040x708.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:708,&quot;width&quot;:1040,&quot;resizeWidth&quot;:637,&quot;bytes&quot;:66392,&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://www.thenerdnook.io/i/158148569?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda60385d-db86-4b33-9b17-679526b1ed5a_1040x708.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_!Mymt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda60385d-db86-4b33-9b17-679526b1ed5a_1040x708.png 424w, https://substackcdn.com/image/fetch/$s_!Mymt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda60385d-db86-4b33-9b17-679526b1ed5a_1040x708.png 848w, https://substackcdn.com/image/fetch/$s_!Mymt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda60385d-db86-4b33-9b17-679526b1ed5a_1040x708.png 1272w, https://substackcdn.com/image/fetch/$s_!Mymt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda60385d-db86-4b33-9b17-679526b1ed5a_1040x708.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>By the end</strong>, you&#8217;ll have a solid understanding of how LSTM networks can be used to predict stock prices based on historical data. And yes, we are going to use slightly older data so we can actually check how well the model has preformed over time.</p><p>I&#8217;ll link the previous Project X here where we built a <a href="https://www.thenerdnook.io/p/project-x-11">Machine Learning Pipeline</a> for future reference.</p><p><em>&#128073;Premium readers can <strong>recommend projects</strong> at the bottom.</em></p><p>&#128073; Access my <strong>Source Code</strong> for all Projects at the bottom.</p><p>&#128073; Gain access to my full article archive. </p><p>These projects take a lot of time and resources for me to craft in a way that I can present them and share them for you all. </p><p>Thank you for allowing me to do work that I find meaningful. This is my full-time job so I hope you will support me!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>&#128073; <em>If you value projects like this one, please leave it a &#10084;&#65039; and share it with others. This helps more people discover these projects, which helps me out!</em></p><p>Let&#8217;s start predicting the future!</p><p>P.S - I shouldn&#8217;t have to say this, but this is not financial advice&#8230;</p><h2><strong>&#129520; Importing the Right Tools for the Job</strong></h2><p>Before you can start analyzing stock market data and building a predictive model, you need to load a few essential Python libraries. </p>
      <p>
          <a href="https://www.thenerdnook.io/p/project-x-12">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Project X #11 ~ Learn to Build a Powerful Machine Learning Regression Pipeline]]></title><description><![CDATA[Unlock the power of Machine Learning with a hands-on regression project. Learn to train, evaluate, and optimize your own ML model using Scikit-Learn and more!]]></description><link>https://www.thenerdnook.io/p/project-x-11</link><guid isPermaLink="false">https://www.thenerdnook.io/p/project-x-11</guid><dc:creator><![CDATA[Josh Wenner]]></dc:creator><pubDate>Sat, 01 Feb 2025 14:16:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JzF4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb91d802-baa2-4e0c-983b-1d4977c8087a_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey there nerds, welcome back to another edition of <em>Project X</em>! </p><p>If you&#8217;ve been following along with our Machine Learning series, you&#8217;re in for a real treat today. We&#8217;re about to roll up our sleeves and dive into a hands-on Machine Learning project that&#8217;ll take you from data to predictions, step-by-step.</p><p>My mission for <strong><a href="https://thenerdnook.substack.com/s/project-x">Project X</a></strong>? To empower you with the tools and knowledge to unleash your creativity and build impactful, real-world solutions using Python.</p><p><strong>In this Project</strong>, you're going to tackle real-world data, train a powerful regression model, and measure how well it performs.</p><p>Whether you're just starting out with Machine Learning or you&#8217;ve already dabbled a bit, this project is designed to walk you through every step, making it simple and fun to follow at your own pace. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JzF4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb91d802-baa2-4e0c-983b-1d4977c8087a_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JzF4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb91d802-baa2-4e0c-983b-1d4977c8087a_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!JzF4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb91d802-baa2-4e0c-983b-1d4977c8087a_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!JzF4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb91d802-baa2-4e0c-983b-1d4977c8087a_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!JzF4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb91d802-baa2-4e0c-983b-1d4977c8087a_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JzF4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb91d802-baa2-4e0c-983b-1d4977c8087a_1280x720.png" width="645" height="362.8125" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eb91d802-baa2-4e0c-983b-1d4977c8087a_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:645,&quot;bytes&quot;:90075,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JzF4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb91d802-baa2-4e0c-983b-1d4977c8087a_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!JzF4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb91d802-baa2-4e0c-983b-1d4977c8087a_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!JzF4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb91d802-baa2-4e0c-983b-1d4977c8087a_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!JzF4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb91d802-baa2-4e0c-983b-1d4977c8087a_1280x720.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><em><strong><a href="https://thenerdnook.substack.com/s/project-x?utm_source=substack&amp;utm_medium=menu">Welcome to Project X</a></strong> &#8211; where dreams meet code! Dive into creativity as I guide you through the creation of a captivating project, step by step, in each monthly edition. From conceptualization to execution. Join premium today!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>Trust me, by the end, you&#8217;ll have a complete Machine Learning Pipeline under your belt.</p><p><strong>In this edition</strong>, you&#8217;ll get your hands dirty with some awesome tools like Scikit-Learn, Seaborn, Matplotlib, and Numpy. You&#8217;ll learn how to prepare your data, encode it, and train a Random Forest Regression model to make predictions. </p><p>It&#8217;s all about learning by doing, and this project will help you feel confident with the key steps in building a Machine Learning model.</p><p>I&#8217;ll link the previous Project X here where we built an <a href="https://www.thenerdnook.io/p/project-x-10">Interactive Data Web App using Streamlit</a> for future reference.</p><p><em>&#128073;Premium readers can <strong>recommend projects</strong> at the bottom.</em></p><p>&#128073; Access my <strong>Source Code</strong> for all Projects at the bottom.</p><p>&#128073; Access <strong>interactive step-by-step video</strong> as the bottom.</p><p>These projects take a lot of time and resources for me to craft in a way that I can present them and share them for you all. If you find value in my work please consider becoming a premium reader!</p><p>Thank you for allowing me to do work that I find meaningful. This is my full-time job so I hope you will support me!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>&#128073; <em>If you value projects like this one, please leave it a &#10084;&#65039; and share it with others. This helps more people discover these projects, which helps me out!</em></p><p>Ready to dive in and get your hands on some real-world data? Let&#8217;s get started!</p>
      <p>
          <a href="https://www.thenerdnook.io/p/project-x-11">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Project X #10 ~ Build an Interactive Data App with Streamlit]]></title><description><![CDATA[We build an Interactive Data App using Streamlit. Our app is able to automatically clean your data, create visualizations on the spot and export your data into different formats.]]></description><link>https://www.thenerdnook.io/p/project-x-10</link><guid isPermaLink="false">https://www.thenerdnook.io/p/project-x-10</guid><dc:creator><![CDATA[Josh Wenner]]></dc:creator><pubDate>Sat, 04 Jan 2025 14:00:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!E-TT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eee0e1d-3889-449f-a9f8-556b2edba9e1_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey there nerds, welcome to this month's Project X. This is our 10th project here on Project X, that&#8217;s pretty exciting. This is also the first edition for 2025 and honestly this is the most fun I&#8217;ve had on a project in a while!</p><p>This time, we&#8217;re building something super useful with Python&#8212;a Data Sweeping Tool using Streamlit and pandas. </p><p>My mission for <strong><a href="https://thenerdnook.substack.com/s/project-x">Project X</a></strong>? To empower you with the tools and knowledge to unleash your creativity and build impactful, real-world solutions using Python.</p><p><strong>The idea is to make</strong> it easy to switch between CSV and Excel files, plus the added ability to automatically clean and visualize your data right in the app.</p><p>Picture this: You&#8217;ll be able to convert multiple files at once, clean up the data right then and there, and see the results with just a few clicks&#8212;all in a smooth and easy-to-use web app. </p><p><strong>This project</strong> takes you from simple file handling to creating full-on data tools. By the end, you&#8217;ll have a working file converter that you can tweak, deploy, and even add more features to it. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!E-TT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eee0e1d-3889-449f-a9f8-556b2edba9e1_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!E-TT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eee0e1d-3889-449f-a9f8-556b2edba9e1_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!E-TT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eee0e1d-3889-449f-a9f8-556b2edba9e1_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!E-TT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eee0e1d-3889-449f-a9f8-556b2edba9e1_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!E-TT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eee0e1d-3889-449f-a9f8-556b2edba9e1_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!E-TT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eee0e1d-3889-449f-a9f8-556b2edba9e1_1280x720.png" width="633" height="356.0625" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1eee0e1d-3889-449f-a9f8-556b2edba9e1_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:633,&quot;bytes&quot;:96534,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!E-TT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eee0e1d-3889-449f-a9f8-556b2edba9e1_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!E-TT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eee0e1d-3889-449f-a9f8-556b2edba9e1_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!E-TT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eee0e1d-3889-449f-a9f8-556b2edba9e1_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!E-TT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eee0e1d-3889-449f-a9f8-556b2edba9e1_1280x720.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><em><strong><a href="https://thenerdnook.substack.com/s/project-x?utm_source=substack&amp;utm_medium=menu">Welcome to Project X</a></strong> &#8211; where dreams meet code! Dive into creativity as I guide you through the creation of a captivating project, step by step, in each monthly edition. From conceptualization to execution, Project X empowers you to master Python while using your creativity. Join premium today!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>If you&#8217;re a visual learner like I am then this is an incredible project and for any data analyst out there, this project is sure to speed up your work flow to get you working with your data so much faster!</p><p>Since we&#8217;ve recently finished up our SQL in Python series, this project is a perfect wrap of things, as It&#8217;s a project you could add to a portfolio using all the skills you&#8217;ve been learning through the Data Analytics and SQL in Python series.</p><p>And on top of all this you get to work with the incredibly useful Streamlit framework to get us building we apps faster with Python. At the end of the article I made a video for you guys that takes you through our project step-by step as a bonus!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FRiN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5ce35b3-b9dd-456e-a276-44f6f47e8fe2_1183x710.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FRiN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5ce35b3-b9dd-456e-a276-44f6f47e8fe2_1183x710.png 424w, https://substackcdn.com/image/fetch/$s_!FRiN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5ce35b3-b9dd-456e-a276-44f6f47e8fe2_1183x710.png 848w, https://substackcdn.com/image/fetch/$s_!FRiN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5ce35b3-b9dd-456e-a276-44f6f47e8fe2_1183x710.png 1272w, https://substackcdn.com/image/fetch/$s_!FRiN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5ce35b3-b9dd-456e-a276-44f6f47e8fe2_1183x710.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FRiN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5ce35b3-b9dd-456e-a276-44f6f47e8fe2_1183x710.png" width="555" height="333.0938292476754" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5ce35b3-b9dd-456e-a276-44f6f47e8fe2_1183x710.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:710,&quot;width&quot;:1183,&quot;resizeWidth&quot;:555,&quot;bytes&quot;:128722,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FRiN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5ce35b3-b9dd-456e-a276-44f6f47e8fe2_1183x710.png 424w, https://substackcdn.com/image/fetch/$s_!FRiN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5ce35b3-b9dd-456e-a276-44f6f47e8fe2_1183x710.png 848w, https://substackcdn.com/image/fetch/$s_!FRiN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5ce35b3-b9dd-456e-a276-44f6f47e8fe2_1183x710.png 1272w, https://substackcdn.com/image/fetch/$s_!FRiN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5ce35b3-b9dd-456e-a276-44f6f47e8fe2_1183x710.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><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CWhi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F543d9f69-d151-42b3-a1b0-ab502325a324_1180x570.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CWhi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F543d9f69-d151-42b3-a1b0-ab502325a324_1180x570.png 424w, https://substackcdn.com/image/fetch/$s_!CWhi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F543d9f69-d151-42b3-a1b0-ab502325a324_1180x570.png 848w, https://substackcdn.com/image/fetch/$s_!CWhi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F543d9f69-d151-42b3-a1b0-ab502325a324_1180x570.png 1272w, https://substackcdn.com/image/fetch/$s_!CWhi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F543d9f69-d151-42b3-a1b0-ab502325a324_1180x570.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CWhi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F543d9f69-d151-42b3-a1b0-ab502325a324_1180x570.png" width="556" height="268.5762711864407" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/543d9f69-d151-42b3-a1b0-ab502325a324_1180x570.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:570,&quot;width&quot;:1180,&quot;resizeWidth&quot;:556,&quot;bytes&quot;:96817,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CWhi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F543d9f69-d151-42b3-a1b0-ab502325a324_1180x570.png 424w, https://substackcdn.com/image/fetch/$s_!CWhi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F543d9f69-d151-42b3-a1b0-ab502325a324_1180x570.png 848w, https://substackcdn.com/image/fetch/$s_!CWhi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F543d9f69-d151-42b3-a1b0-ab502325a324_1180x570.png 1272w, https://substackcdn.com/image/fetch/$s_!CWhi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F543d9f69-d151-42b3-a1b0-ab502325a324_1180x570.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>Had to post the pictures in two because we have all this functionality. This is the project you will be building out today as you get to use the skills we covered over the course of 2024 with our Data Analytics and SQL in Python series&#8217;. </p><p>I&#8217;ll link the previous Project X here where we <a href="https://www.thenerdnook.io/p/project-x-9">blended PostgreSQL with Python for Better Scalability</a> for future reference.</p><p><em>&#128073;Premium readers can <strong>recommend projects</strong> at the bottom.</em></p><p>&#128073; Access my <strong>Source Code</strong> for all Projects at the bottom.</p><p>&#128073; Access <strong>interactive step-by-step video</strong> as the bottom.</p><p>These projects take a lot of time and resources for me to craft in a way that I can present them and share them for you all. If you find value in my work please consider becoming a premium reader!</p><p>This is my full-time job so I hope you will support my work!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>&#128073; <em>If you value projects like this one, please leave it a &#10084;&#65039; and share it with others. This helps more people discover these projects, which helps me out!</em></p><p>Let&#8217;s break it all down, step by step. Are you ready to have your mind blown?</p>
      <p>
          <a href="https://www.thenerdnook.io/p/project-x-10">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Project X #9: Scale Apps with Python & PostgreSQL]]></title><description><![CDATA[Master PostgreSQL with Python: Learn How to Build Scalable and Efficient Applications Using Python and PostgreSQL Integration.]]></description><link>https://www.thenerdnook.io/p/project-x-9</link><guid isPermaLink="false">https://www.thenerdnook.io/p/project-x-9</guid><dc:creator><![CDATA[Josh Wenner]]></dc:creator><pubDate>Sat, 07 Dec 2024 14:02:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!pLqB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22f5e1b-3e90-4104-b69c-510d73f342df_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey there Nerd Nook crew! Welcome to this months edition of <a href="https://thenerdnook.substack.com/s/project-x">Project X</a> where we&#8217;re going to explore Python and PostgreSQL together.</p><p>If you&#8217;ve ever thought about creating a system to manage employee data or just wanted to get hands-on with databases, you&#8217;re in the right place. Over the last two months we have been going through <a href="https://thenerdnook.substack.com/p/sql-for-beginners">our SQL in Python series</a>.</p><p>Today I want to step away from SQLite as you&#8217;ve been using this to get understanding SQL syntax and how we can work with <a href="https://thenerdnook.substack.com/p/sql-for-beginners">SQL in Python</a> and wonder into the world of PostgreSQL. One of the most advanced tools we have for working with relational databases.</p><p><strong>In this project</strong>, we&#8217;ll use the psycopg2 library, which is a go-to tool for connecting Python to PostgreSQL as well as Postgres.app to smooth all this out.</p><p><strong>You&#8217;ll learn how to</strong> set up a secure database connection with context managers, perform bulk inserts to speed up data handling, and safely update data using parameterized queries&#8212;which helps protect your code from common security risks like SQL injection.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pLqB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22f5e1b-3e90-4104-b69c-510d73f342df_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pLqB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22f5e1b-3e90-4104-b69c-510d73f342df_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!pLqB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22f5e1b-3e90-4104-b69c-510d73f342df_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!pLqB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22f5e1b-3e90-4104-b69c-510d73f342df_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!pLqB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22f5e1b-3e90-4104-b69c-510d73f342df_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pLqB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22f5e1b-3e90-4104-b69c-510d73f342df_1280x720.png" width="626" height="352.125" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c22f5e1b-3e90-4104-b69c-510d73f342df_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:626,&quot;bytes&quot;:94047,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pLqB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22f5e1b-3e90-4104-b69c-510d73f342df_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!pLqB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22f5e1b-3e90-4104-b69c-510d73f342df_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!pLqB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22f5e1b-3e90-4104-b69c-510d73f342df_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!pLqB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22f5e1b-3e90-4104-b69c-510d73f342df_1280x720.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><em><strong><a href="https://thenerdnook.substack.com/s/project-x?utm_source=substack&amp;utm_medium=menu">Welcome to Project X</a></strong> &#8211; where dreams meet code! Dive into creativity as I guide you through the creation of a captivating project, step by step, in each monthly edition. From conceptualization to execution, Project X empowers you to master Python while using your creativity. Premium readers can recommend projects at the bottom.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p></p><p>By the time we&#8217;re done, you&#8217;ll have built a Python app that can create tables, add data, run queries, update records, and even delete information&#8212;all while following best practices for working with databases.</p><p><strong>This project</strong> is perfect for anyone wanting to take their Python skills up a notch by learning how to work with databases in real-world applications. You&#8217;ll also get a chance to use logging to keep track of important events in your app, and learn how to work with environment variables to keep your database credentials safe.</p><p>I write with the purpose of you in mind, creating content that breaks down all that jargon into terms you can easily understand. These projects are just a little piece of that!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>These projects take a lot of time and resources for me to craft in a way that I can present them and share them for you all. If you find value in my work please consider becoming a premium reader as this helps keep The Nerd Nook alive!</p><p>This is the project you will be building out today as you get to use the skills we are covering in our <a href="https://thenerdnook.substack.com/p/sql-for-beginners">SQL in Python series</a> along with other popular frameworks. I&#8217;ll link the previous Project X here where we built an <a href="https://thenerdnook.substack.com/p/project-x-8">Expense Tracker GUI Application with PyQt6 and SQL</a>.</p><p>&#128073; <em>If you value projects like this one, please leave it a &#10084;&#65039;. This helps more people discover these projects, which helps me out and shows me you enjoy content like this!</em></p><p><em>&#128073;Premium readers can <strong>recommend projects</strong> at the bottom</em></p><p>&#128073; Access my <strong>Source Code</strong> for all Projects at the bottom</p><p>Come check out my <a href="https://thenerdnook.substack.com/p/sql-for-beginners">SQL in Python series</a> that is happening right now! Over the next few articles we a going through SQL and breaking it all down with hands-on learning and real world projects just like this one!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>Ready to jump in? By the end of this, you&#8217;ll have a solid understanding of how databases work, and be ready to take on even more complex projects!</p>
      <p>
          <a href="https://www.thenerdnook.io/p/project-x-9">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Project X #8 ~ Building a SQL Expense Tracker App with PyQt6]]></title><description><![CDATA[Learn to build a powerful Expense Tracker app with Python, PyQt6, and SQLite. Follow this step-by-step guide to create a functional, user-friendly budgeting tool.]]></description><link>https://www.thenerdnook.io/p/project-x-8</link><guid isPermaLink="false">https://www.thenerdnook.io/p/project-x-8</guid><dc:creator><![CDATA[Josh Wenner]]></dc:creator><pubDate>Sat, 02 Nov 2024 14:01:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!WsXG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1b8e2e1-ec86-41be-bc8f-db7567e65a5e_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Ready to put your coding skills into action with a project that combines Python, PyQt, and SQL? </p><p>This month, we&#8217;re taking on an exciting build: a fully functional <strong>Expense Tracker app </strong>that&#8217;s more than just a coding exercise&#8212;it&#8217;s a real tool you can use every day. </p><p>This special edition of Project X is a perfect pairing with my <a href="https://thenerdnook.substack.com/p/sql-for-beginners">SQL in Python series</a> as you are getting to use what we are learning in a real world application.</p><p>My mission for <strong><a href="https://thenerdnook.substack.com/s/project-x">Project X</a></strong>? To empower you with the tools and knowledge to unleash your creativity and build impactful, real-world solutions using Python.</p><p><strong>In this guide</strong>, I&#8217;ll walk you through each part, from setting up a database to securely store your data, to building a smooth user interface where you can effortlessly add, view, and delete expenses. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WsXG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1b8e2e1-ec86-41be-bc8f-db7567e65a5e_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WsXG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1b8e2e1-ec86-41be-bc8f-db7567e65a5e_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!WsXG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1b8e2e1-ec86-41be-bc8f-db7567e65a5e_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!WsXG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1b8e2e1-ec86-41be-bc8f-db7567e65a5e_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!WsXG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1b8e2e1-ec86-41be-bc8f-db7567e65a5e_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WsXG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1b8e2e1-ec86-41be-bc8f-db7567e65a5e_1280x720.png" width="657" height="369.5625" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d1b8e2e1-ec86-41be-bc8f-db7567e65a5e_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:657,&quot;bytes&quot;:99254,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WsXG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1b8e2e1-ec86-41be-bc8f-db7567e65a5e_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!WsXG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1b8e2e1-ec86-41be-bc8f-db7567e65a5e_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!WsXG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1b8e2e1-ec86-41be-bc8f-db7567e65a5e_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!WsXG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1b8e2e1-ec86-41be-bc8f-db7567e65a5e_1280x720.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><em><strong><a href="https://thenerdnook.substack.com/s/project-x?utm_source=substack&amp;utm_medium=menu">Welcome to Project X</a></strong> &#8211; where dreams meet code! Dive into creativity as I guide you through the creation of a captivating project, step by step, in each monthly edition. From conceptualization to execution, Project X empowers you to master Python while using your creativity. Premium readers can recommend projects at the bottom.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>Along the way, you&#8217;ll get hands-on experience with <strong>PyQt6</strong>, a top choice for building user-friendly applications, while boosting your <strong>SQL</strong> skills with SQLite to manage your data effectively.</p><p>We&#8217;ll tackle this project in three modules, each one building on the previous, so it&#8217;s easy to follow and manage. By the end, you&#8217;ll have a complete Expense Tracker app that sharpens your coding skills and gives you a practical tool you built from scratch. </p><p>I write with the purpose of you in mind, creating content that breaks down all that jargon into terms you can easily understand. These projects are just a little piece of that!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>These projects take a lot of time and resources for me to craft in a way that I can present them and share them for you all. If you find value in my work please consider becoming a premium reader as this helps keep The Nerd Nook alive!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qz28!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccab9165-27e2-4104-b7c7-c1916fc87001_682x402.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qz28!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccab9165-27e2-4104-b7c7-c1916fc87001_682x402.png 424w, https://substackcdn.com/image/fetch/$s_!qz28!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccab9165-27e2-4104-b7c7-c1916fc87001_682x402.png 848w, https://substackcdn.com/image/fetch/$s_!qz28!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccab9165-27e2-4104-b7c7-c1916fc87001_682x402.png 1272w, https://substackcdn.com/image/fetch/$s_!qz28!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccab9165-27e2-4104-b7c7-c1916fc87001_682x402.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qz28!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccab9165-27e2-4104-b7c7-c1916fc87001_682x402.png" width="612" height="360.73900293255133" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ccab9165-27e2-4104-b7c7-c1916fc87001_682x402.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:402,&quot;width&quot;:682,&quot;resizeWidth&quot;:612,&quot;bytes&quot;:53138,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qz28!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccab9165-27e2-4104-b7c7-c1916fc87001_682x402.png 424w, https://substackcdn.com/image/fetch/$s_!qz28!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccab9165-27e2-4104-b7c7-c1916fc87001_682x402.png 848w, https://substackcdn.com/image/fetch/$s_!qz28!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccab9165-27e2-4104-b7c7-c1916fc87001_682x402.png 1272w, https://substackcdn.com/image/fetch/$s_!qz28!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccab9165-27e2-4104-b7c7-c1916fc87001_682x402.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 is the project you will be building out today as you get to use the skills we are covering in our <a href="https://thenerdnook.substack.com/p/sql-for-beginners">SQL in Python series</a> along with other popular frameworks. I&#8217;ll link the previous Project X here where we built a <a href="https://thenerdnook.substack.com/p/project-x-7">Management System with SQL Alchemy</a> for future reference.</p><p>&#128073; <em>If you value projects like this one, please leave it a &#10084;&#65039;. This helps more people discover these projects, which helps me out and shows me you enjoy content like this!</em></p><p><em>&#128073;Premium readers can <strong>recommend projects</strong> at the bottom</em></p><p>&#128073; Access my <strong>Source Code</strong> for all Projects at the bottom</p><p>Do you want to join in on the fun? Come check out my <a href="https://thenerdnook.substack.com/p/sql-for-beginners">SQL in Python series</a> that is happening right now! Over the next few articles we a going through SQL and breaking it all down with hands-on learning and real world projects just like this one!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>So, are you ready to dig in and build something useful? Let&#8217;s get started on this interactive SQL desktop application!</p>
      <p>
          <a href="https://www.thenerdnook.io/p/project-x-8">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Project X #7 ~ Designing a Management System from Scratch with SQL Alchemy]]></title><description><![CDATA[Learn to build a complete store management system in Python, mastering database creation, CRUD operations, and user-friendly interfaces with SQLAlchemy and SQLite.]]></description><link>https://www.thenerdnook.io/p/project-x-7</link><guid isPermaLink="false">https://www.thenerdnook.io/p/project-x-7</guid><dc:creator><![CDATA[Josh Wenner]]></dc:creator><pubDate>Sat, 05 Oct 2024 14:03:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xxdI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e8f06e-4241-4086-8459-67f6c2036e65_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Let&#8217;s jump into this month&#8217;s project, where we&#8217;ll be building something really cool&#8212;a Grocery Store <strong>Management System</strong> using Python and SQLAlchemy! </p><p>My mission for <strong><a href="https://thenerdnook.substack.com/s/project-x">Project X</a></strong>? To empower you with the tools and knowledge to unleash your creativity and build impactful, real-world solutions using Python.</p><p>Whether you're new to coding or looking to sharpen your skills, this project is all about giving you real, hands-on experience with databases in Python.</p><p>I&#8217;ll keep things simple but effective. This time, we&#8217;re focusing on building a system that handles everything a store needs&#8212;managing inventory and day-to-day operations. We&#8217;ll use Python, <strong>SQLAlchemy</strong>, and <strong>SQLite</strong> to create a solid database setup. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xxdI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e8f06e-4241-4086-8459-67f6c2036e65_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xxdI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e8f06e-4241-4086-8459-67f6c2036e65_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!xxdI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e8f06e-4241-4086-8459-67f6c2036e65_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!xxdI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e8f06e-4241-4086-8459-67f6c2036e65_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!xxdI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e8f06e-4241-4086-8459-67f6c2036e65_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xxdI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e8f06e-4241-4086-8459-67f6c2036e65_1280x720.png" width="639" height="359.4375" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/12e8f06e-4241-4086-8459-67f6c2036e65_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:639,&quot;bytes&quot;:73085,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xxdI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e8f06e-4241-4086-8459-67f6c2036e65_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!xxdI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e8f06e-4241-4086-8459-67f6c2036e65_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!xxdI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e8f06e-4241-4086-8459-67f6c2036e65_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!xxdI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e8f06e-4241-4086-8459-67f6c2036e65_1280x720.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><em><a href="https://thenerdnook.substack.com/s/project-x?utm_source=substack&amp;utm_medium=menu">Welcome to Project X</a> &#8211; where dreams meet code! Dive into creativity as I guide you through the creation of a captivating project, step by step, in each monthly edition. From conceptualization to execution, Project X empowers you to master Python while unleashing your creativity. Premium readers can recommend projects at the bottom.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>Step by step, I&#8217;ll walk through <strong>setting up the database</strong>, defining the <strong>ORM models</strong>, handling basic <strong>CRUD operations</strong> (like adding, viewing, updating, and deleting data), and building a user-friendly interface to tie it all together.</p><p>I&#8217;ve designed this project to be easy to follow, breaking everything down into simple, digestible steps. By the end, you&#8217;ll know how to organize your code, work with databases using SQLAlchemy, and create a functional system that actually works.</p><p>I write with the purpose of you in mind, creating content that breaks down all that jargon into terms you can easily understand. These projects are just a little piece of that!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>These projects take a lot of time and resources for me to craft in a way that I can present them and share them for you all. If you find value in my work please consider becoming a premium reader as this helps keep The Nerd Nook alive!</p><p>&#128073; <em>If you value projects like this one, please leave it a &#10084;&#65039;. This helps more people discover these projects, which helps me out and shows me you enjoy content like this!</em></p><p><em>&#128073;Premium readers can <strong>recommend projects</strong> at the bottom</em></p><p>&#128073; Access my <strong>Source Code</strong> for all Projects at the bottom</p><p>So, are you ready to dig in and build something useful? Let&#8217;s get started on this grocery store management system! </p><h2>Project Overview</h2>
      <p>
          <a href="https://www.thenerdnook.io/p/project-x-7">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Project X #6 ~ Building an Interactive Data Analytics Dashboard ]]></title><description><![CDATA[Learn to breathe life into your data by building a fully interactive data dashboard with the Dash framework using Plotly, Pandas, and Scss/Sass.]]></description><link>https://www.thenerdnook.io/p/project-x-6-building-an-interactive</link><guid isPermaLink="false">https://www.thenerdnook.io/p/project-x-6-building-an-interactive</guid><dc:creator><![CDATA[Josh Wenner]]></dc:creator><pubDate>Sat, 07 Sep 2024 14:01:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ahU_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48a29c5-f505-427d-9f98-526ddcae0dda_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to this month&#8217;s edition of Project X&#8212;, where we dive into a building an <strong>Interactive Healthcare Data Dashboard</strong>!<strong> </strong>Every month, we'll take a deep dive into Python-powered projects. We'll break down the code together, see how it works, and explore how it can be used in a real life project.</p><p>My mission for <strong><a href="https://thenerdnook.substack.com/s/project-x">Project X</a></strong>? To empower you with the tools and knowledge to unleash your creativity and build impactful, real-world solutions using Python.</p><p>I am beyond excited to bring you guys this new project! This month, we will build a <strong>hands-on</strong> interactive data <strong>dashboard</strong> covering crucial aspects to bring your data to life through a web application. </p><p>By the end of this project, you'll have a comprehensive understanding of how to create dynamic, responsive, and user-friendly dashboards in Python using the popular <strong>Dash</strong> framework, <strong>Plotly Express</strong> and styling with <strong>Sass/Scss</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_!ahU_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48a29c5-f505-427d-9f98-526ddcae0dda_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ahU_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48a29c5-f505-427d-9f98-526ddcae0dda_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!ahU_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48a29c5-f505-427d-9f98-526ddcae0dda_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!ahU_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48a29c5-f505-427d-9f98-526ddcae0dda_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!ahU_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48a29c5-f505-427d-9f98-526ddcae0dda_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ahU_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48a29c5-f505-427d-9f98-526ddcae0dda_1280x720.png" width="671" height="377.4375" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b48a29c5-f505-427d-9f98-526ddcae0dda_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:671,&quot;bytes&quot;:74275,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ahU_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48a29c5-f505-427d-9f98-526ddcae0dda_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!ahU_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48a29c5-f505-427d-9f98-526ddcae0dda_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!ahU_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48a29c5-f505-427d-9f98-526ddcae0dda_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!ahU_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48a29c5-f505-427d-9f98-526ddcae0dda_1280x720.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><em>Welcome to Project X &#8211; where dreams meet code! Dive into creativity as I guide you through the creation of a captivating project, step by step, in each monthly edition. From conceptualization to execution, Project X empowers you to master Python while unleashing your creativity. Premium readers can recommend projects at the bottom.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>This special monthly article builds perfectly with my <a href="https://thenerdnook.substack.com/p/12-week-data-analytics">ongoing series on Data Analytics</a>, I aim to create projects that build on your current skillset and what I am covering in my writing.</p><p>This is the opportunity to take those basic visualizations from MatplotLib and pump some real life into them, give them a heart beat. I will take you from A - Z breaking down each step so you can get started building your own dashboards today!</p><p>I&#8217;ll cover the aspects of web design as we will use <strong>Bootstrap</strong> and HTML design the page, then move into <strong>Callbacks</strong> for your app. You can think of a Callback as an interactive action when something happens on your dashboard. </p><p>This dashboard was far complex to include in a single picture to showcase for you all so I had to split it up into a few images here below. You can see below that this project will encompass many tactics and interactive tools to manipulate your data live within the application.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MuM-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aae89e-11b5-4efc-9e6c-f4fe56462ede_1071x1223.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MuM-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aae89e-11b5-4efc-9e6c-f4fe56462ede_1071x1223.png 424w, https://substackcdn.com/image/fetch/$s_!MuM-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aae89e-11b5-4efc-9e6c-f4fe56462ede_1071x1223.png 848w, https://substackcdn.com/image/fetch/$s_!MuM-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aae89e-11b5-4efc-9e6c-f4fe56462ede_1071x1223.png 1272w, https://substackcdn.com/image/fetch/$s_!MuM-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aae89e-11b5-4efc-9e6c-f4fe56462ede_1071x1223.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MuM-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aae89e-11b5-4efc-9e6c-f4fe56462ede_1071x1223.png" width="1071" height="1223" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/01aae89e-11b5-4efc-9e6c-f4fe56462ede_1071x1223.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1223,&quot;width&quot;:1071,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:181005,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MuM-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aae89e-11b5-4efc-9e6c-f4fe56462ede_1071x1223.png 424w, https://substackcdn.com/image/fetch/$s_!MuM-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aae89e-11b5-4efc-9e6c-f4fe56462ede_1071x1223.png 848w, https://substackcdn.com/image/fetch/$s_!MuM-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aae89e-11b5-4efc-9e6c-f4fe56462ede_1071x1223.png 1272w, https://substackcdn.com/image/fetch/$s_!MuM-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aae89e-11b5-4efc-9e6c-f4fe56462ede_1071x1223.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><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dirv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247bfd02-0d6b-4cb2-9f0f-6fc9a4cd4c7e_1474x618.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dirv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247bfd02-0d6b-4cb2-9f0f-6fc9a4cd4c7e_1474x618.png 424w, https://substackcdn.com/image/fetch/$s_!dirv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247bfd02-0d6b-4cb2-9f0f-6fc9a4cd4c7e_1474x618.png 848w, https://substackcdn.com/image/fetch/$s_!dirv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247bfd02-0d6b-4cb2-9f0f-6fc9a4cd4c7e_1474x618.png 1272w, https://substackcdn.com/image/fetch/$s_!dirv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247bfd02-0d6b-4cb2-9f0f-6fc9a4cd4c7e_1474x618.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dirv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247bfd02-0d6b-4cb2-9f0f-6fc9a4cd4c7e_1474x618.png" width="1456" height="610" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/247bfd02-0d6b-4cb2-9f0f-6fc9a4cd4c7e_1474x618.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:610,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:50514,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dirv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247bfd02-0d6b-4cb2-9f0f-6fc9a4cd4c7e_1474x618.png 424w, https://substackcdn.com/image/fetch/$s_!dirv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247bfd02-0d6b-4cb2-9f0f-6fc9a4cd4c7e_1474x618.png 848w, https://substackcdn.com/image/fetch/$s_!dirv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247bfd02-0d6b-4cb2-9f0f-6fc9a4cd4c7e_1474x618.png 1272w, https://substackcdn.com/image/fetch/$s_!dirv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247bfd02-0d6b-4cb2-9f0f-6fc9a4cd4c7e_1474x618.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><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2YF6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F898bc3c5-6474-4018-bd40-88c38ea4965f_1473x657.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2YF6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F898bc3c5-6474-4018-bd40-88c38ea4965f_1473x657.png 424w, https://substackcdn.com/image/fetch/$s_!2YF6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F898bc3c5-6474-4018-bd40-88c38ea4965f_1473x657.png 848w, https://substackcdn.com/image/fetch/$s_!2YF6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F898bc3c5-6474-4018-bd40-88c38ea4965f_1473x657.png 1272w, https://substackcdn.com/image/fetch/$s_!2YF6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F898bc3c5-6474-4018-bd40-88c38ea4965f_1473x657.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2YF6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F898bc3c5-6474-4018-bd40-88c38ea4965f_1473x657.png" width="1456" height="649" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/898bc3c5-6474-4018-bd40-88c38ea4965f_1473x657.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:649,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:77746,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2YF6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F898bc3c5-6474-4018-bd40-88c38ea4965f_1473x657.png 424w, https://substackcdn.com/image/fetch/$s_!2YF6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F898bc3c5-6474-4018-bd40-88c38ea4965f_1473x657.png 848w, https://substackcdn.com/image/fetch/$s_!2YF6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F898bc3c5-6474-4018-bd40-88c38ea4965f_1473x657.png 1272w, https://substackcdn.com/image/fetch/$s_!2YF6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F898bc3c5-6474-4018-bd40-88c38ea4965f_1473x657.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>I write with the purpose of you in mind, creating content that breaks down all that jargon into terms you can easily understand. These projects are just a little piece of that!</p><p>These projects take a lot of time and resources for me to craft in a way that I can present them and share them for you all. If you find value in my work please do consider becoming a premium reader as this helps keep The Nerd Nook alive!</p><p>&#128073; <em>If you value projects like this one, please leave it a &#10084;&#65039;. This helps more people discover these projects, which helps me out and shows me you enjoy content like this!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>&#128073;<strong>Access the dataset</strong> used in this project in the next section</p><p><em>&#128073;Premium readers can <strong>recommend projects</strong> at the bottom</em></p><p>&#128073; Access my <strong>Source Code</strong> for all Projects at the bottom</p><p>Okay, enough said! Let&#8217;s get into the fun and start building this months project!</p>
      <p>
          <a href="https://www.thenerdnook.io/p/project-x-6-building-an-interactive">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Project X #5 ~ A Comprehensive Data Analytics Project]]></title><description><![CDATA[Hit the ground running with the Ultimate Data Analytics Project: Clean, Analyze, and Visualize Your Data. Step-by-step data analysis.]]></description><link>https://www.thenerdnook.io/p/project-x-5</link><guid isPermaLink="false">https://www.thenerdnook.io/p/project-x-5</guid><dc:creator><![CDATA[Josh Wenner]]></dc:creator><pubDate>Sat, 03 Aug 2024 14:01:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!QTOw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c576a3c-0a5c-4fcb-b534-5e1459ef0062_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to this month&#8217;s edition of Project X&#8212;, where we dive into a <strong>comprehensive data analytics project</strong>!<strong> </strong>Every month, we'll take a deep dive into Python-powered projects. We'll break down the code together, see how it works, and explore how it can be used in a real life project.</p><p>My mission for <a href="https://thenerdnook.substack.com/s/project-x">Project X</a>? To empower you with the tools and knowledge to unleash your creativity and build impactful, real-world solutions using Python.</p><p>This month, we focus on a <strong>hands-on project</strong> covering various crucial aspects of data analytics: data cleaning, data filtering, data grouping, data aggregation, pivot tables, and data visualization using Matplotlib. You'll find the detailed explanations and advanced code examples <strong>essential for your toolkit</strong>.</p><p>This specially monthly article pairs perfectly with my <a href="https://thenerdnook.substack.com/p/12-week-data-analytics">ongoing series on Data Analytics</a> as we are nearing the half way point to my series, I wanted to create a project which encompasses the current skills you&#8217;ve learned.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QTOw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c576a3c-0a5c-4fcb-b534-5e1459ef0062_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QTOw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c576a3c-0a5c-4fcb-b534-5e1459ef0062_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!QTOw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c576a3c-0a5c-4fcb-b534-5e1459ef0062_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!QTOw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c576a3c-0a5c-4fcb-b534-5e1459ef0062_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!QTOw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c576a3c-0a5c-4fcb-b534-5e1459ef0062_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QTOw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c576a3c-0a5c-4fcb-b534-5e1459ef0062_1280x720.png" width="645" height="362.8125" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c576a3c-0a5c-4fcb-b534-5e1459ef0062_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:645,&quot;bytes&quot;:71624,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QTOw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c576a3c-0a5c-4fcb-b534-5e1459ef0062_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!QTOw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c576a3c-0a5c-4fcb-b534-5e1459ef0062_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!QTOw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c576a3c-0a5c-4fcb-b534-5e1459ef0062_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!QTOw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c576a3c-0a5c-4fcb-b534-5e1459ef0062_1280x720.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><em>Welcome to Project X &#8211; where dreams meet code! Dive into creativity as I guide you through the creation of a captivating project, step by step, in each monthly edition. From conceptualization to execution, Project X empowers you to master Python while unleashing your creativity. Premium readers can recommend projects at the bottom.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>This project is the first project in our <a href="https://thenerdnook.substack.com/p/12-week-data-analytics">Data Analytics series</a> as we are around the half way point now. I wanted to create a project which would allow you to use the skills you have been learning over this series.</p><p>I write with the purpose of you in mind, creating content that breaks down all that jargon into terms you can easily understand. These projects are just a little piece of that!</p><p>By the end of this Project X, you will have used your skills to create a comprehesive study that allows us to visualize and answer key questions surrounding our dataset. You will learn to create a subplot using different types of plots like the ones below.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ko3E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feed18e4e-6f13-43d8-a0a7-4934f8725270_1778x1156.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ko3E!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feed18e4e-6f13-43d8-a0a7-4934f8725270_1778x1156.png 424w, https://substackcdn.com/image/fetch/$s_!Ko3E!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feed18e4e-6f13-43d8-a0a7-4934f8725270_1778x1156.png 848w, https://substackcdn.com/image/fetch/$s_!Ko3E!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feed18e4e-6f13-43d8-a0a7-4934f8725270_1778x1156.png 1272w, https://substackcdn.com/image/fetch/$s_!Ko3E!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feed18e4e-6f13-43d8-a0a7-4934f8725270_1778x1156.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ko3E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feed18e4e-6f13-43d8-a0a7-4934f8725270_1778x1156.png" width="689" height="448.13392857142856" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eed18e4e-6f13-43d8-a0a7-4934f8725270_1778x1156.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:947,&quot;width&quot;:1456,&quot;resizeWidth&quot;:689,&quot;bytes&quot;:203032,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ko3E!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feed18e4e-6f13-43d8-a0a7-4934f8725270_1778x1156.png 424w, https://substackcdn.com/image/fetch/$s_!Ko3E!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feed18e4e-6f13-43d8-a0a7-4934f8725270_1778x1156.png 848w, https://substackcdn.com/image/fetch/$s_!Ko3E!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feed18e4e-6f13-43d8-a0a7-4934f8725270_1778x1156.png 1272w, https://substackcdn.com/image/fetch/$s_!Ko3E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feed18e4e-6f13-43d8-a0a7-4934f8725270_1778x1156.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>I have a new video on <a href="https://www.youtube.com/channel/UCwcXQMYphMbpuw8ok9HQguw">Code with Josh</a> that covers data visualization with Matplotlib. In this video we learn how to analyze coral reef bleaching data to show how ocean temperatures are effecting reefs around the world.  <a href="https://www.youtube.com/watch?v=sAkzKo8Ft2Y">Check it out here</a>.</p><p>&#128073; <em>If you value projects like this one, please leave it a &#10084;&#65039;. This helps more people discover these projects, which helps me out and shows me you enjoy content like this!</em></p><p>&#128073;<strong>Access the dataset</strong> used in this project in the next section </p><p><em>&#128073;Premium readers can recommend projects at the bottom</em></p>
      <p>
          <a href="https://www.thenerdnook.io/p/project-x-5">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[X Project #4 ~ Tetris Remastered]]></title><description><![CDATA[Build your own Tetris game in Python using Pygame! Learn OOP, collision detection, and more in this hands-on project. Start coding fun today!]]></description><link>https://www.thenerdnook.io/p/x-project-4-tetris-remastered</link><guid isPermaLink="false">https://www.thenerdnook.io/p/x-project-4-tetris-remastered</guid><dc:creator><![CDATA[Josh Wenner]]></dc:creator><pubDate>Sat, 06 Jul 2024 14:01:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hHES!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bc7a38d-df51-4d78-b2b3-540c5b7bada8_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to this month's <strong>Project X</strong>! If you're looking to level up your Python skills while having a lot of fun, you're in the right place. This time, we're diving into game development by creating the ever timeless: Tetris. </p><p>We'll be using Pygame to build your own version from scratch. Not only is this project enjoyable, but it's also a great way to strengthen your understanding of Object-Oriented Programming (OOP) and data structures.</p><p>In our fourth edition, we check out <strong>Tetris</strong>! <em>(Source Code at the bottom)</em></p><p>Some of you might be thinking, pshh that&#8217;s easy. I don&#8217;t need to build a silly game like Tetris, wrong! If I asked you right now to try it on your own, what would be your response to that?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hHES!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bc7a38d-df51-4d78-b2b3-540c5b7bada8_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hHES!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bc7a38d-df51-4d78-b2b3-540c5b7bada8_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!hHES!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bc7a38d-df51-4d78-b2b3-540c5b7bada8_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!hHES!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bc7a38d-df51-4d78-b2b3-540c5b7bada8_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!hHES!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bc7a38d-df51-4d78-b2b3-540c5b7bada8_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hHES!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bc7a38d-df51-4d78-b2b3-540c5b7bada8_1280x720.png" width="641" height="360.5625" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5bc7a38d-df51-4d78-b2b3-540c5b7bada8_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:641,&quot;bytes&quot;:63496,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hHES!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bc7a38d-df51-4d78-b2b3-540c5b7bada8_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!hHES!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bc7a38d-df51-4d78-b2b3-540c5b7bada8_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!hHES!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bc7a38d-df51-4d78-b2b3-540c5b7bada8_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!hHES!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bc7a38d-df51-4d78-b2b3-540c5b7bada8_1280x720.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><em>Welcome to Project X &#8211; where dreams meet code! Dive into creativity as I guide you through the creation of a captivating project, step by step, in each monthly edition. From conceptualization to execution, Project X empowers you to master Python while unleashing your creativity. </em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><p>I gaurentree that this project will not only teach you new concepts but also strengthen your understanding and ability to use two core programming concepts. </p><p>You&#8217;ll get the chance to learn <strong>Object-Oriented Programming</strong> in action while also using <strong>data structures</strong> to interact with components throughout this OOP style classic game!</p><p>It doesn't matter if you're a pro or just starting out; this project will be both challenging and exciting. You'll learn how to manage game states, handle user inputs, and create cool visuals. So, let's get started and make a game that's just as fun to create as it is to play!</p><p><a href="https://thenerdnook.substack.com/s/project-x?utm_source=substack&amp;utm_medium=menu">Our past projects</a> have been focused on app development surrounding specific frameworks, we&#8217;ve done two <a href="https://thenerdnook.substack.com/p/project-x-3">desktop applications</a> using PyQt, SQL and more as well as a larger scale <a href="https://thenerdnook.substack.com/p/x-project-2">Flask CRUD application</a>.</p><p>Today I want you all to take a breath, you&#8217;ll not only get the chance to relax and have boat loads of fun creating a game we all know and love, but you&#8217;ll also learn a fun game module while building on all your current skills!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Eax1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F059451c2-446f-48b0-b1ac-65c435087e90_296x495.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Eax1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F059451c2-446f-48b0-b1ac-65c435087e90_296x495.png 424w, https://substackcdn.com/image/fetch/$s_!Eax1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F059451c2-446f-48b0-b1ac-65c435087e90_296x495.png 848w, https://substackcdn.com/image/fetch/$s_!Eax1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F059451c2-446f-48b0-b1ac-65c435087e90_296x495.png 1272w, https://substackcdn.com/image/fetch/$s_!Eax1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F059451c2-446f-48b0-b1ac-65c435087e90_296x495.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Eax1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F059451c2-446f-48b0-b1ac-65c435087e90_296x495.png" width="296" height="495" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/059451c2-446f-48b0-b1ac-65c435087e90_296x495.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:495,&quot;width&quot;:296,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:16951,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Eax1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F059451c2-446f-48b0-b1ac-65c435087e90_296x495.png 424w, https://substackcdn.com/image/fetch/$s_!Eax1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F059451c2-446f-48b0-b1ac-65c435087e90_296x495.png 848w, https://substackcdn.com/image/fetch/$s_!Eax1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F059451c2-446f-48b0-b1ac-65c435087e90_296x495.png 1272w, https://substackcdn.com/image/fetch/$s_!Eax1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F059451c2-446f-48b0-b1ac-65c435087e90_296x495.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>&#128073; <em>You can download and access all the required <strong>images and assets</strong> for this game at the bottom of the article as well as my <strong>source code</strong> for this project!</em></p><p><em>As a Premium reader you can recommend projects and access source code.</em></p><p>Come join in the fun, grab your favorite cup of caffeine or drink of choice and let&#8217;s have some fun together as we explore the classic game of Tetris.</p><p>&#128073; <em>If you enjoyed this project, please leave it a &#10084;&#65039;. This helps more people discover these, which helps me out and shows me you enjoy content like this! </em></p>
      <p>
          <a href="https://www.thenerdnook.io/p/x-project-4-tetris-remastered">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[X Project #3 ~ Build a Fitness Tracker Desktop Application with PyQt and more!]]></title><description><![CDATA[Create an interactive Fitness App to track all your fitness data. Learn to use PyQt, SQL and MatplotLib together in a single application.]]></description><link>https://www.thenerdnook.io/p/project-x-3</link><guid isPermaLink="false">https://www.thenerdnook.io/p/project-x-3</guid><dc:creator><![CDATA[Josh Wenner]]></dc:creator><pubDate>Sat, 01 Jun 2024 14:02:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_Oqi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47438442-9d78-4e3c-be17-f8d171e5dd27_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to this month&#8217;s edition of Project X&#8212;a captivating journey into the world of Python's versatility and innovation!<strong> </strong>Every month, we'll take a deep dive into Python-powered projects. We'll break down the code together, see how it works, and explore how it can be used in a real life project.</p><p>My mission for Project X? To empower you with the tools and knowledge to unleash your creativity and build impactful, real-world solutions using Python.</p><p>This project will help you improve your skills in creating user-friendly interfaces, managing databases, and visualizing data. By the end, you'll know how to build an app that tracks your workouts and shows your progress in a clear and engaging way.</p><p>Whether you&#8217;re a developer looking to learn something new or a fitness fanatic wanting to merge your interests, this Project X edition has something for you!</p><p><em>Welcome to Project X &#8211; where dreams meet code! Dive into creativity as I guide you through the creation of a captivating project, step by step, in each monthly edition. From conceptualization to execution, Project X empowers you to master Python while unleashing your creativity. Premium readers can recommend projects at the bottom.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_Oqi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47438442-9d78-4e3c-be17-f8d171e5dd27_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_Oqi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47438442-9d78-4e3c-be17-f8d171e5dd27_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!_Oqi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47438442-9d78-4e3c-be17-f8d171e5dd27_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!_Oqi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47438442-9d78-4e3c-be17-f8d171e5dd27_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!_Oqi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47438442-9d78-4e3c-be17-f8d171e5dd27_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_Oqi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47438442-9d78-4e3c-be17-f8d171e5dd27_1280x720.png" width="671" height="377.4375" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/47438442-9d78-4e3c-be17-f8d171e5dd27_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:671,&quot;bytes&quot;:73592,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_Oqi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47438442-9d78-4e3c-be17-f8d171e5dd27_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!_Oqi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47438442-9d78-4e3c-be17-f8d171e5dd27_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!_Oqi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47438442-9d78-4e3c-be17-f8d171e5dd27_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!_Oqi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47438442-9d78-4e3c-be17-f8d171e5dd27_1280x720.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>Join me as we explore the powerful tools Python offers to create an app that not only tracks your workouts but also motivates you. Your journey into combining fitness and tech starts now!</p><p>In our third edition, we check out <strong>Fit Track</strong>! <em>(Source Code at the bottom)</em></p><p>We're diving into an exciting project that combines technology and fitness. This time, we&#8217;re building a Fitness Tracker Desktop Application using <strong>PyQt</strong>, <strong>Matplotlib</strong>, and <strong>SQLite</strong>.</p><p>Fitness tracking is a popular and practical way to use technology in our everyday lives. By creating your own fitness tracker, you'll learn how to handle and visualize data while also making a handy tool that you or others can use to stay on top of fitness goals.</p><p>Building a fitness tracker means you'll gain valuable skills in developing user-friendly apps, managing databases to store workout data, and creating visual reports to see progress at a glance. It's a fantastic way to blend your interest in tech with a commitment to staying healthy.</p><p>Plus, it&#8217;s rewarding to build something that has real, practical benefits. Whether you want to keep track of your own workouts or help others stay motivated, this project is both educational and useful.</p><p>&#128073; <em>If you value projects like this one, please leave it a &#10084;&#65039;. This helps more people discover these projects, which helps me out and shows me you enjoy content like this! </em></p><p><em>Premium readers can recommend projects at the bottom</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cXnj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc7cb4f-24e9-4b19-b2d3-2b1a044f07e2_780x571.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cXnj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc7cb4f-24e9-4b19-b2d3-2b1a044f07e2_780x571.png 424w, https://substackcdn.com/image/fetch/$s_!cXnj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc7cb4f-24e9-4b19-b2d3-2b1a044f07e2_780x571.png 848w, https://substackcdn.com/image/fetch/$s_!cXnj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc7cb4f-24e9-4b19-b2d3-2b1a044f07e2_780x571.png 1272w, https://substackcdn.com/image/fetch/$s_!cXnj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc7cb4f-24e9-4b19-b2d3-2b1a044f07e2_780x571.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cXnj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc7cb4f-24e9-4b19-b2d3-2b1a044f07e2_780x571.png" width="673" height="492.67051282051284" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcc7cb4f-24e9-4b19-b2d3-2b1a044f07e2_780x571.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:571,&quot;width&quot;:780,&quot;resizeWidth&quot;:673,&quot;bytes&quot;:76517,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cXnj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc7cb4f-24e9-4b19-b2d3-2b1a044f07e2_780x571.png 424w, https://substackcdn.com/image/fetch/$s_!cXnj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc7cb4f-24e9-4b19-b2d3-2b1a044f07e2_780x571.png 848w, https://substackcdn.com/image/fetch/$s_!cXnj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc7cb4f-24e9-4b19-b2d3-2b1a044f07e2_780x571.png 1272w, https://substackcdn.com/image/fetch/$s_!cXnj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc7cb4f-24e9-4b19-b2d3-2b1a044f07e2_780x571.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>Let&#8217;s dive into this fun and informative project, and by the end, you&#8217;ll have a functional fitness tracker that can make a positive impact on your daily routine!</p>
      <p>
          <a href="https://www.thenerdnook.io/p/project-x-3">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[X Project #2 ~ Comprehensive CRUD Application with Flask, SQL & SASS ]]></title><description><![CDATA[Learn to Build a Web Application using Python, SQL Alchemy, and Sassy CSS. All expanding on your current skills making you a better developer!]]></description><link>https://www.thenerdnook.io/p/x-project-2</link><guid isPermaLink="false">https://www.thenerdnook.io/p/x-project-2</guid><dc:creator><![CDATA[Josh Wenner]]></dc:creator><pubDate>Sat, 04 May 2024 14:01:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!2s71!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78ada1b-ed37-44fd-a470-434ac96f224d_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to our second Nerd Nook project&#8212;a captivating journey into the world of Python's versatility and innovation!<strong> </strong>Every month, we'll take a deep dive into Python-powered projects. We'll break down the code, see how it works, and explore how it can be used in real life. </p><p>My mission? To empower you with the tools and knowledge to unleash your creativity and build impactful solutions using Python.</p><p><em>Welcome to Project X &#8211; where dreams meet code! Dive into creativity as I guide you through the creation of a captivating project, step by step, in each monthly edition. From conceptualization to execution, Project X empowers you to master Python while unleashing your creativity. Premium readers can recommend projects at the bottom.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2s71!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78ada1b-ed37-44fd-a470-434ac96f224d_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2s71!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78ada1b-ed37-44fd-a470-434ac96f224d_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!2s71!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78ada1b-ed37-44fd-a470-434ac96f224d_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!2s71!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78ada1b-ed37-44fd-a470-434ac96f224d_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!2s71!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78ada1b-ed37-44fd-a470-434ac96f224d_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2s71!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78ada1b-ed37-44fd-a470-434ac96f224d_1280x720.png" width="623" height="350.4375" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f78ada1b-ed37-44fd-a470-434ac96f224d_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:623,&quot;bytes&quot;:72843,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2s71!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78ada1b-ed37-44fd-a470-434ac96f224d_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!2s71!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78ada1b-ed37-44fd-a470-434ac96f224d_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!2s71!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78ada1b-ed37-44fd-a470-434ac96f224d_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!2s71!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78ada1b-ed37-44fd-a470-434ac96f224d_1280x720.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 tend to focus on projects I&#8217;m passionate about or am currently building around. These could be Desktop Applications to Django Sites or Games. Python is a one stop shop, let&#8217;s use it to bring your ideas to life. This is one of the projects I teach my Python students after tackling Object oriented programming.</p><p>In our second edition, we check out <strong>Task Smash</strong>! <em>(Source Code at the bottom)</em></p><p>This project builds on your understanding of object oriented programming through classes and interaction. Today you will learn core technologies such as <em><strong>Flask</strong>, <strong>SQLAlchemy</strong>, <strong>SCSS</strong> as well as <strong>Jinja</strong></em>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lPVs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8e98d1b-b73b-40c3-a0ec-bf4c5f49ab26_965x652.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lPVs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8e98d1b-b73b-40c3-a0ec-bf4c5f49ab26_965x652.png 424w, https://substackcdn.com/image/fetch/$s_!lPVs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8e98d1b-b73b-40c3-a0ec-bf4c5f49ab26_965x652.png 848w, https://substackcdn.com/image/fetch/$s_!lPVs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8e98d1b-b73b-40c3-a0ec-bf4c5f49ab26_965x652.png 1272w, https://substackcdn.com/image/fetch/$s_!lPVs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8e98d1b-b73b-40c3-a0ec-bf4c5f49ab26_965x652.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lPVs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8e98d1b-b73b-40c3-a0ec-bf4c5f49ab26_965x652.png" width="675" height="456.0621761658031" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a8e98d1b-b73b-40c3-a0ec-bf4c5f49ab26_965x652.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:652,&quot;width&quot;:965,&quot;resizeWidth&quot;:675,&quot;bytes&quot;:51413,&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;: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_!lPVs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8e98d1b-b73b-40c3-a0ec-bf4c5f49ab26_965x652.png 424w, https://substackcdn.com/image/fetch/$s_!lPVs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8e98d1b-b73b-40c3-a0ec-bf4c5f49ab26_965x652.png 848w, https://substackcdn.com/image/fetch/$s_!lPVs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8e98d1b-b73b-40c3-a0ec-bf4c5f49ab26_965x652.png 1272w, https://substackcdn.com/image/fetch/$s_!lPVs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8e98d1b-b73b-40c3-a0ec-bf4c5f49ab26_965x652.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>Let's dive in and explore the wonders of Python-powered web development. Your adventure begins now with The Nerd Nook on Project X!</p><h2>Context</h2><p>We will be creating a powerful, shall I say top-notch ToDo list, or in more tech terms a <strong>CRUD</strong> application. A crud application is a must know for software developers as this demonstrates core skills and a well rounded understanding of the development world.</p><p>A Crud application allows us to <strong>create</strong>, <strong>read</strong>, <strong>update</strong> and <strong>delete</strong>. If you view this as a Todo list, it comes into view real quick because that&#8217;s what it essentially is. We can shape this application to match any needs you have, I&#8217;ll show you how to do this here today!</p>
      <p>
          <a href="https://www.thenerdnook.io/p/x-project-2">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[X Project #1 ~ Desktop Translator Application with Built-In Speech Recognition]]></title><description><![CDATA[Learn to Build a Desktop Application using Python, PyQt, Googletrans as well as Speech Recognition. All adding to your current skills!]]></description><link>https://www.thenerdnook.io/p/premium-project-1</link><guid isPermaLink="false">https://www.thenerdnook.io/p/premium-project-1</guid><dc:creator><![CDATA[Josh Wenner]]></dc:creator><pubDate>Sat, 06 Apr 2024 14:01:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4LBd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1db901e-88c6-4402-bc09-7bb7379a8673_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to the inaugural Nerd Nook project&#8212;a captivating journey into the realm of Python's versatility and innovation! Every month, we'll take a deep dive into Python-powered projects. We'll break down the code, see how it works, and explore how it can be used in real life.</p><p>My mission? To empower you with the tools and knowledge to unleash your creativity and build impactful solutions using Python.</p><p><em>Welcome to Project X &#8211; where dreams meet code! Dive into creativity as I guide you through the creation of a captivating project, step by step, in each monthly edition. From conceptualization to execution, Project X empowers you to master Python while unleashing your creativity. Premium readers can recommend projects at the bottom.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.thenerdnook.io/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://www.thenerdnook.io/subscribe?"><span>Subscribe now</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4LBd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1db901e-88c6-4402-bc09-7bb7379a8673_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4LBd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1db901e-88c6-4402-bc09-7bb7379a8673_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!4LBd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1db901e-88c6-4402-bc09-7bb7379a8673_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!4LBd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1db901e-88c6-4402-bc09-7bb7379a8673_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!4LBd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1db901e-88c6-4402-bc09-7bb7379a8673_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4LBd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1db901e-88c6-4402-bc09-7bb7379a8673_1280x720.png" width="653" height="367.3125" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f1db901e-88c6-4402-bc09-7bb7379a8673_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:653,&quot;bytes&quot;:66606,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4LBd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1db901e-88c6-4402-bc09-7bb7379a8673_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!4LBd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1db901e-88c6-4402-bc09-7bb7379a8673_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!4LBd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1db901e-88c6-4402-bc09-7bb7379a8673_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!4LBd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1db901e-88c6-4402-bc09-7bb7379a8673_1280x720.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 tend to focus on projects I&#8217;m passionate about or am currently building around.  These could be Desktop Applications to Django Sites or Games.  Python is a one stop shop, let&#8217;s use it to bring your ideas to life. This is one of the projects I teach my Python students after tackling Object oriented programming.  </p><p>This project builds on your understanding of object oriented programming through classes and interaction.  We use the powerful<em> Python GUI framework of PyQt</em> that pairs well with <em>Google</em> and <em>Speech Recognition</em>.</p><p>In this maiden edition, we check out PyLate.  </p><p>A seamless translation at your fingertips, speech recognition that listens and learns, and a user-friendly interface that beckons exploration. PyLator isn't just an app; it's a gateway to a world where language barriers fade and communication thrives. </p><p>Whether you're a seasoned developer, a language aficionado, or simply curious about the power of Python, PyLate beckons with promises of innovation and discovery.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-w9i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e901e5f-2150-4ba5-bc90-f6d95c914cea_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-w9i!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e901e5f-2150-4ba5-bc90-f6d95c914cea_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!-w9i!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e901e5f-2150-4ba5-bc90-f6d95c914cea_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!-w9i!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e901e5f-2150-4ba5-bc90-f6d95c914cea_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!-w9i!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e901e5f-2150-4ba5-bc90-f6d95c914cea_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-w9i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e901e5f-2150-4ba5-bc90-f6d95c914cea_1280x720.png" width="665" height="374.0625" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e901e5f-2150-4ba5-bc90-f6d95c914cea_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:665,&quot;bytes&quot;:101154,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-w9i!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e901e5f-2150-4ba5-bc90-f6d95c914cea_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!-w9i!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e901e5f-2150-4ba5-bc90-f6d95c914cea_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!-w9i!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e901e5f-2150-4ba5-bc90-f6d95c914cea_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!-w9i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e901e5f-2150-4ba5-bc90-f6d95c914cea_1280x720.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>Let's dive in and explore the wonders of Python-powered translation and speech recognition together. Your adventure begins now!</p>
      <p>
          <a href="https://www.thenerdnook.io/p/premium-project-1">
              Read more
          </a>
      </p>
   ]]></content:encoded></item></channel></rss>