<?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[Raising Pixels]]></title><description><![CDATA[Teach your toddler computational thinking. For parents who build and want their kids to create. Weekly workflows for when your coworker is 3.]]></description><link>https://www.raisingpixels.dev</link><image><url>https://substackcdn.com/image/fetch/$s_!tpPw!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322c4f6e-1c1c-4771-941a-7ba11d95bc71_1280x1280.png</url><title>Raising Pixels</title><link>https://www.raisingpixels.dev</link></image><generator>Substack</generator><lastBuildDate>Sun, 12 Apr 2026 05:23:46 GMT</lastBuildDate><atom:link href="https://www.raisingpixels.dev/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Mei Park]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[meipark@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[meipark@substack.com]]></itunes:email><itunes:name><![CDATA[Mei Park]]></itunes:name></itunes:owner><itunes:author><![CDATA[Mei Park]]></itunes:author><googleplay:owner><![CDATA[meipark@substack.com]]></googleplay:owner><googleplay:email><![CDATA[meipark@substack.com]]></googleplay:email><googleplay:author><![CDATA[Mei Park]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The Naptime Startup: Real Math for Parent Founders]]></title><description><![CDATA[540 focused hours a year is more than enough to build something real &#8212; if you spend them on the right thing.]]></description><link>https://www.raisingpixels.dev/p/the-naptime-startup-real-math-for</link><guid isPermaLink="false">https://www.raisingpixels.dev/p/the-naptime-startup-real-math-for</guid><dc:creator><![CDATA[Mei Park]]></dc:creator><pubDate>Sat, 11 Apr 2026 13:26:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!33s8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba7e84c-7dfa-43b1-ad3c-c1873f35704e_1344x896.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!33s8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba7e84c-7dfa-43b1-ad3c-c1873f35704e_1344x896.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!33s8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba7e84c-7dfa-43b1-ad3c-c1873f35704e_1344x896.jpeg 424w, https://substackcdn.com/image/fetch/$s_!33s8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba7e84c-7dfa-43b1-ad3c-c1873f35704e_1344x896.jpeg 848w, https://substackcdn.com/image/fetch/$s_!33s8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba7e84c-7dfa-43b1-ad3c-c1873f35704e_1344x896.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!33s8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba7e84c-7dfa-43b1-ad3c-c1873f35704e_1344x896.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!33s8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba7e84c-7dfa-43b1-ad3c-c1873f35704e_1344x896.jpeg" width="1344" height="896" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2ba7e84c-7dfa-43b1-ad3c-c1873f35704e_1344x896.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:896,&quot;width&quot;:1344,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:257582,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.raisingpixels.dev/i/192550792?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba7e84c-7dfa-43b1-ad3c-c1873f35704e_1344x896.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!33s8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba7e84c-7dfa-43b1-ad3c-c1873f35704e_1344x896.jpeg 424w, https://substackcdn.com/image/fetch/$s_!33s8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba7e84c-7dfa-43b1-ad3c-c1873f35704e_1344x896.jpeg 848w, https://substackcdn.com/image/fetch/$s_!33s8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba7e84c-7dfa-43b1-ad3c-c1873f35704e_1344x896.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!33s8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba7e84c-7dfa-43b1-ad3c-c1873f35704e_1344x896.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There&#8217;s a genre of founder content that doesn&#8217;t apply to us. The one where someone quits their job, gets a MacBook, and ships a SaaS from a coffee shop in Lisbon. The 4-hour workweek, remixed for the AI era. Build fast, ship faster, iterate fastest.</p><p>We have a different constraint set. My co-founder is three, doesn&#8217;t nap anymore, and just learned that the letter combination S-T-O-P spells a word he can yell at maximum volume. My office is the kitchen counter (while my toddler snacks). My sprint window is the gap between bedtime and when I physically cannot stay awake.</p><p>Here&#8217;s the thing nobody tells you: those constraints aren&#8217;t a disadvantage. They&#8217;re a filter. They force you to build the right way.</p><h2><strong>The time budget (it&#8217;s enough)</strong></h2><p>A stay-at-home parent with one child, no naps, and no regular childcare has approximately this much daily availability for focused work:</p><ul><li><p><strong>Before kid wakes up:</strong> 0&#8211;90 minutes (depends on your alarm discipline and their sleep schedule)</p></li><li><p><strong>During independent play:</strong> 15&#8211;45 minutes (fragmented, interruptible)</p></li><li><p><strong>After bedtime:</strong> 90&#8211;180 minutes (your only reliable block)</p></li></ul><p>Total: 2&#8211;5 hours per day. But &#8220;hours&#8221; is misleading. Context-switching between parenting and deep work has a cognitive cost that research consistently pegs at <a href="https://ics.uci.edu/~gmark/chi08-mark.pdf">23 minutes to regain focus</a> (Gloria Mark, UCI). So your 25-minute play break isn&#8217;t 25 productive minutes. It&#8217;s ramp-up time plus the shallow work you can likely get done in the remaining 2 minutes.</p><p>Your real number: <strong>90&#8211;180 minutes of quality focus time per day.</strong> Some days less. Some days zero. Sick days, bad sleep nights, developmental leaps &#8212; these all eat into a budget that was already lean.</p><p>Here&#8217;s why that&#8217;s still enough: 90 minutes a day, compounded over a year, is <strong>540 hours.</strong> A typical solo founder without children has 6&#8211;10 focused hours daily &#8212; but they also spend a lot of those hours on the wrong things. You can&#8217;t afford that luxury, which means every hour you spend is deliberate. Constraints create clarity.</p><p>540 hours is enough to write a book. Build a product line. Launch a newsletter. Establish a real revenue stream. That&#8217;s not just theory &#8212; I&#8217;ve done all of those in the last six months alone.</p><h2><strong>The childcare question</strong></h2><p>The obvious lever: hire childcare, buy more time. The honest challenge: childcare costs money you might not have yet.</p><p>Average US childcare in 2026: <a href="https://worldpopulationreview.com/state-rankings/child-care-costs-by-state">$24,243/year in DC</a>, $12,000&#8211;$18,000 in most metros. Part-time (3 mornings a week) runs $500&#8211;$800/month. The <a href="https://www.care.com/c/how-much-does-child-care-cost/">Care.com 2026 Cost of Care Report</a> found parents spend 20% of household income on childcare &#8212; nearly triple what HHS considers affordable.</p><p>The math: to justify $600/month from business revenue, you&#8217;d need roughly <strong>$9,000 in gross sales</strong> per year on Gumroad (after fees and processing). On a $29 product, that&#8217;s about <strong>26 units per month</strong>.</p><p>Most digital products don&#8217;t hit that number in year one. So what do you do?</p><p>You bootstrap through the gap. You build the first product in those 90-minute windows. You ship it before the childcare math makes sense. And then, if you want to, you use early revenue to buy back time incrementally &#8212; a mother&#8217;s helper two mornings a week, a swap with another parent, a few hours of drop-in care. The gap is real, but it&#8217;s temporary. The product you build during the gap is what closes 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_!fgDa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F241fb3f6-e73c-4944-b92b-8c4c6bcafada_1344x896.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fgDa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F241fb3f6-e73c-4944-b92b-8c4c6bcafada_1344x896.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fgDa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F241fb3f6-e73c-4944-b92b-8c4c6bcafada_1344x896.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fgDa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F241fb3f6-e73c-4944-b92b-8c4c6bcafada_1344x896.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fgDa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F241fb3f6-e73c-4944-b92b-8c4c6bcafada_1344x896.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fgDa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F241fb3f6-e73c-4944-b92b-8c4c6bcafada_1344x896.jpeg" width="1344" height="896" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/241fb3f6-e73c-4944-b92b-8c4c6bcafada_1344x896.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:896,&quot;width&quot;:1344,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:387450,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.raisingpixels.dev/i/192550792?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F241fb3f6-e73c-4944-b92b-8c4c6bcafada_1344x896.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fgDa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F241fb3f6-e73c-4944-b92b-8c4c6bcafada_1344x896.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fgDa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F241fb3f6-e73c-4944-b92b-8c4c6bcafada_1344x896.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fgDa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F241fb3f6-e73c-4944-b92b-8c4c6bcafada_1344x896.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fgDa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F241fb3f6-e73c-4944-b92b-8c4c6bcafada_1344x896.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>Why &#8220;hustle harder&#8221; is the wrong advice</strong></h2><p>The &#8220;build while your kids sleep&#8221; advice works for a sprint &#8212; ship something in two weeks of late nights. Late nights don&#8217;t work as a lifestyle. Chronic sleep deprivation degrades decision-making to a measurable degree &#8212; <a href="https://pubmed.ncbi.nlm.nih.gov/10984335/">17&#8211;19 hours without sleep equals a BAC of 0.05%</a> (Williamson &amp; Feyer, 2000). Impaired founders ship products with bugs, copy with typos, and pricing mistakes they don&#8217;t catch.</p><p>The smarter move: protect your 90-minute window like it&#8217;s sacred. Don&#8217;t expand your hours. Expand what you accomplish in them with clear goals and strict scope. The constraint isn&#8217;t your enemy &#8212; the temptation to fight it is.</p><h2><strong>The business model that fits</strong></h2><p>If your daily focus window is 2 hours, you need a model that matches. Some models fight your schedule:</p><ul><li><p><strong>Client services</strong> (freelance, consulting): Requires synchronous availability and responsive communication. Incompatible with all-day childrearing and unpredictable days.</p></li><li><p><strong>SaaS with support obligations</strong>: Uptime, bug reports, feature requests &#8212; all on someone else&#8217;s timeline.</p></li><li><p><strong>Content that requires daily posting</strong>: Unless you&#8217;re disciplined with batching in advance, the algorithm rewards consistency your schedule can&#8217;t guarantee.</p></li></ul><p>Some models work with it:</p><ul><li><p><strong>Digital products with zero marginal cost</strong>: Ebooks, templates, courses, prompt packs. Build once, sell forever. No inventory, no fulfillment, no schedule.</p></li><li><p><strong>Async content</strong>: Newsletters on a weekly cadence you control. Not daily &#8212; weekly.</p></li><li><p><strong>Tools with minimal support</strong>: Open-source with community maintenance. Paid add-ons on platforms that handle distribution.</p></li></ul><p>The operating principle: <strong>your work and your revenue need to be decoupled in time.</strong> You do the work at 10pm. Someone buys at 3pm the next day while you&#8217;re at the playground. If the business requires you to be present when the customer is, pick a different model.</p><h2><strong>The identity evolution</strong></h2><p>This is the part that has nothing to do with math and everything to do with whether you keep going.</p><p>You used to be an engineer. Or a designer. Or a PM. You had a title, a team, a salary. People knew what you did.</p><p>Now you&#8217;re someone who makes peanut butter sandwiches with the crusts cut off and occasionally opens a laptop after 8pm. The temptation is to prove you still have it &#8212; over-engineer a SaaS, build something complex, show the market you haven&#8217;t gone soft.</p><p>The ego project is the most expensive mistake a parent founder can make, because it consumes your scarcest resource &#8212; focus time &#8212; on something the market didn&#8217;t ask for.</p><p>The businesses that work for parents are usually satisfyingly simple. An ebook, not a platform. A template, not a framework. A curated resource, not a custom tool. Simple ships faster. Simple needs less maintenance. Simple survives the weeks when your kid has a stomach bug and you haven&#8217;t opened your laptop in five days.</p><p>And here&#8217;s what the identity crisis misses: you didn&#8217;t lose your skills. You gained a constraint that makes you a sharper builder. The person who can ship a product in 90-minute increments between bedtime and exhaustion is a more disciplined operator than someone with unlimited runway and no urgency.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ma90!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9127cffa-1951-4721-901d-fc8664644de7_1344x896.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ma90!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9127cffa-1951-4721-901d-fc8664644de7_1344x896.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ma90!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9127cffa-1951-4721-901d-fc8664644de7_1344x896.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ma90!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9127cffa-1951-4721-901d-fc8664644de7_1344x896.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ma90!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9127cffa-1951-4721-901d-fc8664644de7_1344x896.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ma90!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9127cffa-1951-4721-901d-fc8664644de7_1344x896.jpeg" width="1344" height="896" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9127cffa-1951-4721-901d-fc8664644de7_1344x896.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:896,&quot;width&quot;:1344,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:398870,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.raisingpixels.dev/i/192550792?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9127cffa-1951-4721-901d-fc8664644de7_1344x896.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ma90!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9127cffa-1951-4721-901d-fc8664644de7_1344x896.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ma90!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9127cffa-1951-4721-901d-fc8664644de7_1344x896.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ma90!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9127cffa-1951-4721-901d-fc8664644de7_1344x896.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ma90!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9127cffa-1951-4721-901d-fc8664644de7_1344x896.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>The unfair advantages</strong></h2><p>The constraints are real. They&#8217;re also an edge.</p><p><strong>You have no exit pressure.</strong> No investors, no runway, no board meetings. If your product makes $500/month and that covers groceries, it&#8217;s working. You can iterate for years at a pace that would get a VC-backed founder fired. Time horizon is your moat.</p><p><strong>You&#8217;re battle-tested.</strong> Project management with a toddler is project management under uncertainty &#8212; no sprint planning, no tickets, and a stakeholder who changes requirements every 30 seconds. If you can ship under those conditions, you can ship under any conditions.</p><p><strong>Your story resonates.</strong> The market is full of polished founders with perfect launches. A parent who built something real in the margins of a chaotic life? That&#8217;s a story people root for, share, and buy from.</p><h2><strong>The bottom line</strong></h2><p>Building a business as a stay-at-home parent is slower than the inspiration posts suggest. The math is real. The time is limited.</p><p>But 540 hours a year, spent deliberately, compounds into something significant. Not a startup. Not a unicorn. A business that works on your terms, at your pace, that doesn&#8217;t require you to choose between building something and being present for the person you&#8217;re building it for.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.raisingpixels.dev/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.raisingpixels.dev/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Physical First, Digital Second: Why Unplugged Activities Make Screen Time Work Better]]></title><description><![CDATA[My son sorted cherry tomatoes into a rainbow. Then we built a sorting game. The order matters more than you think.]]></description><link>https://www.raisingpixels.dev/p/physical-first-digital-second-why</link><guid isPermaLink="false">https://www.raisingpixels.dev/p/physical-first-digital-second-why</guid><dc:creator><![CDATA[Mei Park]]></dc:creator><pubDate>Sat, 04 Apr 2026 13:04:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!dGTp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264e3af-86c3-4da5-82d1-a4e52a290741_1456x816.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My son loves cherry tomatoes. He picks which one I cut next, and I slice it up for him. It&#8217;s a snack ritual.</p><p>The other day, he stopped eating them and started lining them up instead. Yellow ones here. Orange ones there. Red. Then the weird reddish-brown ones that look like they can&#8217;t decide what they are. He made a rainbow across the counter, completely unprompted.</p><p>A few days later, we sat down and built a sorting game on the computer. Emoji animals and emoji vehicles appear on screen, and you drag them to either a garage or a grassy field. He got it instantly &#8212; he&#8217;d already done the hard cognitive work of sorting with tomatoes, and many other things before that. The screen version was just a new surface for something he already understood.</p><p>Physical first, digital second; that way, they&#8217;ve something to relate the latter to.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RZNn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f7173b9-7948-498e-a0bb-11ceccd17e2d_1456x816.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RZNn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f7173b9-7948-498e-a0bb-11ceccd17e2d_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!RZNn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f7173b9-7948-498e-a0bb-11ceccd17e2d_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!RZNn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f7173b9-7948-498e-a0bb-11ceccd17e2d_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!RZNn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f7173b9-7948-498e-a0bb-11ceccd17e2d_1456x816.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RZNn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f7173b9-7948-498e-a0bb-11ceccd17e2d_1456x816.jpeg" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7f7173b9-7948-498e-a0bb-11ceccd17e2d_1456x816.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:294713,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.raisingpixels.dev/i/190234466?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f7173b9-7948-498e-a0bb-11ceccd17e2d_1456x816.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RZNn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f7173b9-7948-498e-a0bb-11ceccd17e2d_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!RZNn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f7173b9-7948-498e-a0bb-11ceccd17e2d_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!RZNn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f7173b9-7948-498e-a0bb-11ceccd17e2d_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!RZNn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f7173b9-7948-498e-a0bb-11ceccd17e2d_1456x816.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>Why Physical Matters</h2><p>Young kids learn through their bodies first.</p><p>Piaget&#8217;s stages of cognitive development place children under seven in the <a href="https://www.ncbi.nlm.nih.gov/books/NBK448206/">preoperational stage</a>, where thinking is tied to concrete, tangible experience. Abstract reasoning &#8212; the kind screens demand &#8212; doesn&#8217;t fully develop until much later. Children at this age think by <em>doing</em>. They need to touch, move, sort, stack, and break things to build mental models.</p><p>Montessori figured this out over a century ago: concrete before abstract. Let children manipulate real objects until the concept lives in their hands, then introduce the symbolic version. Research in <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC4036138/">embodied cognition</a> backs this up &#8212; physical manipulation creates sensorimotor traces that anchor learning in ways that flat visual input alone doesn&#8217;t.</p><p>When my son sorted tomatoes by color, he was making decisions. This one&#8217;s orange, not red. This one&#8217;s in between &#8212; where does it go? That&#8217;s where the cognitive exercise is occurring. The sorting game on the computer just gave him a new context to exercise the same skill.</p><p>Screens are visual and auditory only. That&#8217;s fine for adults who have decades of physical experience to draw on. But for a three-year-old still building those mental models, starting on a screen is like reading the manual before seeing the tool. You&#8217;ve got a thin concept of it without real texture or heft.</p><p>I&#8217;m not anti-screen. My son learned to read with an iPad app, and we build browser games together for fun. But I&#8217;ve noticed a clear pattern: when we do a physical version of a concept first, the digital version lands faster, sticks better, and is way more fun for both of us.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dGTp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264e3af-86c3-4da5-82d1-a4e52a290741_1456x816.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dGTp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264e3af-86c3-4da5-82d1-a4e52a290741_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dGTp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264e3af-86c3-4da5-82d1-a4e52a290741_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dGTp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264e3af-86c3-4da5-82d1-a4e52a290741_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dGTp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264e3af-86c3-4da5-82d1-a4e52a290741_1456x816.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dGTp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264e3af-86c3-4da5-82d1-a4e52a290741_1456x816.jpeg" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2264e3af-86c3-4da5-82d1-a4e52a290741_1456x816.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:315268,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.raisingpixels.dev/i/190234466?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264e3af-86c3-4da5-82d1-a4e52a290741_1456x816.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dGTp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264e3af-86c3-4da5-82d1-a4e52a290741_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dGTp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264e3af-86c3-4da5-82d1-a4e52a290741_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dGTp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264e3af-86c3-4da5-82d1-a4e52a290741_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dGTp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264e3af-86c3-4da5-82d1-a4e52a290741_1456x816.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>The Pattern</h2><p><strong>1. Physical exploration.</strong> Hands-on, no screens. The concept shows up through play.</p><p><strong>2. Connection.</strong> Talk about what just happened. &#8220;You sorted the tomatoes by color &#8212; what other ways could we sort them?&#8221;</p><p><strong>3. Digital creation.</strong> Build something on the computer that uses the same concept. &#8220;Want to make a sorting game?&#8221;</p><p><strong>4. Play.</strong> Actually play with what you built. The kid sees their physical understanding reflected on screen.</p><p>The bridge between steps 2 and 3 is where the magic happens. When my son sits down at the computer after sorting tomatoes, he&#8217;s not encountering &#8220;sorting&#8221; for the first time. He&#8217;s <em>recognizing</em> it. &#8220;Oh, this is like the tomatoes!&#8221; The concept transfers.</p><h2>Real Examples</h2><p>Here&#8217;s how this plays out with different computational thinking concepts:</p><h3>Sequencing</h3><p><strong>Physical:</strong> Steps for washing the car. First you rinse it. Then soap. Then scrub. Then rinse again. Order matters &#8212; soap without water does nothing.</p><p><strong>Digital:</strong> We made a car wash game where tools appear on screen (water, soap, sponge) and you click them in the right order to wash the car. He already knew the sequence from doing it real life. The game just let him practice it on repeat without the running water.</p><h3>Patterns</h3><p><strong>Physical:</strong> I point these out to him everywhere. Stripes on a crosswalk. Alternating fence posts. The rhythm of windshield wipers. Once you start noticing patterns, a three-year-old will not let you stop.</p><p><strong>Digital:</strong> We made a pattern prediction game using images of his favorite airplanes. A sequence appears &#8212; Airbus Beluga, Super Guppy, Airbus Beluga, Super Guppy &#8212; and he picks what comes next. He was already pattern-hunting in the wild, the airplane game just made it even more interesting.</p><h3>Loops</h3><p><strong>Physical:</strong> Cleaning up his toys. Pick up a block, put it in the bin. Pick up a block, put it in the bin. Same action, repeated until done. That&#8217;s a loop.</p><p><strong>Digital:</strong> A maze game where you move a character forward by repeatedly pressing the arrow key. The loop concept already had a physical anchor from cleanup time &#8211; continue until complete.</p><h3>Cause and Effect</h3><p><strong>Physical:</strong> Matchbox cars on a ramp. Place the car at the top, let go, it rolls down. Line up wood blocks like dominoes and knock them over. Every action has a visible, immediate consequence.</p><p><strong>Digital:</strong> This is every game we&#8217;ve ever made. Click a button, something happens. Change a number, something changes. But the ramps and the blocks came first, and that&#8217;s why cause-and-effect on screen already makes sense to him.</p><h2>What the Research Actually Says</h2><p>Most developer parents skip straight to the screen &#8212; we live there, we can explain sorting abstractly, why bother with tomatoes? Because we&#8217;re not three. We have decades of physical experience backing every abstract concept we encounter. A toddler doesn&#8217;t have that yet. And the research explains why it matters.</p><p>Piaget&#8217;s <a href="https://www.ncbi.nlm.nih.gov/books/NBK537095/">concrete operational framework</a> established that children under seven learn through direct manipulation of their environment &#8212; they literally cannot reason abstractly yet. Their thinking is bound to what they can see and touch.</p><p>Research on <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC4036138/">embodied cognition in children</a> shows that physical manipulation creates sensorimotor memory traces that persist and transfer to new contexts. When a child sorts objects with their hands, they&#8217;re not just learning &#8220;sorting&#8221; &#8212; they&#8217;re building neural pathways that activate again when they encounter sorting in a different form.</p><p>A <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC5321706/">2017 study on embodied math learning</a> found that physical manipulation of objects before abstract representation improved both understanding and transfer &#8212; but only when the physical activity was directly connected to the concept. Random hands-on play didn&#8217;t help. Intentional physical exploration of the <em>same idea</em> they&#8217;d later encounter digitally did.</p><p>This is why the pattern matters. It&#8217;s not &#8220;play outside then do screen time.&#8221; It&#8217;s &#8220;explore <em>this specific concept</em> physically, then build <em>this specific concept</em> digitally.&#8221; The connection between the two is everything.</p><h2>The Permission to Be Low-Tech</h2><p>There&#8217;s a weird pressure in the developer parent community to start kids on technology as early as possible. As if your professional identity depends on your toddler being tech-forward.</p><p>Your three-year-old sorting cherry tomatoes on a cutting board isn&#8217;t falling behind, they&#8217;re building the cognitive scaffolding that will make every future digital experience meaningful instead of superficial.</p><p>No need to rush past the physical parts. The screens will be there later, but the tomatoes won&#8217;t keep.</p><p><em>This essay is part of the thinking behind <a href="https://buildwithyourkid.com">12 Weeks of Tech Projects to Build With Your Kid</a> &#8212; a hands-on curriculum for ages 2-6 that pairs physical activities with AI-assisted game building. No screens required for most of it.</em></p>]]></content:encoded></item><item><title><![CDATA[Build First, Plan Later: What My 3-Year-Old Knows About Making Things]]></title><description><![CDATA[Why tinkering without a plan teaches kids computational thinking better than any curriculum &#8212; backed by Papert, Turkle, and a pile of blocks]]></description><link>https://www.raisingpixels.dev/p/build-first-plan-later-what-my-3</link><guid isPermaLink="false">https://www.raisingpixels.dev/p/build-first-plan-later-what-my-3</guid><dc:creator><![CDATA[Mei Park]]></dc:creator><pubDate>Sat, 28 Mar 2026 13:01:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!jp9T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee19aae1-16f2-4390-bc68-8214c30bc5ba_1456x816.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My son was playing with blocks yesterday. I wasn&#8217;t directing him. I was just watching.</p><p>He stacked two triangular prisms together and ran a matchbox car down the slope. A ramp.</p><p>Then he added a flat block at the top. Now the car could drive up the ramp onto a platform. The ramp wasn&#8217;t a ramp anymore &#8212; it was a driveway.</p><p>Then he added a gantry over the platform. Declared the whole thing a race course. Started lining up cars at the top.</p><p>He didn&#8217;t sit down and think &#8220;I&#8217;m going to build a race course.&#8221; He built a ramp, and the ramp told him what it wanted to be next.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jp9T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee19aae1-16f2-4390-bc68-8214c30bc5ba_1456x816.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jp9T!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee19aae1-16f2-4390-bc68-8214c30bc5ba_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!jp9T!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee19aae1-16f2-4390-bc68-8214c30bc5ba_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!jp9T!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee19aae1-16f2-4390-bc68-8214c30bc5ba_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!jp9T!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee19aae1-16f2-4390-bc68-8214c30bc5ba_1456x816.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jp9T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee19aae1-16f2-4390-bc68-8214c30bc5ba_1456x816.jpeg" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ee19aae1-16f2-4390-bc68-8214c30bc5ba_1456x816.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:313626,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.raisingpixels.dev/i/190211622?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee19aae1-16f2-4390-bc68-8214c30bc5ba_1456x816.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jp9T!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee19aae1-16f2-4390-bc68-8214c30bc5ba_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!jp9T!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee19aae1-16f2-4390-bc68-8214c30bc5ba_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!jp9T!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee19aae1-16f2-4390-bc68-8214c30bc5ba_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!jp9T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee19aae1-16f2-4390-bc68-8214c30bc5ba_1456x816.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>The Bricoleur</h2><p>In 1962, anthropologist Claude L&#233;vi-Strauss described two fundamentally different ways humans create things. The <em>engineer</em> starts with a plan &#8212; a blueprint, a specification, a clear picture of the end goal &#8212; and then acquires the exact materials needed to execute it. The <em>bricoleur</em> starts with whatever&#8217;s at hand and builds by rearranging, adapting, and responding to what emerges.</p><p>L&#233;vi-Strauss wasn&#8217;t ranking them. He was arguing they&#8217;re equally sophisticated ways of thinking. But if you&#8217;ve spent any time in schools or workplaces, you know which one gets all the respect.</p><p>Almost thirty years later, MIT researchers Sherry Turkle and Seymour Papert observed the same split in how children learn to program. Some kids planned their program top-down: outline the structure, define the functions, then fill in the details. Others &#8212; the bricoleurs &#8212; came up with a set of instructions, ran it, reacted to what happened, adjusted, ran it again. They were in <em>conversation</em> with the material.</p><p>The planners&#8217; result wasn&#8217;t better. It was just more legible to teachers who&#8217;d been trained to value planning. Turkle and Papert called this bias a failure of &#8220;epistemological pluralism&#8221; &#8212; a fancy way of saying we only recognize one style of thinking as real thinking.</p><p>My three-year-old doesn&#8217;t know any of this. He just builds the way that feels natural, which happens to be the way L&#233;vi-Strauss described, Turkle and Papert validated, and every maker space on earth now tries to teach back to adults.</p><h2>What the Blocks Are Saying</h2><p>Here&#8217;s the thing about the race course: each step made sense <em>only in context of the step before it.</em></p><p>The platform made sense because the ramp existed. The gantry made sense because the platform existed. If you&#8217;d asked my son at the beginning &#8220;what are you building?&#8221; he would have said &#8220;a ramp&#8221; &#8212; because that&#8217;s all it was. The race course didn&#8217;t exist yet. It couldn&#8217;t exist yet. It emerged from the building.</p><p>This is what Papert meant when he described learning as a conversation between the builder and the thing being built. The blocks aren&#8217;t passive raw materials. They&#8217;re participants. Every time my son placed one, the structure changed &#8212; and the changed structure suggested new possibilities. The ramp <em>became</em> an entryway the moment the platform appeared beside it. The context shifted.</p><p>Mitchel Resnick, Papert&#8217;s student at MIT and the creator of Scratch, later formalized this as the Creative Learning Spiral: imagine, create, play, share, reflect, imagine again. It&#8217;s the cycle that drives kindergarten &#8212; and, he argues in <em>Lifelong Kindergarten</em>, it&#8217;s how the most creative work happens at every age. We just stop calling it learning and start calling it &#8220;iterative design&#8221; or &#8220;rapid prototyping&#8221; somewhere around middle school.</p><h2>What We Train Out of Them</h2><p>Every formal education system I&#8217;ve encountered &#8212; and I went through a lot of them to earn my Masters &#8212; eventually teaches children to plan before they build. Outline before you write. Spec before you code. Know what you&#8217;re making before you start making it.</p><p>This is useful. I&#8217;m not arguing against blueprints. If you&#8217;re building a bridge, please have a blueprint.</p><p>But there&#8217;s a cost to making planning the <em>only</em> acceptable mode. When &#8220;what are you building?&#8221; always requires a confident answer before you&#8217;re allowed to pick up the materials, you lose something. You lose the willingness to start without knowing where you&#8217;ll end up. You lose the ability to let the work talk back to you. You lose the ramp that becomes a race course.</p><p>Turkle and Papert saw this concretely: children who naturally built in the bricoleur style were marked down, redirected, told to &#8220;plan it out first.&#8221; Not because their programs didn&#8217;t work &#8212; they worked fine &#8212; but because the <em>process</em> looked wrong to adults who&#8217;d been trained in the engineering style.</p><p>Papert spent his career pushing back on this. His argument wasn&#8217;t that planning is bad. It was that <em>we systematically undervalue building-as-thinking.</em> When a kid stacks blocks and discovers something he didn&#8217;t intend, that&#8217;s not a failure of planning. That&#8217;s cognition. That&#8217;s how humans have made things for most of our history. The blueprint is the newcomer.</p><h2>The Feedback Loop</h2><p>What makes my son&#8217;s block play look like play and a designer&#8217;s prototype sprint look like work? (A paycheck?)</p><p>Build something small. Look at what you built. Respond to what you see. Build the next thing. The feedback loop is the same whether you&#8217;re three years old with wooden blocks or thirty years old with a Figma prototype.</p><p>The race course emerged from forty-five seconds of iterative building. Ramp &#8594; platform &#8594; gantry &#8594; &#8220;it&#8217;s a race course!&#8221; Each cycle took maybe ten seconds. No hesitation. No &#8220;is this good enough to show someone?&#8221; Just build, observe, respond.</p><p>This is the loop I try to protect. Not because I want to raise a kid who never plans &#8212; he&#8217;ll learn that skill, and it&#8217;s a good one. But because the instinct to <em>start building and let the thing tell you what it wants to be</em> is rare and valuable and very, very easy to train out of someone.</p><h2>Try This</h2><p>Next time your kid is building something &#8212; blocks, LEGO, a pillow fort, a drawing &#8212; resist the urge to ask &#8220;what are you making?&#8221; at the beginning.</p><p>Just watch.</p><p>Watch how each piece responds to the last. Watch the project change identity midstream. Watch a tower become a bridge become a house become a rocket ship. That&#8217;s not indecision. That&#8217;s a conversation between a builder and a material, playing out in real time.</p><p>That&#8217;s the feedback loop that drives all creative work. Your kid just hasn&#8217;t learned to be self-conscious about it yet.</p><p>Protect that.</p><div><hr></div><p><em>This essay is part of the thinking behind <a href="https://buildwithyourkid.com">12 Weeks of Tech Projects to Build With Your Kid</a> &#8212; a curriculum designed around exploration-first learning for ages 2-6.</em></p><h3>References</h3><ul><li><p>L&#233;vi-Strauss, C. (1962). <em><a href="https://archive.org/details/savagemindnature00clau">The Savage Mind.</a></em> University of Chicago Press.</p></li><li><p>Turkle, S. &amp; Papert, S. (1990). <a href="https://www.jstor.org/stable/3174610">&#8220;Epistemological Pluralism: Styles and Voices within the Computer Culture.&#8221;</a> <em>Signs</em>, 16(1), 128-157.</p></li><li><p>Papert, S. (1980). <em><a href="https://archive.org/details/mindstormschildr00pape">Mindstorms: Children, Computers, and Powerful Ideas.</a></em> Basic Books.</p></li><li><p>Resnick, M. (2017). <em><a href="https://mitpress.mit.edu/9780262536134/lifelong-kindergarten/">Lifelong Kindergarten: Cultivating Creativity through Projects, Passion, Peers, and Play.</a></em> MIT Press.</p></li></ul>]]></content:encoded></item><item><title><![CDATA[The Device Is Neutral. The Activity Is Everything.]]></title><description><![CDATA[Why active vs. passive screen time matters more than screen time limits &#8212; a research-backed framework for parents of toddlers and preschoolers]]></description><link>https://www.raisingpixels.dev/p/the-device-is-neutral-the-activity</link><guid isPermaLink="false">https://www.raisingpixels.dev/p/the-device-is-neutral-the-activity</guid><dc:creator><![CDATA[Mei Park]]></dc:creator><pubDate>Sat, 21 Mar 2026 13:00:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!AQDd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F502aa7e0-333f-4d4d-ba72-19fba198fef3_1456x816.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We used to let our son watch Cocomelon. He was one, maybe fourteen months. It seemed harmless &#8212; bright colors, nursery rhymes, educational-looking. He loved it. We thought he was learning.</p><p>What we didn&#8217;t know: Cocomelon switches scenes every one to two seconds. That&#8217;s not an accident. It&#8217;s engineered &#8212; focus-grouped, A/B-tested, optimized for one metric: watch time. The rapid cuts trigger an orienting response &#8212; the involuntary reflex your brain has to novel visual stimuli. Every cut is a tiny dopamine hit. Your toddler isn&#8217;t watching. They&#8217;re being <em>held</em>.</p><p>The first time we said &#8220;no more Cocomelon,&#8221; our son had a meltdown. Not a tantrum &#8212; a <em>withdrawal.</em> Screaming, inconsolable. That convinced us.</p><p>We went cold turkey. And here&#8217;s the thing: he&#8217;s fine. He&#8217;s on screens plenty now &#8212; building games, typing in his <a href="https://github.com/meimakes/tiny-terminal">tiny-terminal</a>, using apps we chose deliberately. When we say &#8220;okay, time to go outside,&#8221; he goes. No meltdown. No negotiation. The difference isn&#8217;t less screen time. It&#8217;s different screen time.</p><p>That experience is what led me to the only framework I&#8217;ve found that actually helps.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AQDd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F502aa7e0-333f-4d4d-ba72-19fba198fef3_1456x816.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AQDd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F502aa7e0-333f-4d4d-ba72-19fba198fef3_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!AQDd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F502aa7e0-333f-4d4d-ba72-19fba198fef3_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!AQDd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F502aa7e0-333f-4d4d-ba72-19fba198fef3_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!AQDd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F502aa7e0-333f-4d4d-ba72-19fba198fef3_1456x816.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AQDd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F502aa7e0-333f-4d4d-ba72-19fba198fef3_1456x816.jpeg" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/502aa7e0-333f-4d4d-ba72-19fba198fef3_1456x816.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:255089,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.raisingpixels.dev/i/190211762?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F502aa7e0-333f-4d4d-ba72-19fba198fef3_1456x816.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!AQDd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F502aa7e0-333f-4d4d-ba72-19fba198fef3_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!AQDd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F502aa7e0-333f-4d4d-ba72-19fba198fef3_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!AQDd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F502aa7e0-333f-4d4d-ba72-19fba198fef3_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!AQDd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F502aa7e0-333f-4d4d-ba72-19fba198fef3_1456x816.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>The Spectrum</h2><p>Every interaction your kid has with technology falls somewhere on a line. On one end: pure consumption. On the other: pure creation.</p><p><strong>Consumer end &#8594;</strong> Watching YouTube, streaming shows, scrolling. The screen asks nothing of your child except their eyeballs and attention.</p><p><strong>Creator end &#8594;</strong> Designing a game, directing what gets built, making decisions, giving feedback, iterating. The screen doesn&#8217;t work without your child&#8217;s input.</p><p>Most things fall somewhere in between. Minecraft creative mode is further right than watching Minecraft YouTube. Drawing on an iPad is further right than scrolling through a feed. Same device, wildly different cognitive engagement.</p><p>The framework is simple: <strong>instead of &#8220;less screen time,&#8221; aim to shift right on the spectrum.</strong> That you can actually do something with.</p><h2>The Research Backs This Up</h2><p>This isn&#8217;t just a nice mental model. The science increasingly distinguishes between passive and active screen engagement &#8212; and finds they have very different effects on developing brains.</p><p><strong>Michaeleen Doucleff&#8217;s </strong><em><strong>Dopamine Kids</strong></em><strong> (2026) </strong>makes the neuroscience explicit: dopamine doesn&#8217;t give pleasure &#8212; it makes you <em>want</em>. Screens optimized for engagement create wanting loops, not satisfaction. Your kid isn&#8217;t enjoying the content. They&#8217;re trapped in a craving cycle. Doucleff&#8217;s diagnosis is exactly right. But here&#8217;s where I diverge: the prescription isn&#8217;t &#8220;fewer screens.&#8221; It&#8217;s &#8220;different screens.&#8221; A terminal where your kid types commands and a feed that auto-plays the next video trigger completely different dopamine profiles &#8212; even though both involve a glowing rectangle.</p><p><strong>Lillard &amp; Peterson (2011)</strong> randomly assigned 4-year-olds to watch either a fast-paced cartoon (SpongeBob), an educational show, or draw with crayons for nine minutes. The fast-paced group performed significantly worse on executive function tests immediately afterward &#8212; self-regulation, working memory, the cognitive skills that let kids focus and make decisions. Nine minutes.</p><p>Cocomelon is faster-paced than SpongeBob.</p><p><strong>Radesky &amp; Christakis (2016)</strong> at the University of Michigan and Seattle Children&#8217;s Research Institute reviewed the evidence on screen time and early childhood development. Their key finding: it&#8217;s not the screen itself that matters, it&#8217;s the <em>nature of the interaction.</em> Passive viewing correlates with attention problems and language delays. Interactive, co-viewed media doesn&#8217;t show the same pattern &#8212; and in some cases shows benefits.</p><p><strong>A 2021 Frontiers in Education study</strong> on passive vs. active screen time and phonological memory in young children found significant differences: passive screen time was associated with lower cognitive performance, while active screen time showed no such effect. Same screens. Different engagement. Different outcomes.</p><p><strong>The Australian Government&#8217;s original screen time guidelines (2011)</strong> recommended zero screen time under 2, based on the assumption that all screen activities are &#8220;physically and cognitively sedentary.&#8221; Subsequent research has challenged this &#8212; showing that interactive media can support cognitive development in ways passive viewing doesn&#8217;t. The blanket timer approach conflates two fundamentally different experiences.</p><p>This is why &#8220;is Cocomelon bad?&#8221; and &#8220;is Minecraft bad?&#8221; are the wrong questions. The right question is: <strong>what is my kid doing?</strong> Are they making decisions, or just receiving stimulation?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GWJ_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a992ec2-8dd5-458e-a8cf-8cdc7cbbafef_1456x816.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GWJ_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a992ec2-8dd5-458e-a8cf-8cdc7cbbafef_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GWJ_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a992ec2-8dd5-458e-a8cf-8cdc7cbbafef_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GWJ_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a992ec2-8dd5-458e-a8cf-8cdc7cbbafef_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GWJ_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a992ec2-8dd5-458e-a8cf-8cdc7cbbafef_1456x816.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GWJ_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a992ec2-8dd5-458e-a8cf-8cdc7cbbafef_1456x816.jpeg" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1a992ec2-8dd5-458e-a8cf-8cdc7cbbafef_1456x816.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:312467,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.raisingpixels.dev/i/190211762?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a992ec2-8dd5-458e-a8cf-8cdc7cbbafef_1456x816.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GWJ_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a992ec2-8dd5-458e-a8cf-8cdc7cbbafef_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GWJ_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a992ec2-8dd5-458e-a8cf-8cdc7cbbafef_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GWJ_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a992ec2-8dd5-458e-a8cf-8cdc7cbbafef_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GWJ_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a992ec2-8dd5-458e-a8cf-8cdc7cbbafef_1456x816.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>The Cocomelon Test</h2><p>Here&#8217;s a quick diagnostic I use now when evaluating any screen activity:</p><p><strong>Can my kid walk away from it easily?</strong></p><p>This sounds simple but it&#8217;s surprisingly revealing. When my son was watching Cocomelon, turning it off triggered a crisis. That&#8217;s the hallmark of a passive dopamine loop &#8212; the content does the work of engagement, and removing it feels like withdrawal.</p><p>When he&#8217;s building a game with me, or playing in his terminal, or drawing on the iPad &#8212; and I say &#8220;okay, time for dinner&#8221; &#8212; he might grumble, but he transitions. Because <em>he</em> was driving the experience. He was the active agent. Stopping doesn&#8217;t feel like something being taken away. It feels like pausing something he can come back to.</p><p>If your kid loses it every time you turn off a specific app or show, that&#8217;s a signal. Not that screens are bad, but that <em>this particular screen experience</em> is in the passive consumption zone.</p><h2>Why &#8220;Set a Timer&#8221; Doesn&#8217;t Work</h2><p>Most screen time advice boils down to: pick a number of minutes, set a timer, feel responsible. The AAP says one hour for ages 2-5. The WHO says less.</p><p>The problem is that timers treat all screen time as equal. Thirty minutes of building a game and thirty minutes of watching someone else play a game register the same on the clock, but they are fundamentally different experiences for your kid&#8217;s brain. One is creative work that happens to involve a screen. The other is television with a touchscreen.</p><p>When you feel guilty about your kid&#8217;s screen time, check the spectrum position before checking the clock. If they&#8217;re actively creating &#8212; making choices, giving instructions, iterating on ideas &#8212; the guilt is probably misplaced. If they&#8217;re slack-jawed and glazed, that&#8217;s your signal to redirect, not just restrict.</p><h2>Shift Right</h2><p>Here&#8217;s how this works in daily life:</p><p><strong>Audit activities, not minutes.</strong> List every tech thing your kid did this week. Place each one on the spectrum. Look at the ratio. Most unsupervised screen time lands on the consumer end. That&#8217;s a design insight.</p><p><strong>Choose tools that require input.</strong> Apps and activities that <em>don&#8217;t work</em> without your kid&#8217;s participation naturally land further right. A drawing app is better than a video player. Building a game together is better than both.</p><p><strong>Be the co-pilot, not the bouncer.</strong> The guilt-driven approach is restriction: set limits, enforce them. The design-driven approach is redirection: what if screen time was something you did <em>together</em>, where your kid steered?</p><p><strong>Name what&#8217;s happening.</strong> Kids can learn the difference. &#8220;Right now you&#8217;re watching. Want to make something instead?&#8221; Over time, they start to prefer creation &#8212; because it&#8217;s genuinely more rewarding than consumption when you give them the option.</p><h2>What Changed for Us</h2><p>After we cut Cocomelon, we didn&#8217;t go anti-screen. We went pro-creation. My son practiced his phonics with YouTube videos, his critical thinking skills with GCompris games. He now builds browser games with me. He draws on the iPad and explains what he&#8217;s doing.</p><p>Is it screen time? Yes. Does it look anything like that fourteen-month-old, glued in place, watching highly-saturated flashing picture nonsense for the fortieth consecutive minute? Not even close.</p><p>The device is neutral. A screen showing Cocomelon and a screen showing your kid&#8217;s own game are the same hardware doing completely different things to their brain. One is engineered to hold attention. The other develops it.</p><p>You don&#8217;t need less screen time. You need better screen time. And now you have a framework to tell the difference.</p><div><hr></div><p><em>If you want structured activities that live on the creator end of the spectrum, that&#8217;s exactly what I built: <a href="https://buildwithyourkid.com">12 Weeks of Tech Projects to Build With Your Kid</a> &#8212; 60 activities for ages 2-6, mostly unplugged, designed around exploration-first learning.</em></p><h3>References</h3><ul><li><p>Lillard, A.S. &amp; Peterson, J. (2011). <a href="https://pubmed.ncbi.nlm.nih.gov/21911349/">&#8220;The immediate impact of different types of television on young children&#8217;s executive function.&#8221;</a> <em>Pediatrics</em>, 128(4), 644-649.</p></li><li><p>Radesky, J.S. &amp; Christakis, D.A. (2016). <a href="https://pubmed.ncbi.nlm.nih.gov/27565361/">&#8220;Increased Screen Time: Implications for Early Childhood Development and Behavior.&#8221;</a> <em>Pediatric Clinics of North America</em>, 63(5), 827-839.</p></li><li><p>Kostyrka-Allchorne, K., Cooper, N.R. &amp; Simpson, A. (2021). <a href="https://www.frontiersin.org/journals/education/articles/10.3389/feduc.2021.600687/full">&#8220;Short- and Long-Term Effects of Passive and Active Screen Time on Young Children&#8217;s Phonological Memory.&#8221;</a> <em>Frontiers in Education</em>, 6, 600687.</p></li><li><p>Sweetser, P., Johnson, D., Ozdowska, A. &amp; Wyeth, P. (2012). <a href="https://www.researchgate.net/publication/288150157_Active_versus_Passive_Screen_Time_for_Young_Children">&#8220;Active versus Passive Screen Time for Young Children.&#8221;</a> <em>Australasian Journal of Early Childhood</em>, 37(4), 94-98.</p></li></ul>]]></content:encoded></item><item><title><![CDATA[The Parent Developer's Guide to Building Games With AI]]></title><description><![CDATA[How to use ChatGPT or Claude to build browser games with your kids &#8212; no coding or game dev experience required]]></description><link>https://www.raisingpixels.dev/p/the-parent-developers-guide-to-building</link><guid isPermaLink="false">https://www.raisingpixels.dev/p/the-parent-developers-guide-to-building</guid><dc:creator><![CDATA[Mei Park]]></dc:creator><pubDate>Sat, 14 Mar 2026 13:01:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_IPE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b68e7-925e-40ab-81ba-a9717c9ceb4d_1456x816.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My son and I recently built a delivery truck maze. You drive delivery trucks through a maze of city streets to the right destination (bread truck to the bakery, flowers to the flower shop). There&#8217;s sparkles and audio feedback when you complete a delivery, points awarded, and increasing maze difficulty with each level.</p><p>I&#8217;ve been a developer for over a decade &#8212; web apps, APIs, infrastructure &#8212; but game dev always felt like a different discipline. Engines, physics libraries, sprite sheets. Then my three-year-old said &#8220;make me a game where a red car goes fast&#8221; and I opened Claude instead of Unity.</p><p>We made it. It was playable. He loved it. We&#8217;ve built dozens since.</p><p>Here&#8217;s everything I&#8217;ve learned about the process.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_IPE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b68e7-925e-40ab-81ba-a9717c9ceb4d_1456x816.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_IPE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b68e7-925e-40ab-81ba-a9717c9ceb4d_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_IPE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b68e7-925e-40ab-81ba-a9717c9ceb4d_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_IPE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b68e7-925e-40ab-81ba-a9717c9ceb4d_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_IPE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b68e7-925e-40ab-81ba-a9717c9ceb4d_1456x816.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_IPE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b68e7-925e-40ab-81ba-a9717c9ceb4d_1456x816.jpeg" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f41b68e7-925e-40ab-81ba-a9717c9ceb4d_1456x816.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:228064,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.raisingpixels.dev/i/190213961?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b68e7-925e-40ab-81ba-a9717c9ceb4d_1456x816.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_IPE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b68e7-925e-40ab-81ba-a9717c9ceb4d_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_IPE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b68e7-925e-40ab-81ba-a9717c9ceb4d_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_IPE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b68e7-925e-40ab-81ba-a9717c9ceb4d_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_IPE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b68e7-925e-40ab-81ba-a9717c9ceb4d_1456x816.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>What You Actually Need</h2><p><strong>An AI chatbot.</strong> Claude, ChatGPT, Gemini &#8212; any of the major ones. The technique is the same across all of them.</p><p><strong>A web browser.</strong> That&#8217;s it. We build simple HTML/CSS/JavaScript games that run in a browser tab. Completely sufficient for young kids. No installs. No build tools. No dependencies.</p><p><strong>A kid with opinions.</strong> (This is the easy part.)</p><p>You do NOT need game development experience, knowledge of any game framework, art skills, sound design skills, or a CS degree (though it helps for debugging).</p><h2>The Basic Flow</h2><p>Here&#8217;s how a typical session goes in our house:</p><p><strong>Step 1: The kid has an idea.</strong> &#8220;I want a game where a delivery truck drives through a maze.&#8221;</p><p><strong>Step 2: You help translate it into a prompt.</strong> &#8220;Create a simple HTML game where the player drives a delivery truck through a maze using arrow keys. There are houses along the route &#8212; when the truck reaches a house, it delivers a package and the house lights up. Add a counter for deliveries completed. Keep it simple and colorful, suitable for a 3-year-old.&#8221;</p><p><strong>Step 3: The AI generates code.</strong> You get back a complete HTML file with embedded CSS and JavaScript. Save it as <code>.html</code>, open it in your browser.</p><p><strong>Step 4: The kid reacts.</strong> &#8220;Make the truck yellow.&#8221; &#8220;Add more houses.&#8221; &#8220;I want a warehouse where you pick up the packages first.&#8221;</p><p><strong>Step 5: You iterate.</strong> Feed the feedback back to the AI. &#8220;Change the truck color to yellow. Add a warehouse at the start where the truck loads packages before delivering. Add more houses to the route.&#8221;</p><p><strong>Step 6: Repeat steps 4-5 until the kid is satisfied or hungry.</strong></p><p>That&#8217;s the entire game development cycle. Your kid&#8217;s imagination, an AI that writes code faster than you can explain what you want, and a browser.</p><h2>Prompting Tips (The Practical Stuff)</h2><p>After building a lot of these, here&#8217;s what works:</p><h3>Start way simpler than you think.</h3><p>Your first prompt should describe a game that a first-year CS student could build. One mechanic. One interaction. One thing on screen. You can always add complexity later, but starting complex usually produces buggy, tangled code that&#8217;s hard to iterate on.</p><p><strong>Good first prompt:</strong> &#8220;Make an HTML game where a red circle follows the mouse cursor and collects yellow stars that appear randomly.&#8221;</p><p><strong>Too ambitious first prompt:</strong> &#8220;Make a 2D platformer with multiple levels, power-ups, enemies with AI pathing, and a save system.&#8221;</p><h3>Specify the audience.</h3><p>Always mention that this is for a young child. It changes the AI&#8217;s output in useful ways: bigger click targets, brighter colors, simpler controls, more forgiving collision detection.</p><h3>Ask for everything in one file.</h3><p>&#8220;Put all HTML, CSS, and JavaScript in a single HTML file.&#8221; This makes it trivial to save and run. No build step, no dependencies, no module imports that break.</p><h3>Request mobile/touch support.</h3><p>&#8220;Make it work with both mouse/keyboard and touch.&#8221; Toddlers are surprisingly good with touchscreens, and this means the game works on your phone or tablet too.</p><h3>When things break (and they will):</h3><p>Copy the error from the browser console and paste it directly to the AI. &#8220;When I click the truck, I get this error in the console: [error]. Fix it.&#8221; Or if there&#8217;s no error, describe it: &#8220;When I press the down arrow, the page moves instead of the truck.&#8221; AI is excellent at debugging its own code.</p><h2>What Your Kid Actually Learns</h2><p>Here&#8217;s the part that surprised me: building games this way is sneakily educational, even though it feels like pure play.</p><p><strong>Decision-making.</strong> Every feature request is a design decision. &#8220;Should the truck be fast or slow?&#8221; &#8220;What happens when you crash?&#8221; Your kid is learning to think about cause and effect in a system.</p><p><strong>Iteration.</strong> The game is never right on the first try. Your kid learns that making things is a process of attempt &#8594; evaluate &#8594; adjust. That&#8217;s the most important meta-skill in all of technology.</p><p><strong>Systems thinking.</strong> &#8220;When I added the dinosaur, the truck stopped working.&#8221; Things are connected. Changes have consequences. Welcome to software.</p><p><strong>Creative expression.</strong> Your kid&#8217;s game is <em>their</em> game. Not a game they downloaded. Not a game someone else designed. It has their ideas, their aesthetics, their dinosaur-on-a-garbage-truck vision. That ownership compounds interest.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qbN3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf78433-33f1-41bc-9ec5-6dd4b86d08f6_1456x816.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qbN3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf78433-33f1-41bc-9ec5-6dd4b86d08f6_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qbN3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf78433-33f1-41bc-9ec5-6dd4b86d08f6_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qbN3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf78433-33f1-41bc-9ec5-6dd4b86d08f6_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qbN3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf78433-33f1-41bc-9ec5-6dd4b86d08f6_1456x816.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qbN3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf78433-33f1-41bc-9ec5-6dd4b86d08f6_1456x816.jpeg" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/caf78433-33f1-41bc-9ec5-6dd4b86d08f6_1456x816.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:239068,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.raisingpixels.dev/i/190213961?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf78433-33f1-41bc-9ec5-6dd4b86d08f6_1456x816.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qbN3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf78433-33f1-41bc-9ec5-6dd4b86d08f6_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qbN3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf78433-33f1-41bc-9ec5-6dd4b86d08f6_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qbN3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf78433-33f1-41bc-9ec5-6dd4b86d08f6_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qbN3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf78433-33f1-41bc-9ec5-6dd4b86d08f6_1456x816.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>Common Pitfalls</h2><p><strong>Don&#8217;t optimize too early.</strong> Your kid doesn&#8217;t care about code quality. They care about whether the dinosaur is big enough. Ship the feature, clean up later (or don&#8217;t &#8212; these are throwaway games).</p><p><strong>Don&#8217;t take over.</strong> It&#8217;s tempting to start adding your own ideas. &#8220;What if we add a leaderboard? What about particle effects?&#8221; Let your kid drive. Your job is to translate their ideas into prompts, not to impose your own.</p><p><strong>Don&#8217;t expect polish.</strong> AI-generated games look like AI-generated games. They&#8217;re functional and fun, but they won&#8217;t win any design awards. That&#8217;s fine. Your kid genuinely does not care that the truck is a rectangle with two circles for wheels.</p><p><strong>Don&#8217;t make it a lesson.</strong> The moment you say &#8220;this is teaching you about algorithms,&#8221; the magic dies. Just build. The learning happens in the background.</p><h2>One More Thing</h2><p>The games we build might be objectively terrible. The collision detection is approximate. The graphics are basic shapes. The physics are suggestions at best. My son&#8217;s current favorite is a car wash game &#8211; you literally wash a car. Click on water, click the car. Click on soap, click the car. Some elements overlap others and there&#8217;s a bug when you click on the sponge too early &#8211; but it&#8217;s fine. It works well enough and he&#8217;s played it about a hundred times already.</p><p>He made it. That&#8217;s why.</p><p>You don&#8217;t need game dev experience to give your kid that feeling. You need an AI, a browser, and the willingness to build a really, really bad game about garbage trucks.</p><p>It just might be the best thing you ship all year.</p>]]></content:encoded></item><item><title><![CDATA[5 Computational Thinking Moments You're Already Having With Your Toddler]]></title><description><![CDATA[Everyday computational thinking activities for toddlers &#8212; no screens required]]></description><link>https://www.raisingpixels.dev/p/5-computational-thinking-moments</link><guid isPermaLink="false">https://www.raisingpixels.dev/p/5-computational-thinking-moments</guid><dc:creator><![CDATA[Mei Park]]></dc:creator><pubDate>Sat, 07 Mar 2026 15:03:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Bqby!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca327a36-168b-487d-9ad7-0f7ec9cb3022_1456x816.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>You&#8217;re already teaching your kid computer science.</p><p>I know that sounds ridiculous. Your kid can&#8217;t read. They put stickers on the dog. They had a meltdown yesterday because their banana broke in half. Computer science?</p><p>Yeah. Computer science.</p><p>Not the &#8220;writing Python&#8221; kind. The <em>thinking</em> kind. The patterns and problem-solving strategies that underpin all of computing &#8212; and, conveniently, also underpin being a functional human. You practice them with your kid every single day. You just don&#8217;t call them 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_!Bqby!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca327a36-168b-487d-9ad7-0f7ec9cb3022_1456x816.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Bqby!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca327a36-168b-487d-9ad7-0f7ec9cb3022_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Bqby!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca327a36-168b-487d-9ad7-0f7ec9cb3022_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Bqby!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca327a36-168b-487d-9ad7-0f7ec9cb3022_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Bqby!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca327a36-168b-487d-9ad7-0f7ec9cb3022_1456x816.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Bqby!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca327a36-168b-487d-9ad7-0f7ec9cb3022_1456x816.jpeg" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ca327a36-168b-487d-9ad7-0f7ec9cb3022_1456x816.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:336606,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.raisingpixels.dev/i/190172143?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca327a36-168b-487d-9ad7-0f7ec9cb3022_1456x816.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Bqby!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca327a36-168b-487d-9ad7-0f7ec9cb3022_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Bqby!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca327a36-168b-487d-9ad7-0f7ec9cb3022_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Bqby!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca327a36-168b-487d-9ad7-0f7ec9cb3022_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Bqby!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca327a36-168b-487d-9ad7-0f7ec9cb3022_1456x816.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>1. Sorting Laundry &#8594; Pattern Recognition &amp; Classification</h2><p>&#8220;Can you put all the socks in this pile?&#8221;</p><p>Congratulations, you just taught categorization. Your toddler looked at a heap of mixed objects, identified a shared attribute (sock-ness), and grouped items accordingly. That&#8217;s pattern recognition and classification &#8212; foundational concepts in computer science.</p><p>My son&#8217;s current favorite version of this: sorting cars by color. Red cars here, blue cars there. Sometimes he invents his own categories. &#8220;These are the fast ones.&#8221; By what criteria? &#8220;They look fast.&#8221; Hard to argue with that methodology.</p><p>The computational thinking is in the <em>sorting itself</em> &#8212; the act of looking at a set of things, defining a rule, and applying it consistently. That&#8217;s what databases do. That&#8217;s what machine learning does at scale. Your kid is doing it with socks.</p><p><strong>Level up:</strong> Let your kid invent the categories. &#8220;How should we sort these?&#8221; gives them practice defining the classification rules, not just applying yours. That&#8217;s a step closer to algorithm design.</p><h2>2. Following a Recipe &#8594; Sequencing &amp; Algorithms</h2><p>&#8220;First we put in the flour. Then the eggs. Then we stir.&#8221;</p><p>That&#8217;s an algorithm. A set of sequential instructions that produce a specific output. Your toddler is learning that order matters &#8212; that putting eggs in before flour produces a different result than the reverse. (A messier result, usually, in our kitchen.)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2wzL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56821e90-90b6-41ee-8103-eb24cfad66f8_1456x816.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2wzL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56821e90-90b6-41ee-8103-eb24cfad66f8_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2wzL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56821e90-90b6-41ee-8103-eb24cfad66f8_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2wzL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56821e90-90b6-41ee-8103-eb24cfad66f8_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2wzL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56821e90-90b6-41ee-8103-eb24cfad66f8_1456x816.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2wzL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56821e90-90b6-41ee-8103-eb24cfad66f8_1456x816.jpeg" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/56821e90-90b6-41ee-8103-eb24cfad66f8_1456x816.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:330203,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.raisingpixels.dev/i/190172143?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56821e90-90b6-41ee-8103-eb24cfad66f8_1456x816.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2wzL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56821e90-90b6-41ee-8103-eb24cfad66f8_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2wzL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56821e90-90b6-41ee-8103-eb24cfad66f8_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2wzL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56821e90-90b6-41ee-8103-eb24cfad66f8_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2wzL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56821e90-90b6-41ee-8103-eb24cfad66f8_1456x816.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Every time you walk your kid through a sequence &#8212; getting dressed (underwear before pants, the eternal lesson), brushing teeth, making a sandwich &#8212; you&#8217;re teaching them sequential thinking. Step 1, then step 2, then step 3.</p><p>My son narrates sequences back to me. &#8220;First we put on shoes. Then we go outside. Then we walk to the park.&#8221; He&#8217;s writing pseudocode and he can barely spell his own name.</p><p><strong>Level up:</strong> Introduce conditionals. &#8220;If it&#8217;s raining, we need boots. If it&#8217;s sunny, we need sandals.&#8221; Now you&#8217;re teaching if/else logic with weather and shoes.</p><h2>3. &#8220;Try Again&#8221; &#8594; Debugging &amp; Iteration</h2><p>Your toddler is building a block tower. It falls. &#8220;Try again!&#8221; you say.</p><p>But here&#8217;s the thing &#8212; you don&#8217;t just say &#8220;try again.&#8221; You say &#8220;why did it fall?&#8221; Maybe the base was too small. Maybe he put the big block on top of the small block. Maybe he bumped the table.</p><p>That&#8217;s debugging. Identify the failure &#8594; hypothesize the cause &#8594; try a fix &#8594; test.</p><p>This is honestly the computational thinking concept that toddlers practice most, because toddlers fail at things constantly. Every single day is a gauntlet of attempts, failures, adjustments, and retries. Pouring water, climbing, puzzles, zippers &#8212; it&#8217;s all debugging.</p><p>The parent&#8217;s role here is critical: resist the urge to just fix it for them. (It&#8217;s very hard, I know.) I see the tower wobbling before he puts the last block on, and yet, I sit still and watch it fall. Then I ask: &#8220;What happened? What could you do differently?&#8221; Sometimes he has an idea. Sometimes he says &#8220;I don&#8217;t know&#8221; and I offer one suggestion. Sometimes he just knocks everything down and walks away, which is also a valid approach to debugging in my professional experience.</p><p><strong>Level up:</strong> When something goes wrong, externalize the process. &#8220;Let&#8217;s figure out what happened. Let&#8217;s try something different. Did that work better?&#8221; You&#8217;re teaching the debug loop explicitly.</p><h2>4. &#8220;What If?&#8221; &#8594; Abstraction &amp; Hypothetical Thinking</h2><p>&#8220;What if the car could fly?&#8221;</p><p>&#8220;What if we built a really, really big tower?&#8221;</p><p>&#8220;What if we had dessert before dinner?&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ntdp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6e35ec-b8aa-4a69-a566-ad558be2ba12_1456x816.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ntdp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6e35ec-b8aa-4a69-a566-ad558be2ba12_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Ntdp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6e35ec-b8aa-4a69-a566-ad558be2ba12_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Ntdp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6e35ec-b8aa-4a69-a566-ad558be2ba12_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Ntdp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6e35ec-b8aa-4a69-a566-ad558be2ba12_1456x816.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ntdp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6e35ec-b8aa-4a69-a566-ad558be2ba12_1456x816.jpeg" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1a6e35ec-b8aa-4a69-a566-ad558be2ba12_1456x816.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:180097,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.raisingpixels.dev/i/190172143?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6e35ec-b8aa-4a69-a566-ad558be2ba12_1456x816.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ntdp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6e35ec-b8aa-4a69-a566-ad558be2ba12_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Ntdp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6e35ec-b8aa-4a69-a566-ad558be2ba12_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Ntdp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6e35ec-b8aa-4a69-a566-ad558be2ba12_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Ntdp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6e35ec-b8aa-4a69-a566-ad558be2ba12_1456x816.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Every toddler lives in a constant state of &#8220;what if.&#8221; And &#8220;what if&#8221; is the engine of computational thinking &#8212; it&#8217;s <em>abstraction</em>. Taking a concrete situation and imagining variations on it. Changing one variable and reasoning about the consequences.</p><p>When my son says &#8220;what if the car goes REALLY fast?&#8221; he&#8217;s doing something that programmers do all day: taking a system, modifying a parameter, and predicting (or testing) the outcome. He just thinks it&#8217;s fun.</p><p>This is also the root of simulation and modeling. &#8220;What if&#8221; is how engineers think about systems before building them. Your toddler is running mental simulations every time they imagine an alternative scenario.</p><p><strong>Level up:</strong> Play the &#8220;what if&#8221; game actively. &#8220;What if we didn&#8217;t have spoons? How would we eat soup?&#8221; Let them reason through the implications. You&#8217;re building their ability to think about systems abstractly.</p><h2>5. Giving Directions &#8594; Decomposition &amp; Clear Instructions</h2><p>&#8220;Tell me how to get to your room.&#8221;</p><p>If you&#8217;ve ever asked a toddler for directions, you know the results are... imprecise. &#8220;You go... that way... and then you go... up... and then it&#8217;s there!&#8221;</p><p>But the <em>attempt</em> is what matters. They&#8217;re trying to break down a complex task (navigating a house) into discrete steps (go this way, go up, arrive). That&#8217;s decomposition &#8212; taking a big problem and splitting it into smaller, manageable pieces.</p><p>And when their directions don&#8217;t work (&#8221;that way&#8221; while pointing vaguely at the ceiling), they learn something crucial: instructions need to be specific. The person following them (or the computer executing them) can&#8217;t read your mind. You have to be explicit.</p><p>My son recently tried to tell me how to draw a truck he&#8217;d seen. &#8220;Draw the wheels. And the front thing. And the other thing.&#8221; When my drawing didn&#8217;t match his vision, he got frustrated. &#8220;No, the SQUARE thing.&#8221; He was learning, in real time, that vague instructions produce vague results. That&#8217;s literally the core lesson of programming. (We got there eventually &#8212; it was a Jeep Renegade.)</p><p><strong>Level up:</strong> Play &#8220;robot game.&#8221; Your kid gives you instructions and you follow them <em>exactly</em> as stated, even when they&#8217;re clearly wrong. &#8220;Walk forward&#8221; &#8212; you walk into a wall. They learn fast that instructions need to be precise. (This game is also hilarious.)</p><h2>Why This Matters</h2><p>I&#8217;m not writing this so you can brag at playgroup that your toddler understands algorithms. (Although you can. I won&#8217;t stop you.)</p><p>I&#8217;m writing this because if you&#8217;re a developer who wants to eventually share your world with your kid &#8212; teach them about technology, build things together, help them think computationally &#8212; you&#8217;re not starting from zero.</p><p>You&#8217;re already doing it.</p><p>Every sorted sock pile, every recipe followed, every block tower rebuilt, every &#8220;what if&#8221; entertained, every set of wobbly directions given &#8212; those are the building blocks of computational thinking. When your kid is eventually ready for more structured tech experiences, they&#8217;ll already have the cognitive scaffolding in place.</p><p>You&#8217;re giving them a computer science education every day, in the most natural way possible: through play.</p><p>Just maybe throw in a few more &#8220;what ifs&#8221; at dinner. You know, for the algorithm development.</p>]]></content:encoded></item><item><title><![CDATA[My 2-year-old builds browser games. I wrote a book about it.]]></title><description><![CDATA[How a software engineer turned AI-assisted game building into a 12-week computational thinking curriculum for toddlers.]]></description><link>https://www.raisingpixels.dev/p/my-2-year-old-builds-browser-games</link><guid isPermaLink="false">https://www.raisingpixels.dev/p/my-2-year-old-builds-browser-games</guid><dc:creator><![CDATA[Mei Park]]></dc:creator><pubDate>Fri, 06 Mar 2026 17:47:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!m8Fm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85fd7e9-95fb-4085-8619-9e4c00af4aa4_2048x1147.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My son was two and a half when he built his first browser game.</p><p>He couldn&#8217;t read. He couldn&#8217;t type. But he could sit next to me and say: <em>&#8220;Make a red car game! Make it jump!&#8221;</em></p><p>So I typed his words into an AI coding tool. A red car appeared. He pressed space bar. It jumped.</p><p>His face did the thing &#8212; that wide-open, full-body joy that kids have before the world teaches them to play it cool. Then he said: <em>&#8220;Make it go faster. Can we make it a digger?&#8221;</em></p><p>He was designing. He was iterating. He was two.</p><div><hr></div><p>I&#8217;m a software engineer. 12 years building software, master&#8217;s in CS. And the most useful thing I&#8217;ve ever taught my kid about technology didn&#8217;t involve a screen &#8212; it was a sequence. First this, then that, then done.</p><p>That&#8217;s computational thinking. Not coding. <em>Thinking.</em></p><p>Here&#8217;s what nobody tells dev parents: <strong>there&#8217;s no reason to wait.</strong> The neural pathways for sequential reasoning, pattern recognition, conditional logic &#8212; those are forming right now, between ages 2 and 6. Your kid is already doing computational thinking when they sort toys by color or figure out that pushing a button makes a sound. They just don&#8217;t have anyone connecting the dots.</p><div><hr></div><h3>So I wrote the curriculum I couldn&#8217;t find</h3><p>I wanted hands-on activities. AI-assisted game building where the kid directs and the parent types. Actual CS concepts. A structure a tired parent could follow without prep.</p><p>It didn&#8217;t exist. So I built 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_!m8Fm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85fd7e9-95fb-4085-8619-9e4c00af4aa4_2048x1147.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!m8Fm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85fd7e9-95fb-4085-8619-9e4c00af4aa4_2048x1147.png 424w, https://substackcdn.com/image/fetch/$s_!m8Fm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85fd7e9-95fb-4085-8619-9e4c00af4aa4_2048x1147.png 848w, https://substackcdn.com/image/fetch/$s_!m8Fm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85fd7e9-95fb-4085-8619-9e4c00af4aa4_2048x1147.png 1272w, https://substackcdn.com/image/fetch/$s_!m8Fm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85fd7e9-95fb-4085-8619-9e4c00af4aa4_2048x1147.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!m8Fm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85fd7e9-95fb-4085-8619-9e4c00af4aa4_2048x1147.png" width="1456" height="815" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f85fd7e9-95fb-4085-8619-9e4c00af4aa4_2048x1147.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:815,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1143322,&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.raisingpixels.dev/i/190121691?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85fd7e9-95fb-4085-8619-9e4c00af4aa4_2048x1147.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_!m8Fm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85fd7e9-95fb-4085-8619-9e4c00af4aa4_2048x1147.png 424w, https://substackcdn.com/image/fetch/$s_!m8Fm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85fd7e9-95fb-4085-8619-9e4c00af4aa4_2048x1147.png 848w, https://substackcdn.com/image/fetch/$s_!m8Fm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85fd7e9-95fb-4085-8619-9e4c00af4aa4_2048x1147.png 1272w, https://substackcdn.com/image/fetch/$s_!m8Fm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85fd7e9-95fb-4085-8619-9e4c00af4aa4_2048x1147.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></p><p><strong><a href="https://shop.raisingpixels.dev/l/12-weeks-tech-projects">12 Weeks of Tech Projects to Build With Your Kid</a></strong> &#8212; computational thinking for ages 2-6.</p><p>Each week covers one concept (sequences &#8594; patterns &#8594; loops &#8594; conditionals &#8594; debugging &#8594; all the way to integration). The rhythm:</p><ul><li><p><strong>Mon-Tue:</strong> Hands-on activities. No screens. Sorting games, pattern hunts, chain reactions with dominos.</p></li><li><p><strong>Wed:</strong> Build a browser game with AI. Kid describes, you type.</p></li><li><p><strong>Thu:</strong> Remix day. Kid changes the game &#8212; new colors, new rules, harder levels.</p></li><li><p><strong>Fri:</strong> Kid &#8220;teaches&#8221; the concept to a stuffed animal. If they can explain it, they own it.</p></li></ul><p>The format has been tried and tested on my actual 3-year-old. The kid who earned the nickname &#8220;Mr Wiggles&#8221; at a year old and would rather hurl paper airplanes/play excavators/race cars than sit still for literally anything. If it survived his attention span, it made the cut.</p><div><hr></div><p>The magic is AI-assisted game building. AI removes the bottleneck. Your kid describes a game in plain language, watches it appear, then iterates. The feedback loop is instant. They&#8217;re the product manager, the designer, and the QA team.</p><p>You&#8217;re just the typist.</p><p>This isn&#8217;t about raising the next Zuckerberg. It&#8217;s about giving your kid the same thinking framework you use every day &#8212; while their brain is literally built to absorb it.</p><div><hr></div><p><strong>The book:</strong> <a href="https://shop.raisingpixels.dev/l/12-weeks-tech-projects">12 Weeks of Tech Projects to Build With Your Kid</a> &#8212; $29 on Gumroad. PDF you can mark up and reprint.</p><p><strong>I also made companion products</strong> because I&#8217;m like this:</p><ul><li><p><strong><a href="https://shop.raisingpixels.dev/l/ai-prompt-pack">41-Prompt AI Pack</a></strong> ($17) &#8212; Copy-paste prompts for ChatGPT/Claude, each with a [CHILD&#8217;S INTEREST] placeholder. Three per concept: a story prompt, a hands-on activity prompt, and a browser game prompt. Swap in &#8220;monster trucks&#8221; or &#8220;butterflies&#8221; and go.</p></li><li><p><strong><a href="http://shop.raisingpixels.dev/l/conversation-cards">Screen Time Conversation Cards</a></strong> ($0+) &#8212; 10 screen-free discussion prompts you can use anywhere. Car, bath, dinner. No materials needed.</p></li><li><p><strong><a href="http://shop.raisingpixels.dev/l/unplugged-expansion">Unplugged Expansion Pack</a></strong> ($12) &#8212; 12 additional screen-free activities (one per concept), all household items.</p></li><li><p><strong><a href="http://shop.raisingpixels.dev/l/cheat-sheet">&#8220;What Are They Learning?&#8221; Cheat Sheet</a></strong> ($5) &#8212; Quick reference for each concept.</p></li><li><p><strong><a href="https://shop.raisingpixels.dev/l/toolkit-bundle">Complete Toolkit Bundle</a></strong> ($39) &#8212; Everything above plus bonus activity cards. Save $24.</p></li></ul><p>Browse everything at <strong><a href="https://shop.raisingpixels.dev">shop.raisingpixels.dev</a></strong></p><p>No coding required. No CS degree required. (I have one, but I promise you don&#8217;t need it.)</p><p><strong>Screen time they made &gt; screen time they watched.</strong></p><p>If you know a parent who&#8217;d lean in at &#8220;computational thinking for toddlers&#8221; &#8212; send them this!</p><p>&#8212; Mei</p>]]></content:encoded></item><item><title><![CDATA[2 Free Tools That Solve the Biggest Problem for Parent Developers]]></title><description><![CDATA[Free developer productivity tools for parents who code in 12-minute windows]]></description><link>https://www.raisingpixels.dev/p/2-free-tools-that-solve-the-biggest</link><guid isPermaLink="false">https://www.raisingpixels.dev/p/2-free-tools-that-solve-the-biggest</guid><dc:creator><![CDATA[Mei Park]]></dc:creator><pubDate>Sun, 01 Mar 2026 15:00:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ZoSp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86299d6b-466c-4e6b-8747-bcda7372d3d3_1456x816.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2><strong>10-15 Minutes Lost Before You Write a Single Line</strong></h2><p>Parent developers lose an average of 10-15 minutes per coding session just remembering what they were working on. Over a week of fragmented sessions, that&#8217;s 1-2 hours of productive coding time lost to context recovery alone. Two free tools&#8212;<strong>tmux</strong> (a terminal multiplexer) and <strong>AI-powered context scripts</strong>&#8212;reduce that ramp-up time to under 2 minutes, turning even a 20-minute window into real progress.</p><p>The problem isn&#8217;t speed. Aliases save keystrokes. Shortcuts save clicks. But neither can tell you why there&#8217;s a half-finished function called <code>addMissingContext()</code> or what that TODO comment about &#8220;ask someone smarter than me tomorrow&#8221; was supposed to refer to. Parent developers don&#8217;t need faster typing&#8212;they need <strong>context recovery systems</strong> that bridge the gap between sessions separated by days of sick kids, work deadlines, and birthday parties that somehow require three trips to Target.</p><p>After testing dozens of productivity tools and workflows, these are the only two that consistently move the needle for coding in fragmented time.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZoSp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86299d6b-466c-4e6b-8747-bcda7372d3d3_1456x816.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZoSp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86299d6b-466c-4e6b-8747-bcda7372d3d3_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZoSp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86299d6b-466c-4e6b-8747-bcda7372d3d3_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZoSp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86299d6b-466c-4e6b-8747-bcda7372d3d3_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZoSp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86299d6b-466c-4e6b-8747-bcda7372d3d3_1456x816.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZoSp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86299d6b-466c-4e6b-8747-bcda7372d3d3_1456x816.jpeg" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/86299d6b-466c-4e6b-8747-bcda7372d3d3_1456x816.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:230760,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.raisingpixels.dev/i/189104876?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86299d6b-466c-4e6b-8747-bcda7372d3d3_1456x816.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZoSp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86299d6b-466c-4e6b-8747-bcda7372d3d3_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZoSp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86299d6b-466c-4e6b-8747-bcda7372d3d3_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZoSp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86299d6b-466c-4e6b-8747-bcda7372d3d3_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZoSp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86299d6b-466c-4e6b-8747-bcda7372d3d3_1456x816.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>tmux: Your Session Survives Everything (Including Your Kid on the Trackpad)</strong></h2><p><strong>tmux keeps your terminal sessions alive even when you close your laptop, restart, or accidentally kill Terminal because your kid was &#8220;helping&#8221; with the trackpad.</strong> It&#8217;s a terminal multiplexer that creates persistent &#8220;workspaces&#8221; that survive disconnections, crashes, and the chaos of parent life.</p><p>Without tmux, every coding session starts with: open terminal, navigate to project, start the dev server, open the right files, remember which browser tab had <code>localhost:3000</code>. That&#8217;s 5-7 minutes gone. With tmux, you type one alias and you&#8217;re back exactly where you left off&#226;&#8364;&#8221;even if it&#8217;s been a week.</p><h3><strong>The Setup</strong></h3><p>Here&#8217;s a tmux config optimized for parent developers:</p><p><code># ~/.tmux.conf</code></p><p><code>set -g prefix C-a # Easier to reach than default C-b</code></p><p><code>unbind C-b</code></p><p><code>bind C-a send-prefix</code></p><p><code># Mouse support (essential when you&#8217;re tired)</code></p><p><code>set -g mouse on</code></p><p><code># Show which project you&#8217;re in</code></p><p><code>set -g status-left &#8220;#[fg=green][#S] &#8220;</code></p><p><code>And these three aliases that make tmux feel natural:</code></p><p><code>alias twork=&#8221;tmux attach -t work&#8221;</code></p><p><code>alias tblog=&#8221;tmux attach -t blog&#8221;</code></p><p><code>alias tfam=&#8221;tmux attach -t family-projects&#8221;</code></p><p><strong>Quick setup:</strong> I&#8217;ve created a <a href="https://raisingpixels.dev/quick-context-switching-cli-tools-for-parents-who-code-in-15-minute-windows/parent-dev-tmux-setup.sh">complete tmux setup script</a> that installs tmux, adds the configuration, and sets up all the aliases automatically.</p><h3><strong>One Command, Right Back Where You Left Off</strong></h3><p>Every project gets its own tmux session. When I start working on my blog, I type tblog and I&#8217;m back in my development environment exactly where I left off, even if it&#8217;s been a week.</p><p>The first time you create a session for a project:</p><p><code># Navigate to your project and create a named session</code></p><p><code>cd ~/blog</code></p><p><code>tmux new-session -d -s blog</code></p><p><code>hugo server -D # Start your dev server</code></p><p><code># Open another terminal window/tab and attach</code></p><p><code>tmux attach -t blog</code></p><p><strong>Real-world example:</strong> Last Tuesday, my laptop died mid-deploy (I ignored the battery warning because I was &#8220;almost done&#8221;). After restarting, I typed tblog and my terminal environment was exactly as I&#8217;d left it. The deploy had even completed successfully in the background. That&#8217;s not just time saved&#8212;it&#8217;s <strong>confidence</strong> that you can pick up any project instantly.</p><h3><strong>Setting Up Your Sessions</strong></h3><p><code># Create sessions for your main projects</code></p><p><code>tmux new-session -d -s work</code></p><p><code>tmux new-session -d -s blog</code></p><p><code>tmux new-session -d -s family-projects</code></p><p><code># Then use the aliases to jump between them</code></p><p><code>tblog # Attach to blog session</code></p><p><code>twork # Attach to work session</code></p><p><code>tfam # Attach to family projects session</code></p><p>Each session maintains its own windows, working directories, and running processes.</p><h2><strong>AI Context Recovery: A 30-Second Briefing Instead of 15 Minutes of Staring</strong></h2><p><strong>AI-powered context recovery uses your git history, file changes, and TODOs to reconstruct what you were working on&#226;&#8364;&#8221;replacing the 10-15 minutes of &#8220;staring at your own code trying to remember&#8221; with a 30-second briefing.</strong> This is the second tool that transforms fragmented coding from frustrating to productive.</p><h3><strong>The Context Recovery Script</strong></h3><p>One script gathers all the breadcrumbs from your recent work:</p><p><code>#!/bin/bash</code></p><p><code>~/scripts/context.sh</code></p><p><code>echo &#8220;&#128269; What was I working on?&#8221;<br>echo &#8220;&#8221;</code></p><p><code>echo &#8220;&#128221; Recent commits:&#8221;<br>git --no-pager log --oneline -5<br>echo &#8220;&#8221;</code></p><p><code>echo &#8220;&#128194; Files I changed recently:&#8221;<br>git --no-pager diff --name-only HEAD~3..HEAD<br>echo &#8220;&#8221;</code></p><p><code>echo &#8220;&#128679; Current status:&#8221;<br>git --no-pager status --porcelain<br>echo &#8220;&#8221;</code></p><p><code>echo &#8220;&#128173; TODOs in recent files:&#8221;<br>git --no-pager diff --name-only HEAD~3..HEAD | xargs grep -l &#8220;TODO|FIXME|NOTE&#8221; 2&gt;/dev/null | head -3 | xargs grep &#8220;TODO|FIXME|NOTE&#8221; 2&gt;/dev/null<br>echo &#8220;&#8221;</code></p><p><code>echo &#8220;&#128161; Copy this info and ask your AI: &#8216;What was I working on and what should I do next?&#8217;&#8221;</code></p><p>Run context and paste the output into Claude (or your preferred AI) with: &#8220;Based on this git activity, what was I likely working on? What should I focus on next?&#8221;</p><h3><strong>Your Tiredness-Proof Memory</strong></h3><p>The AI sees patterns in your commit messages, file changes, and TODOs that you miss when you&#8217;re tired or distracted. It&#8217;s like having a coworker who watched your last session and can give you a 30-second briefing.</p><h3><strong>30 Seconds Now, 15 Minutes Saved Later</strong></h3><p><code>alias snapshot=&#8221;echo $(date): &gt;&gt; .project-notes.md &amp;&amp; code .project-notes.md&#8221;</code></p><p>Before stepping away, run snapshot and jot down what you were doing, what you figured out, and what&#8217;s next. Takes 30 seconds, saves 15 minutes later.</p><h2><strong>The 2-Minute On-Ramp</strong></h2><p>The real power emerges when tmux and AI context recovery work together:</p><ol><li><p><strong>tblog</strong> &#8212; Instantly restore your development environment</p></li><li><p><strong>context</strong> &#8212; Get AI summary of recent work</p></li><li><p><strong>tail .project-notes.md</strong> &#8212; Read your last manual note</p></li><li><p><strong>Start coding</strong> &#8212; Usually within 2 minutes of sitting down</p></li></ol><p>Compare that to the old workflow: navigate to directory, remember what servers to start, open files you think you were working on, stare at code trying to remember, give up and start something easier, maybe start coding 10 minutes later.</p><h2><strong>The Real Win: You Stop Avoiding Hard Projects</strong></h2><p><strong>The compound effect of reduced context-switching overhead transforms what kinds of projects parent developers can maintain.</strong> The productivity gain isn&#8217;t just minutes saved&#8212;it&#8217;s the elimination of the mental barrier that makes you avoid complex work.</p><p>Before: &#8220;I only have 20 minutes, that&#8217;s not enough time to make real progress on the authentication refactor.&#8221;</p><p>After: &#8220;I have 20 minutes, let me see what I was doing on the auth stuff.&#8221;</p><p>When you&#8217;re not afraid of ramp-up time, you work on bigger, more ambitious projects. Side projects actually get finished instead of being abandoned when life gets busy.</p><h2><strong>Start Here</strong></h2><p><strong>Start with tmux sessions.</strong> Install tmux, create a session for your main project, and force yourself to use it for a week. The productivity gain is immediate.</p><p><strong>Add AI context recovery later.</strong> Once tmux is a habit, add the context script. The combination is where the real transformation happens.</p><p>Don&#8217;t try to implement everything at once&#8212;that&#8217;s how productivity tools get abandoned.</p><p>These two tools handle the infrastructure of fragmented development. Combined with the right mindset and workflow aliases, you have a complete system for productive parent developer work. Your coding time might be fragmented, but your progress doesn&#8217;t have to be.</p>]]></content:encoded></item><item><title><![CDATA[Coding with Constant Interruptions: A Parent's Survival Guide]]></title><description><![CDATA[How to code as a parent: productivity tips for developers with kids]]></description><link>https://www.raisingpixels.dev/p/coding-with-constant-interruptions</link><guid isPermaLink="false">https://www.raisingpixels.dev/p/coding-with-constant-interruptions</guid><dc:creator><![CDATA[Mei Park]]></dc:creator><pubDate>Thu, 26 Feb 2026 13:53:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Z0dz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87ccaed2-6bd0-476c-9c96-8d313cc4618d_1456x816.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It&#8217;s 11:47 PM. You finally have both hands free and a quiet house. You open your laptop, fire up VSCode, and stare at the code you were working on&#8230; yesterday? Last week? The comments you left for yourself now read like cryptic notes from a stranger: "TODO: fix."</p><p>"Fix"? Fix what?!</p><p>By the time you remember what you were doing, you have maybe eight minutes before exhaustion wins. You manage to write three lines of code, realize you broke something, and hear crying from the nursery.</p><p>Sound familiar?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Z0dz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87ccaed2-6bd0-476c-9c96-8d313cc4618d_1456x816.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Z0dz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87ccaed2-6bd0-476c-9c96-8d313cc4618d_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Z0dz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87ccaed2-6bd0-476c-9c96-8d313cc4618d_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Z0dz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87ccaed2-6bd0-476c-9c96-8d313cc4618d_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Z0dz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87ccaed2-6bd0-476c-9c96-8d313cc4618d_1456x816.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Z0dz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87ccaed2-6bd0-476c-9c96-8d313cc4618d_1456x816.jpeg" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/87ccaed2-6bd0-476c-9c96-8d313cc4618d_1456x816.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:225567,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.raisingpixels.dev/i/189104874?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87ccaed2-6bd0-476c-9c96-8d313cc4618d_1456x816.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Z0dz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87ccaed2-6bd0-476c-9c96-8d313cc4618d_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Z0dz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87ccaed2-6bd0-476c-9c96-8d313cc4618d_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Z0dz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87ccaed2-6bd0-476c-9c96-8d313cc4618d_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Z0dz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87ccaed2-6bd0-476c-9c96-8d313cc4618d_1456x816.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Why Standard Productivity Advice Fails Parents</h2><p>Most developer productivity advice assumes you have uninterrupted blocks of time. "Just use the Pomodoro Technique!" they say. "Time-box your deep work!"</p><p>Right. Let me just explain to my toddler that Mommy is in a focused work session and cannot be interrupted for the next 25 minutes. I&#8217;m sure he'll understand.</p><p>The reality is that parent developers need completely different strategies. We don&#8217;t need advice on how to focus for hours&#8212;we need to know how to make meaningful progress before the kiddo has finished testing all the crayons in this box and needs a new box. (We've discussed the fact that all the colors are the same between the two boxes, and while I'm pretty sure he understands, he still insists on testing both sets.)</p><h2>The Mindset Shift: From Blocks to Fragments</h2><p>Traditional developer thinking: "I need at least 2-3 hours to get into flow state and accomplish anything meaningful."</p><p>Parent developer reality: "I can write a function while my kid watches one seven-minute Helper Cars episode, debug during 40-minute naptime, and deploy after bedtime."</p><p>Small, frequent progress beats waiting for perfect conditions.</p><p>I&#8217;ve shipped entire new projects in 15-minute increments. Not because it&#8217;s ideal&#8230; because it&#8217;s what you've got when you&#8217;re moonlighting at coding as a full-time parent.</p><h2>Strategies That Actually Work</h2><h3>1. Leave Breadcrumbs for Future You</h3><p>Never close your laptop without leaving yourself a note about what you were doing and what comes next. Your future self (whether that&#8217;s in 20 minutes or 3 days) will thank you.</p><p>What I do:</p><ul><li><p>Always commit with descriptive messages, even for work-in-progress</p></li><li><p>Leave TODO comments with specific next steps</p></li><li><p>Keep a simple text file open with "where I left off" notes</p></li></ul><p>Example workflow:</p><pre><code>// TODO: Next - add validation for email field in UserForm.tsx
// Problem: handleSubmit isn't calling the API correctly
// Test with: npm test -- UserForm</code></pre><h3>2. Optimize for Quick Restarts</h3><p>The biggest productivity killer isn&#8217;t the interruption itself&#8212;it&#8217;s the time it takes to get back into context. Design your workflow for fast context switching.</p><p>Environment shifts that help:</p><ul><li><p>Keep your development server running (even when stepping away) </p></li><li><p>Use terminal tabs/windows that stay open with the right directories </p></li><li><p>Have your browser tabs pre-loaded with the right localhost ports </p></li><li><p>Keep your code editor open with the relevant files</p></li></ul><p>Basically do the opposite of what I'm always telling my toddler: don't clean up after yourself.</p><h3>3. Embrace "Good Enough" Commits</h3><p>Perfect is the enemy of shipped when you&#8217;re a parent developer. I&#8217;ve learned to commit early and often, even if the code isn&#8217;t perfect.</p><p>My philosophy: working software that ships is infinitely better than perfect code that never gets finished.</p><p>Some of my largest projects were built in tiny commits with messages like:</p><ul><li><p>"Basic login working, needs cleanup"</p></li><li><p>"Ugly but functional user dashboard" </p></li><li><p>"Fixed the bug, will refactor later"</p></li></ul><h3>4. Batch Similar Tasks</h3><p>When you only have small windows of time, context switching between different types of work is expensive. Try to batch similar activities:</p><ul><li><p>Writing day: Focus on documentation, comments, planning </p></li><li><p>Coding day: Pure implementation, bug fixes </p></li><li><p>Testing day: QA, debugging, deployment</p></li></ul><p>This isn&#8217;t always possible, but when you can batch, it helps maintain momentum.</p><h3>5. Build for Resumability</h3><p>Design your projects so they&#8217;re easy to pick up after days or weeks away:</p><ul><li><p>Clear documentation: Write README files like you&#8217;re explaining to a stranger </p></li><li><p>Consistent structure: Use the same patterns or frameworks across projects </p></li><li><p>Good logging: When things break, you need to quickly understand why </p></li><li><p>Automated tests: Confidence that you didn&#8217;t break anything while away</p></li></ul><h3>6. Let AI Handle Context Switching</h3><p>This is where 2026 parent developers have a massive advantage. AI coding assistants excel at the exact problems we face: understanding unfamiliar code quickly, filling in context, and maintaining momentum in short bursts.</p><p>The parent developer AI workflow:</p><ol><li><p>Open project after days away </p></li><li><p>Ask AI: "What is this codebase and what was the last significant change?" </p></li><li><p>Get oriented in 30 seconds instead of 10 minutes </p></li><li><p>Make meaningful progress in your remaining time</p></li></ol><p>AI strategies that work:</p><ul><li><p>Quick context recovery: When you can&#8217;t remember what you were doing, ask your AI assistant to analyze recent commits or current files </p></li><li><p>Boilerplate generation: Don&#8217;t spend precious minutes on repetitive code. AI handles forms, API calls, test stubs instantly</p></li><li><p>Smart documentation: AI can generate comments, README updates, or todo lists from existing code</p></li></ul><h2>The Two-Minute Rule for Developers</h2><p>Borrowed from productivity expert David Allen but adapted for coding: If a coding task takes less than two minutes, do it immediately.</p><p>This includes:</p><ul><li><p>Fixing obvious typos </p></li><li><p>Adding missing semicolons </p></li><li><p>Updating a quick comment </p></li><li><p>Installing a package you know you need </p></li><li><p>Pushing your latest commits</p></li></ul><p>These micro-improvements add up and prevent the "death by a thousand small tasks" problem.</p><h2>Managing the Emotional Side</h2><p>Let&#8217;s be honest: coding with constant interruptions can be frustrating. You&#8217;re in the middle of solving a complex problem when your kid wakes up early. Again.</p><p>Here are some mental frameworks I find helpful.</p><h3>Remember Your Why</h3><p>You&#8217;re modeling curiosity, problem-solving, and creation for your kids. When my son and I build games together, he knows we're making something, not just consuming content.</p><h3>Celebrate Small Wins</h3><p>Finished a function? That&#8217;s a win. Fixed a bug? Victory. Deployed a feature? You&#8217;re basically a superhero.</p><p>When your coding sessions are measured in minutes, not hours, you need to recalibrate what counts as progress.</p><h3>Accept the Rhythm</h3><p>Some days you&#8217;ll get 30 minutes of coding done. Other days you&#8217;ll get three minutes. Both are valid. Parenting has seasons, and so does your coding productivity.</p><h2>Tools That Actually Help</h2><p>While I&#8217;ll cover specific technical tools in upcoming posts, here are the categories that matter most for parent developers:</p><p><strong>Auto-save everything: </strong>Configure your tools to save constantly. You never know when you&#8217;ll need to close the laptop quickly.</p><p><strong>Cloud sync apps: </strong>Work seamlessly across devices. Sometimes you&#8217;ll code on your laptop, sometimes on a desktop, sometimes (let&#8217;s be honest) on your phone.</p><p><strong>AI coding assistants:</strong> Your secret weapon for context switching and momentum. Whether it's Cline, GitHub Copilot, Codex, or Claude, these tools excel at helping you pick up where you left off.</p><h2>The Parent Developer Advantage</h2><p>It might seem like a constant struggle to be productive, but don't discount the skills you&#8217;re building every day! These are sustainable habits that will serve you for decades.</p><p>You&#8217;re gaining these superpowers:</p><ul><li><p>Extreme efficiency: You learn to cut through the noise and focus on what matters </p></li><li><p>Better prioritization: When time is scarce, you get ruthless about important vs. urgent </p></li><li><p>Stress testing: If your code works through multiple snack time interruptions and restarts, it&#8217;ll work anywhere</p><p></p></li></ul><h2>The Truth About Parent Developer Productivity</h2><p>Working within constraints forces clarity and intentionality.</p><p>Yes, it&#8217;s challenging. Yes, it&#8217;s different from how you coded before kids. But it&#8217;s not lesser. It's just adapted to the most important job you&#8217;ll ever have: building your family legacy.</p><p>Your kids won&#8217;t remember that you shipped a month later than planned. But they will remember that you showed them what it looks like to be curious, to build things, and to never stop learning.</p>]]></content:encoded></item><item><title><![CDATA[Gift Guide: Toddler Toys That Teach Systems Thinking]]></title><description><![CDATA[The anti-clutter gift guide for smart kids.]]></description><link>https://www.raisingpixels.dev/p/gift-guide-toddler-toys-that-teach</link><guid isPermaLink="false">https://www.raisingpixels.dev/p/gift-guide-toddler-toys-that-teach</guid><dc:creator><![CDATA[Mei Park]]></dc:creator><pubDate>Sat, 29 Nov 2025 04:14:34 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/20b17707-01d2-4bff-987f-d1385773c9af_2048x1147.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Most toys are just clutter that teach kids to consume, not think.</p><p>Before I buy anything, I ask: Does this build a transferable mental model? Can they use this concept tomorrow in a different context?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YQU9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b6f5402-f00d-49ec-9578-0ee817c5a4d1_2048x1147.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YQU9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b6f5402-f00d-49ec-9578-0ee817c5a4d1_2048x1147.png 424w, https://substackcdn.com/image/fetch/$s_!YQU9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b6f5402-f00d-49ec-9578-0ee817c5a4d1_2048x1147.png 848w, https://substackcdn.com/image/fetch/$s_!YQU9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b6f5402-f00d-49ec-9578-0ee817c5a4d1_2048x1147.png 1272w, https://substackcdn.com/image/fetch/$s_!YQU9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b6f5402-f00d-49ec-9578-0ee817c5a4d1_2048x1147.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YQU9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b6f5402-f00d-49ec-9578-0ee817c5a4d1_2048x1147.png" width="1456" height="815" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2b6f5402-f00d-49ec-9578-0ee817c5a4d1_2048x1147.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:815,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:662107,&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.raisingpixels.dev/i/180136542?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b6f5402-f00d-49ec-9578-0ee817c5a4d1_2048x1147.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_!YQU9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b6f5402-f00d-49ec-9578-0ee817c5a4d1_2048x1147.png 424w, https://substackcdn.com/image/fetch/$s_!YQU9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b6f5402-f00d-49ec-9578-0ee817c5a4d1_2048x1147.png 848w, https://substackcdn.com/image/fetch/$s_!YQU9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b6f5402-f00d-49ec-9578-0ee817c5a4d1_2048x1147.png 1272w, https://substackcdn.com/image/fetch/$s_!YQU9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b6f5402-f00d-49ec-9578-0ee817c5a4d1_2048x1147.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Here&#8217;s what I&#8217;d get my 3yo for Christmas if he didn&#8217;t already have it and love it:</p><p><a href="https://amzn.to/4ikv9en">Fraction puzzle</a>. He learned 1, 1/2, 1/3, 1/4 in ten minutes. Now when I say &#8220;after you eat half your meatball, you can have more strawberries&#8221; he understands what half is.</p><p><a href="https://amzn.to/44sAzOB">Cylinder puzzle</a>. He spent a full half hour on this, mixing up the pieces and redoing the puzzle over and over. Improves spatial awareness, trains differentiation and pattern recognition.</p><p><a href="https://amzn.to/4agJ2Ik">DIY wood toys</a>. I must have gotten him half a dozen of these sets already. We build them together. He&#8217;s learned to follow the instructions, work backwards from images of the finished piece, and even enjoys improvising his own creations with the parts.</p><p><a href="https://amzn.to/4pxU9Bn">Buddha board</a>. No mess painting, image fades as it dries. Fine motor control and prepares him for writing. Also, &#8220;Mama what does this look like? A duck! Look I drew some water for the duck to swim in!&#8221;</p><p><a href="https://amzn.to/489cdKL">Snap Circuits</a>. Very fun and safe to play with, and he now understands the basic components of a circuit and why we don&#8217;t stick forks in outlets.</p><p><a href="https://amzn.to/4rgg4hU">Tangram puzzle</a>. Useful for showing how one shape can contribute to many final products when used differently. He&#8217;ll rotate a triangle piece and say &#8220;look, now it&#8217;s a mountain! Now it&#8217;s a hat!&#8221; Same shape, different context&#8212;exactly how I want him to think about code later.</p><p><a href="https://amzn.to/48Dps7Z">Ultimate Spotlight books series</a>. Fun interactive books with movable pieces and pop up pages. They have so many topics! We&#8217;ve especially loved the vehicle and construction ones.</p><p><a href="https://amzn.to/4polExD">Eyewitness books</a>. So many books for kids don&#8217;t use real pictures, so this series is our go-to for learning with real photos.</p><p><a href="https://amzn.to/3K2sMjM">Movable alphabet, fridge edition</a>. Keeps little hands busy while I make coffee. I recommend getting two or three sets so you can spell most words. We started our son with phonics before he was two and he can reliably spell short words like &#8220;car,&#8221; or &#8220;truck&#8221; on the fridge.</p><p><a href="https://amzn.to/44tmoJ4">Stainless steel camping plates</a>. Just big enough for a big sandwich. Light and strong. He likes to help put them away when we unload the dishwasher and brings his dirty plate to the sink. No fear of breaking them.</p><p>The pattern: Each one teaches a concept that compounds. Fractions show up in cooking, time, money. Circuits explain why the lights work. The plates build executive function through real responsibility.</p><p>Every toy should answer: what system am I teaching? If you can&#8217;t answer that, it&#8217;s just noise.</p><p>What toys are you buying that build mental models your kids will use for decades?</p><p>Have other gems to add to this list? Comment and let me know!</p><div><hr></div><p><em>These Amazon affiliate links let me earn a small commission if you purchase through them at no extra cost to you. I only recommend things my kid actually uses daily! Thank you for supporting my work!</em></p>]]></content:encoded></item><item><title><![CDATA[Command Line Shortcuts for the Chronically Interrupted]]></title><description><![CDATA[It&#8217;s 2:30 PM on a Tuesday.]]></description><link>https://www.raisingpixels.dev/p/command-line-shortcuts-for-the-chronically</link><guid isPermaLink="false">https://www.raisingpixels.dev/p/command-line-shortcuts-for-the-chronically</guid><dc:creator><![CDATA[Mei Park]]></dc:creator><pubDate>Mon, 22 Sep 2025 18:20:04 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/64b6598e-c170-4367-90d6-d345b4d32256_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It&#8217;s 2:30 PM on a Tuesday. You&#8217;ve been awake since 4:32 AM (thanks, kiddo), you&#8217;ve just figured out the production bug, and your toddler is stirring from their nap. Your brain is running on coffee fumes and you have exactly 47 seconds to push a fix.</p><p>This would not be the ideal time to look up the exact git command syntax.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8Bp-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee936c80-1fd1-4388-8b2f-8b32f8ca8b1c_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8Bp-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee936c80-1fd1-4388-8b2f-8b32f8ca8b1c_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!8Bp-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee936c80-1fd1-4388-8b2f-8b32f8ca8b1c_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!8Bp-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee936c80-1fd1-4388-8b2f-8b32f8ca8b1c_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!8Bp-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee936c80-1fd1-4388-8b2f-8b32f8ca8b1c_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8Bp-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee936c80-1fd1-4388-8b2f-8b32f8ca8b1c_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ee936c80-1fd1-4388-8b2f-8b32f8ca8b1c_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:423913,&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.raisingpixels.dev/i/174273704?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee936c80-1fd1-4388-8b2f-8b32f8ca8b1c_1456x816.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_!8Bp-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee936c80-1fd1-4388-8b2f-8b32f8ca8b1c_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!8Bp-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee936c80-1fd1-4388-8b2f-8b32f8ca8b1c_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!8Bp-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee936c80-1fd1-4388-8b2f-8b32f8ca8b1c_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!8Bp-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee936c80-1fd1-4388-8b2f-8b32f8ca8b1c_1456x816.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>It&#8217;s a good thing you&#8217;ve set up an alias for this precise situation:</p><p><code>quickfix</code> runs <code>git pull --rebase &amp;&amp; git add . &amp;&amp; git commit -m 'Quick fix' &amp;&amp; git push</code> in one command. Three seconds, and your work is shipped.</p><p>When your cognitive load is already maxed out on keeping tiny humans alive, every saved keystroke matters.</p><p></p><h2>Why Aliases Matter More for Parent Developers</h2><p>Typically, developers optimize for readability and best practices. Parent developers benefit from optimizing for <strong>speed and resumability</strong>. When your coding windows are measured in minutes and you have precious few more of those than functioning brain cells, every saved keystroke compounds.</p><p>The math is simple:</p><ul><li><p>Average parent coding session: 15 minutes</p></li><li><p>Time spent on repetitive commands: 2-3 minutes</p></li><li><p>Time saved with good aliases: 2-3 minutes</p></li><li><p><strong>Daily productivity increase: 15-20%</strong></p></li></ul><p>But here&#8217;s the real impact:</p><ul><li><p>5 coding sessions &#215; 3 minutes saved = 15 minutes weekly</p></li><li><p>Over a month: 1 extra hour of deep work</p></li><li><p>Over a year: 12+ hours = almost two full workdays of found time</p></li></ul><p>More importantly, aliases reduce <strong>cognitive load</strong>. When you&#8217;re tired and distracted, muscle memory beats trying to remember command syntax. They also create rage-quit-proof workflows&#8212;when you&#8217;re interrupted mid-thought, one command saves your work before you sprint to handle whatever&#8217;s happening.</p><p></p><h2>The Parent Developer Aliases for Every Situation</h2><p>Before we dive in, here&#8217;s a quick power-user tip:</p><pre><code># Function alias for dynamic commit messages
alias gc='function _gc(){ git commit -m "$*"; }; _gc'

# Now you can type: gc Fixed the API timeout issue
# Instead of: git commit -m "Fixed the API timeout issue"</code></pre><p>Now, the essentials&#8212;organized by the scenarios that actually happen in parent developer life. Copy these straight into your .zshrc or .bashrc.</p><h3>1. Emergency Git Workflows</h3><p>These are for when things break and you need to act fast:</p><pre><code># The golden trio - save your work instantly
alias save="git add . &amp;&amp; git commit -m 'WIP: interrupted by life' &amp;&amp; git push"
alias quickfix="git pull --rebase &amp;&amp; git add . &amp;&amp; git commit -m 'Quick fix' &amp;&amp; git push"
alias backup="git add . &amp;&amp; git commit -m 'Backup before trying something' &amp;&amp; git push"

# When you return and can't remember what you were doing
alias last="git log --oneline -5"
alias status="git status &amp;&amp; echo '---' &amp;&amp; git log --oneline -3"
alias changes="git diff HEAD~1"

# Quick branch management
alias main="git checkout main &amp;&amp; git pull"
alias newbranch="git checkout -b"
alias deletebranch="git branch -d"

# When you need to abandon ship quickly
alias abort="git reset --hard HEAD &amp;&amp; git clean -fd"
alias unstage="git reset HEAD ."</code></pre><p><strong>Real scenario:</strong> API was returning 500s just as I heard &#8220;MAMA MAMA MAAA&#8221; from the monitor. Used <code>backup</code> to save current state, changed <code>req.body.userId</code> to <code>req.body.user_id</code> (why do we never standardize these?), hit <code>quickfix</code>, then to mom duties. When I came back some hours later, <code>last</code> showed me exactly where I&#8217;d left off.</p><h3>2. Quick Project Switching</h3><p>Parent developers juggle multiple projects in fragments:</p><pre><code># Navigate to common project directories
alias work="cd ~/work &amp;&amp; ls"
alias personal="cd ~/personal-projects &amp;&amp; ls"
alias blog="cd ~/blog &amp;&amp; code . &amp;&amp; hugo server -D"

# Quick environment setup
alias devup="docker-compose up -d &amp;&amp; npm run dev"
alias devdown="docker-compose down &amp;&amp; pkill -f 'node'"
alias fresh="rm -rf node_modules &amp;&amp; npm install &amp;&amp; npm run dev"

# Open common project combinations
alias workday="code ~/work/current-project &amp;&amp; cd ~/work/current-project"
alias blogpost="cd ~/blog &amp;&amp; hugo new content/posts/$(date +%Y-%m-%d)- &amp;&amp; code ."</code></pre><p><strong>Parent-specific benefit:</strong> No time wasted navigating directories or remembering startup commands. blog opens your editor and starts the dev server in one command&#8212;crucial when you have exactly 12 minutes during snack time.</p><h3>3. Development Environment Shortcuts</h3><p>When you have 15 minutes to code, environment setup can&#8217;t take 5 of them:</p><pre><code># Server management
alias serve="python -m http.server 8000"
alias nodeserve="npx serve -s build -l 3000"
alias hugoserve="hugo server -D --bind 0.0.0.0 --port 1313"

# Testing shortcuts
alias test="npm test"
alias testwatch="npm test -- --watch"
alias testcoverage="npm test -- --coverage"

# Package management
alias ni="npm install"
alias nid="npm install --save-dev"
alias nrun="npm run"

# Quick file operations
alias ll="ls -la"
alias ..="cd .."
alias ...="cd ../.."

# Process management
alias ports="lsof -i -P -n | grep LISTEN"
alias killnode="pkill -f node"
alias killport="function _killport(){ lsof -ti:$1 | xargs kill -9; }; _killport"</code></pre><h3>4. Mobile &amp; Remote Coding</h3><p>For when you&#8217;re coding on iPad via SSH during Daniel Tiger:</p><pre><code># Ultra-short for thumb typing
alias m="git add . &amp;&amp; git commit -m"&nbsp; # usage: m "quick fix"
alias p="git push"
alias pl="git pull"
alias s="git status -s"
alias d="git diff"

# Codespaces/remote dev
alias remote="gh cs ssh"
alias cslist="gh cs list"
alias cscode="gh cs code"

# Quick file edits on mobile
alias v="vim"
alias n="nano"</code></pre><p>These work great in GitHub Codespaces, Termius, or any SSH session.</p><h3>5. Content Creation Workflows</h3><p>For building in public while building humans:</p><pre><code># Blog post management
alias newpost="hugo new content/posts/$(date +%Y-%m-%d)-"
alias preview="hugo server -D --bind 0.0.0.0"
alias publish="git add . &amp;&amp; git commit -m 'New post' &amp;&amp; git push"

# Quick content ideas capture
alias idea="echo '$(date +%Y-%m-%d): ' &gt;&gt; ~/content-ideas.md &amp;&amp; code ~/content-ideas.md"</code></pre><p></p><h2>Installation Guide for Busy Parents</h2><h3>Step 1: Back Up Your Current Setup</h3><pre><code># Always backup first - parent developers can't afford to break their environment
cp ~/.bashrc ~/.bashrc.backup
cp ~/.zshrc ~/.zshrc.backup 2&gt;/dev/null || echo "No zsh config found"</code></pre><h3>Step 2: Add Aliases Gradually</h3><p>Start with just these three life-savers:</p><ol><li><p>save - for instant work preservation</p></li><li><p>quickfix - for emergency deploys</p></li><li><p>last - for context recovery</p></li></ol><p>Master these, then add more.</p><h3>Step 3: Test in Low-Stakes Moments</h3><p>Try them during a calm coding session before relying on them during naptime production emergencies.</p><p></p><h2>Advanced Parent Developer Power Moves</h2><p>Once comfortable with basics, these compound your efficiency:</p><pre><code># One-command pull request workflow
alias pr="git push &amp;&amp; gh pr create --fill"

# Branch cleanup
alias cleanup-branches="git branch --merged | grep -v main | xargs -n 1 git branch -d"

# Update all your projects at once
alias update-all="find ~/projects -name '.git' -type d -execdir git pull \;"</code></pre><p></p><h2>Making Aliases Stick</h2><h3>Use Muscle Memory</h3><p>The best aliases feel natural. save works because it&#8217;s obvious. qf for quickfix might be faster, but you&#8217;ll forget it exists.</p><h3><strong>Document Your Aliases</strong></h3><pre><code># List all your custom aliases
alias</code></pre><p>Keep this output in your notes app for quick reference.</p><p></p><h2>Troubleshooting</h2><h3>&#8220;Command not found&#8221; After Adding Aliases</h3><pre><code># Reload your config without restarting terminal

source ~/.zshrc&nbsp; # or ~/.bashrc</code></pre><h3>Git Aliases Conflicting</h3><pre><code># Check existing git aliases

git config --list | grep alias

# Remove conflicts

git config --global --unset alias.save</code></pre><p></p><h2>The Compound Effect</h2><p>These aliases don&#8217;t just save seconds&#8212;they reduce context-switching overhead. When you can execute complex workflows without thinking, you preserve mental energy for actual problem-solving.</p><p>After a month with these aliases, my typical 15-minute session:</p><ul><li><p><strong>30 seconds:</strong> Environment setup (was 3 minutes)</p></li><li><p><strong>14 minutes:</strong> Actual coding and problem-solving</p></li><li><p><strong>30 seconds:</strong> Save and cleanup</p></li></ul><p>That&#8217;s 20% more coding time, which over a year adds up to <strong>two full weeks</strong> of additional productivity.</p><p></p><h2>Your Next Step</h2><p>Your time is fragmented. Your attention is split. Your coffee is cold. But your commands? Those can be lightning fast.</p><p>Start with three aliases today. Just three. By next week, you&#8217;ll wonder how you ever <code>git add . &amp;&amp; git commit -m 'message' &amp;&amp; git push</code>&#8217;d like a caveman.</p><p>Now if you&#8217;ll excuse me, someone just discovered they can flush toy cars down the toilet. Time to <code>save</code> and run.</p><div><hr></div><p><strong>Download:</strong> Want all these aliases in one file? Get the <a href="https://gist.github.com/meimakes/b0ca50e0738360922d891f1537c73591">ready-to-install parent developer aliases collection</a> that you can source directly into your shell configuration.</p><p><strong>Next in the series:</strong> CLI tools designed for 15-minute coding windows&#8212;including AI-assisted context recovery and emergency deployment strategies.&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;</p>]]></content:encoded></item><item><title><![CDATA[Screen-Free Games That Teach Programming Logic]]></title><description><![CDATA[Building a technical foundation with laundry, games, and snacks.]]></description><link>https://www.raisingpixels.dev/p/screen-free-games-that-teach-programming</link><guid isPermaLink="false">https://www.raisingpixels.dev/p/screen-free-games-that-teach-programming</guid><dc:creator><![CDATA[Mei Park]]></dc:creator><pubDate>Thu, 14 Aug 2025 12:06:17 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f8c15557-7695-476e-b655-6c9d8df13635_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#8220;Big block. Small block. Big block. What comes next?&#8221;</p><p>&#8220;Build a tower,&#8221; he says.</p><p>My toddler is more interested in stacking them than lining them up, so I switch axis. &#8220;Big block, small block, big block&#8230;&#8221;</p><p>&#8220;I&#8217;m going to knock it over!&#8221; he announces.</p><p>&#8220;Okay, but first tell me if a big block or small block comes next.&#8221;</p><p>&#8220;Small block,&#8221; he says, and uses a small block to knock over the tower.</p><p>It&#8217;s progress.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WvUw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a7239f1-0378-4ccf-9b95-dd83cafd03a6_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WvUw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a7239f1-0378-4ccf-9b95-dd83cafd03a6_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!WvUw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a7239f1-0378-4ccf-9b95-dd83cafd03a6_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!WvUw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a7239f1-0378-4ccf-9b95-dd83cafd03a6_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!WvUw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a7239f1-0378-4ccf-9b95-dd83cafd03a6_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WvUw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a7239f1-0378-4ccf-9b95-dd83cafd03a6_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6a7239f1-0378-4ccf-9b95-dd83cafd03a6_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:462915,&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.raisingpixels.dev/i/170051470?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a7239f1-0378-4ccf-9b95-dd83cafd03a6_1456x816.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_!WvUw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a7239f1-0378-4ccf-9b95-dd83cafd03a6_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!WvUw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a7239f1-0378-4ccf-9b95-dd83cafd03a6_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!WvUw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a7239f1-0378-4ccf-9b95-dd83cafd03a6_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!WvUw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a7239f1-0378-4ccf-9b95-dd83cafd03a6_1456x816.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><h2>Tricking Toddlers into Learning Programming Fundamentals</h2><p><strong>1. The Sock Sorting Algorithm</strong></p><p>Post-laundry, dump all the socks on the floor. "Find all the truck socks!" He groups them. "Now find their friends!" He matches pairs.</p><p>We just taught classification and matching&#8212;core programming concepts&#8212;disguised as helping with chores.</p><p><strong>2. Red Light, Green Light 2.0</strong></p><p>Classic game, programmer twist. Green = walk, Red = stop. Then we add: "When I clap AND say green, you clap and walk!&#8221;</p><p>Congratulations, you just taught conditional logic. Next: "Two claps means go backwards!" Now we're teaching parameters.</p><p><strong>3. The Toy Car Parking Lot</strong></p><p>Line up cars by size. Now by color. Now red cars in front, everything else behind. He's learning sorting algorithms without knowing what an algorithm is.</p><p>Add a rule: "Emergency vehicles always go first!" That's priority queuing.</p><p><strong>4. Snack Patterns</strong></p><p>Goldfish, pretzel, goldfish, pretzel. "Can you continue the pattern?" Once he masters it: "What if we add a raisin?" Now it's goldfish, pretzel, raisin, goldfish, pretzel, raisin.</p><p>We just taught sequence expansion (although the raisins rarely last past a couple iterations).</p><h2>Why This Actually Matters</h2><p>These aren't cute games that vaguely relate to programming. They're teaching the exact thinking patterns he'll use whether he's prompting AI or (unlikely) writing actual code:</p><ul><li><p><strong>Pattern recognition</strong>: The basis of all debugging</p></li><li><p><strong>Sequential thinking</strong>: How programs execute</p></li><li><p><strong>Conditional logic</strong>: If this, then that</p></li><li><p><strong>Classification</strong>: Grouping similar things</p></li><li><p><strong>Algorithm design</strong>: Steps to solve a problem</p></li></ul><h2>Your Turn</h2><p>Talk out loud about any pattern you see. Cars parked on the street. Tree, bush, tree, bush along the sidewalk.</p><p>Give your kid the opportunity to match: &#8220;Can you put this fork in the drawer with the other forks?&#8221;</p><p>Tonight at dinner, make a pattern with food and ask your kid to describe it. The yummier, the better!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.raisingpixels.dev/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.raisingpixels.dev/subscribe?"><span>Subscribe now</span></a></p><p><em>What pattern games do you play? Reply and tell me&#8212;I'm always looking for new ways to sneak programming logic into playtime.</em></p>]]></content:encoded></item><item><title><![CDATA[How Toddler Negotiations Teach If-Then Statements]]></title><description><![CDATA[Toddlers observe a lot more than we give them credit for. For example: conditions for getting just what they want.]]></description><link>https://www.raisingpixels.dev/p/how-toddler-negotiations-teach-if</link><guid isPermaLink="false">https://www.raisingpixels.dev/p/how-toddler-negotiations-teach-if</guid><dc:creator><![CDATA[Mei Park]]></dc:creator><pubDate>Tue, 12 Aug 2025 12:42:08 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/56b79488-b1e4-44c9-9446-7eb629a55dca_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My 2-year-old is a better negotiator than most lawyers (probably). He&#8217;s also accidentally learning programming logic.</p><p>&#8220;If I eat meatball, then I can have more blueberries?&#8221;</p><p>Conditional statements come naturally at mealtimes. He doesn&#8217;t know it yet, but he&#8217;s programming me.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4Cca!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50bf5d81-ef91-40da-ad12-c16dd2528bca_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4Cca!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50bf5d81-ef91-40da-ad12-c16dd2528bca_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!4Cca!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50bf5d81-ef91-40da-ad12-c16dd2528bca_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!4Cca!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50bf5d81-ef91-40da-ad12-c16dd2528bca_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!4Cca!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50bf5d81-ef91-40da-ad12-c16dd2528bca_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4Cca!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50bf5d81-ef91-40da-ad12-c16dd2528bca_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/50bf5d81-ef91-40da-ad12-c16dd2528bca_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:771141,&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.raisingpixels.dev/i/169964729?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50bf5d81-ef91-40da-ad12-c16dd2528bca_1456x816.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_!4Cca!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50bf5d81-ef91-40da-ad12-c16dd2528bca_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!4Cca!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50bf5d81-ef91-40da-ad12-c16dd2528bca_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!4Cca!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50bf5d81-ef91-40da-ad12-c16dd2528bca_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!4Cca!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50bf5d81-ef91-40da-ad12-c16dd2528bca_1456x816.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><h2><strong>The Daily Algorithms</strong></h2><p>Every toddler negotiation follows programming logic:</p><h3><strong>The Basic If-Then</strong></h3><p>&#8220;If I put on my shoes, then we go outside?&#8221;</p><p>Classic conditional. Input (shoes) leads to output (park). He&#8217;s learning cause and effect aren&#8217;t just natural laws&#8212;they&#8217;re negotiable parameters.</p><h3><strong>The AND Operator</strong></h3><p>&#8220;If I brush teeth AND pick up toys, then two stories?&#8221;</p><p>Multiple conditions! He&#8217;s combining requirements.</p><p>&#8220;If I lay down AND be quiet AND close my eyes, then another story?&#8221;</p><p>That&#8217;s a three-condition function.</p><h3>The OR Logic</h3><p>&#8220;I wear the dinosaur shirt OR the truck shirt?&#8221;</p><p>He&#8217;s presenting options, understanding that either input produces the desired output (getting dressed). Then he levels up: &#8220;If dinosaur shirt, then green pants. If truck shirt, then blue pants.&#8221;</p><p>Different inputs, different outputs. That&#8217;s programming.</p><h3>The Edge Cases</h3><p>My favorite is when he finds the bugs in our parent logic:</p><p>Me: &#8220;If you don&#8217;t eat your fish, then you can&#8217;t have more crackers.&#8221;</p><p>Him: <em>doesn&#8217;t eat fish</em></p><p>Him: &#8220;I don&#8217;t want more crackers. I want melon.&#8221;</p><p>He found the loophole. Our conditional didn&#8217;t account for his ability to reject the entire premise. That&#8217;s debugging.</p><p>Or this one:</p><p>Me: &#8220;If you eat your fish, then you can have melon.&#8221;</p><p>Him: <em>takes one bite of fish</em></p><p>Him: &#8220;May I have melon now, please.&#8221;</p><p>One bite of fish for a bowl of melon? That&#8217;s optimization.</p><h2>Why This Matters</h2><p>These aren&#8217;t cute moments that vaguely relate to programming. This IS programming. He&#8217;s learning:</p><ul><li><p><strong>Conditional logic</strong>: If X then Y</p></li><li><p><strong>Boolean operators</strong>: AND, OR, NOT</p></li><li><p><strong>Variables</strong>: Different inputs produce different outputs</p></li><li><p><strong>Edge cases</strong>: What happens when assumptions break</p></li><li><p><strong>Debugging</strong>: Finding flaws in logic</p></li><li><p><strong>Optimization</strong>: Maximum reward for minimum effort</p></li></ul><p>Every negotiation is a program he&#8217;s writing in real-time.</p><h2>The Magic Question</h2><p>When he negotiates, I&#8217;ve started asking: &#8220;What&#8217;s your if-then?&#8221;</p><p>&#8220;If I drink water, then we go outside.&#8221;</p><p>&#8220;If I get dressed, then we play GCompris.&#8221;</p><p>&#8220;If I lay down, then Mama sings Twinkle Twinkle Little Star.&#8221;</p><p>He&#8217;s getting explicit about his logic. He&#8217;s learning that clear conditions lead to predictable outcomes.</p><h2>Your Turn</h2><p>Tomorrow, when your toddler starts negotiating, listen for the logic:</p><ul><li><p>What conditions are they setting?</p></li><li><p>What operators are they using?</p></li><li><p>Where are the edge cases?</p></li></ul><p>Talk through each point (in toddler terms) and make them explicit. Then try this: &#8220;Okay, <em>if</em> we do that, <em>then</em> what do you want to happen?&#8221;</p><p>Watch them think. Watch them structure their argument. Watch them debug their own logic when it doesn&#8217;t work.</p><p>They&#8217;re not just negotiating. They&#8217;re programming.</p><p>When we teach them to think in if-thens, we're teaching them to think clearly about cause and effect, actions and consequences, effort and reward. That's not just coding. That's life.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.raisingpixels.dev/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.raisingpixels.dev/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p><em>This morning: "If I hug, then Mama is happy.&#8221; Yes, buddy. That program runs perfectly every time. What's your favorite toddler if-then that just melts you?</em></p>]]></content:encoded></item><item><title><![CDATA[Your Toddler's First Dev Environment in 10 Minutes]]></title><description><![CDATA[Skip the kiddie versions and set them up to ship!]]></description><link>https://www.raisingpixels.dev/p/your-toddlers-first-dev-environment</link><guid isPermaLink="false">https://www.raisingpixels.dev/p/your-toddlers-first-dev-environment</guid><dc:creator><![CDATA[Mei Park]]></dc:creator><pubDate>Fri, 08 Aug 2025 12:25:23 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/189840ba-b1ad-434e-8c9f-35261fde67a6_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My 2-year-old ships games with the same tools I use professionally.</p><p>We skipped the "kid-friendly" stuff and went straight to real tools. Turns out, toddlers are vastly underestimated! They don't need training wheels, just guidance and motivation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LalR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3644be3-5145-4072-a897-d5b750eb4b34_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LalR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3644be3-5145-4072-a897-d5b750eb4b34_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!LalR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3644be3-5145-4072-a897-d5b750eb4b34_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!LalR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3644be3-5145-4072-a897-d5b750eb4b34_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!LalR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3644be3-5145-4072-a897-d5b750eb4b34_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LalR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3644be3-5145-4072-a897-d5b750eb4b34_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a3644be3-5145-4072-a897-d5b750eb4b34_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:391610,&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.raisingpixels.dev/i/170050894?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3644be3-5145-4072-a897-d5b750eb4b34_1456x816.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_!LalR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3644be3-5145-4072-a897-d5b750eb4b34_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!LalR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3644be3-5145-4072-a897-d5b750eb4b34_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!LalR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3644be3-5145-4072-a897-d5b750eb4b34_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!LalR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3644be3-5145-4072-a897-d5b750eb4b34_1456x816.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><h2>The Entire Setup (Yes, Really)</h2><p><strong>Step 1: Install VS Code (3 minutes)</strong></p><p>Download Visual Studio Code. That's it. The same editor I used at work now serves as my toddler's creation platform. Don't overthink it&#8212;kids don't care about themes or extensions.</p><p><strong>Step 2: Add Cline Extension (2 minutes)</strong></p><p>Search "Cline" in VS Code extensions. Click install. This is the AI assistant that turns natural language into code. No configuration needed beyond adding your API key.</p><p><strong>Step 3: Make It Toddler-Friendly (5 minutes)</strong></p><ul><li><p>Bump the font size to 20 (Command+Plus a few times)</p></li><li><p>Hide the sidebar (they don't need it)</p></li><li><p>Full-screen the window (fewer distractions)</p></li><li><p>Create a folder with their name on the desktop and open it in VS Code</p></li></ul><p>Done. Your toddler can now build software.</p><h2>The Secret: It's Not About the Tools</h2><p>Here's what I didn't do:</p><ul><li><p>Install a "kid-friendly" IDE</p></li><li><p>Set up Scratch or Blockly</p></li><li><p>Create special shortcuts</p></li><li><p>Baby-proof anything</p></li></ul><p>Why? Because the complexity isn't in the tools&#8212;it's in the syntax. Remove the syntax (thanks, AI), and suddenly VS Code is as simple as any toy. (Well, you might have to help them type.)</p><h2>The First Session</h2><p>Open VS Code. Open Cline. Say: "Tell the computer what you want to make."</p><p>That's your entire onboarding.</p><p>My son's latest request: "Make a green car website for kids."</p><p>I typed exactly that. A few minutes later, it existed. No configuration. No setup. No "let's learn about variables first."</p><h2>What About Safety?</h2><p>Fair question. Here's my approach:</p><ul><li><p>I'm always present (it's a together activity)</p></li><li><p>The API has spending limits</p></li><li><p>We use a separate user account on the computer</p></li><li><p>Generated games run locally in the browser</p></li></ul><p>If you wanted to be extra, extra cautious, you could use a devcontainer to isolate Cline's coding environment. (For these details, see <a href="https://www.raisingpixels.dev/p/the-parents-guide-to-api-keys-and?r=68mndz&amp;utm_campaign=post&amp;utm_medium=web">my post on API keys and safety</a>) But honestly? The biggest safety feature is that he can't type yet. I'm the gateway, which means natural moderation.</p><h2>Skip the Kids' Stuff</h2><p>Scratch teaches drag-and-drop coding. ScratchJr simplifies it further with picture blocks. But they&#8217;re still teaching syntax, just with pretty colors. We're teaching creation with real tools that will matter in industry for the next generation.</p><p>Your toddler doesn't need a special "learning environment." They need:</p><ol><li><p>A way to express ideas (their voice)</p></li><li><p>Something to turn ideas into reality (AI)</p></li><li><p>A place to see it happen (VS Code)</p></li></ol><p>That's it. Ten minutes to set up. A childhood full of creation ahead.</p><h2>Tonight's Homework</h2><p>Stop researching "best coding apps for kids." Instead, install VS Code and Cline. Tomorrow, ask your kid what they want to make.</p><p>Then make it.</p><p>You'll be amazed at what happens when you stop teaching them to code and start helping them build.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.raisingpixels.dev/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.raisingpixels.dev/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p><em>Stuck on setup? Reply and I'll help you out! Let&#8217;s get your kids building together.</em></p>]]></content:encoded></item><item><title><![CDATA[The Parent’s Guide to API Keys and Safety]]></title><description><![CDATA[Three steps to AI programming with your kid.]]></description><link>https://www.raisingpixels.dev/p/the-parents-guide-to-api-keys-and</link><guid isPermaLink="false">https://www.raisingpixels.dev/p/the-parents-guide-to-api-keys-and</guid><dc:creator><![CDATA[Mei Park]]></dc:creator><pubDate>Tue, 05 Aug 2025 12:15:26 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b0ed91de-c947-424e-873d-c811b7abed4b_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#8220;Wait, I&#8217;m giving my toddler access to AI that can write code?&#8221;</p><p>Yes. And it&#8217;s safer than giving them YouTube. Here&#8217;s how to do it right.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!g5p_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942cc065-87fe-497d-9005-71decdcd7ecf_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!g5p_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942cc065-87fe-497d-9005-71decdcd7ecf_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!g5p_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942cc065-87fe-497d-9005-71decdcd7ecf_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!g5p_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942cc065-87fe-497d-9005-71decdcd7ecf_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!g5p_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942cc065-87fe-497d-9005-71decdcd7ecf_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!g5p_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942cc065-87fe-497d-9005-71decdcd7ecf_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/942cc065-87fe-497d-9005-71decdcd7ecf_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:583828,&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://meipark.substack.com/i/170049568?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942cc065-87fe-497d-9005-71decdcd7ecf_1456x816.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_!g5p_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942cc065-87fe-497d-9005-71decdcd7ecf_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!g5p_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942cc065-87fe-497d-9005-71decdcd7ecf_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!g5p_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942cc065-87fe-497d-9005-71decdcd7ecf_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!g5p_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942cc065-87fe-497d-9005-71decdcd7ecf_1456x816.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><h2>First: What&#8217;s an API Key?</h2><p>Think of it as a password that lets the AI work. You need one, it costs a little money when used, and you absolutely don&#8217;t want it public. That&#8217;s it. That&#8217;s all you need to know.</p><h2>The Basic Safety Setup</h2><p><strong>1. Set spending limits (2 minutes)</strong></p><p>Every AI service lets you set monthly limits. I set mine to $10. My toddler would need to build upwards of 500 games to hit that. When the limit&#8217;s reached, it just stops working. No surprise bills.</p><p><strong>2. Use a password manager (already done, right?)</strong></p><p>Your API key goes in your password manager, not a sticky note. I use 1Password, but Bitwarden&#8217;s free and excellent. Copy-paste when needed.</p><p><strong>3. Separate user account (5 minutes)</strong></p><p>Create a &#8220;Family Coding&#8221; user on your computer. It only has VS Code and a browser. No email, no shopping sites, no saved passwords. This is your coding sandbox.</p><h2>The Advanced Move: Devcontainers</h2><p>Want bulletproof safety? Devcontainers isolate the AI&#8217;s environment completely. It&#8217;s like giving the AI its own computer inside your computer. It can&#8217;t touch your files, can&#8217;t see your system, can&#8217;t do anything outside its box.</p><p>Here&#8217;s a simple setup. Create a folder called <code>.devcontainer</code> and a file inside it called <code>devcontainer.json</code>.</p><p><code>.devcontainer/devcontainer.json</code>:</p><pre><code>{
  "name": "Toddler Dev Environment",
  "image": "mcr.microsoft.com/devcontainers/javascript-node:1-20",
  "features": {
    "ghcr.io/devcontainers/features/common-utils:2": {}
  },
  "customizations": {
    "vscode": {
      "extensions": [
        "anthropic.claude-code"
      ],
      "settings": {
        "editor.fontSize": 20,
        "editor.wordWrap": "on",
        "files.autoSave": "afterDelay",
        "files.autoSaveDelay": 1000,
        "terminal.integrated.fontSize": 16,
      }
    }
  },
  "postCreateCommand": "npm install -g @anthropic-ai/claude-code",
  "remoteUser": "node"
}</code></pre><p>Save this, restart VS Code, and it&#8217;ll ask if you want to open in a container. Say yes. Now the AI can only work in this sealed environment.</p><h2>What Can Actually Go Wrong?</h2><p>Let&#8217;s be realistic about risks:</p><p><strong>Could the AI write weird code?</strong></p><p>Theoretically, yes. Practically, your toddler&#8217;s asking for truck games, not bitcoin miners. And you&#8217;re watching everything happen.</p><p><strong>Could they rack up huge bills?</strong></p><p>Not with spending limits. $10 max means $10 max.</p><p><strong>Could they accidentally delete files?</strong></p><p>Not anything unrecoverable if you're using a devcontainer.</p><h2>The Reality Check</h2><p>I&#8217;ve been doing this for months. The worst thing that&#8217;s happened? My son asked the AI to &#8220;make everything green&#8221; and it did. Everything. The horror.</p><p>Your toddler is safer building games with AI than:</p><ul><li><p>Watching YouTube (no algorithm suggesting weird videos)</p></li><li><p>Playing mobile games (no ads or in-app purchases)</p></li><li><p>Using kid apps (no data collection)</p></li></ul><h2>The One Rule That Matters</h2><p><strong>You&#8217;re always there.</strong></p><p>This isn&#8217;t your typical screen time. You&#8217;re sitting together, typing their words, watching the magic happen. You&#8217;re the filter, the guide, and the emergency stop button.</p><p>That&#8217;s better than any technical safety measure.</p><h2>Your Action Items</h2><ol><li><p>Get an API key (Claude or OpenAI)</p></li><li><p>Set a $10 monthly limit</p></li><li><p>Put the key in your password manager</p></li><li><p>Create that devcontainer file (optional but recommended)</p></li><li><p>Start building!</p></li></ol><p>We&#8217;re living in a moment where a 2-year-old&#8217;s imagination can become reality in minutes. Safely. Easily. Together.</p><p>When my son says &#8220;Make a race car game!&#8221; and we actually make it, I watch his understanding of what&#8217;s possible expand. He&#8217;s learning that computers aren&#8217;t mysterious boxes&#8212;they&#8217;re creative partners. He&#8217;s discovering that his ideas have value. That he can build, not just consume.</p><p>And it&#8217;s all happening safely, with you right there, guiding the adventure.</p><p>That&#8217;s not just safe. It&#8217;s magical.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.raisingpixels.dev/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.raisingpixels.dev/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p><em>Security questions? Reply and ask. I&#8217;ve probably overthought it already so you don&#8217;t have to!</em></p>]]></content:encoded></item><item><title><![CDATA[My 2-Year-Old Shipped His First Game. I’m Not Teaching Him to Code.]]></title><description><![CDATA[What happened when we gave our toddler AI tools, and why the future of programming is toddler talk.]]></description><link>https://www.raisingpixels.dev/p/my-2-year-old-shipped-his-first-game</link><guid isPermaLink="false">https://www.raisingpixels.dev/p/my-2-year-old-shipped-his-first-game</guid><dc:creator><![CDATA[Mei Park]]></dc:creator><pubDate>Sun, 03 Aug 2025 11:12:22 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/06e1e1f5-51bb-42fc-956d-ed12730ed397_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My 2-year-old knows what he likes. Since before his first birthday, he&#8217;s been excited by construction vehicles, cars and trucks, and anything else with an engine that goes. He watches videos of trucks and trains, and any game in GCompris with a vehicle in it (there are many) becomes a fast favorite.</p><p>So when we told him that he could make his own game, with any kind of vehicle he wanted, it was an unsurprising jump to:</p><p>&#8220;Make a red car game!&#8221;</p><p>I explained it like this:</p><p>&#8220;You type what you want here, and the computer helper will try to make it for you.&#8221;</p><p>His eyes lit up. &#8220;Make a red car game! Tell the computer to make a red car game RIGHT NOW.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hY2o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e87d65-2b95-462c-8c3a-f0213b17dc9c_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hY2o!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e87d65-2b95-462c-8c3a-f0213b17dc9c_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!hY2o!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e87d65-2b95-462c-8c3a-f0213b17dc9c_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!hY2o!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e87d65-2b95-462c-8c3a-f0213b17dc9c_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!hY2o!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e87d65-2b95-462c-8c3a-f0213b17dc9c_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hY2o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e87d65-2b95-462c-8c3a-f0213b17dc9c_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/96e87d65-2b95-462c-8c3a-f0213b17dc9c_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:554230,&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.raisingpixels.dev/i/169989232?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e87d65-2b95-462c-8c3a-f0213b17dc9c_1456x816.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_!hY2o!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e87d65-2b95-462c-8c3a-f0213b17dc9c_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!hY2o!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e87d65-2b95-462c-8c3a-f0213b17dc9c_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!hY2o!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e87d65-2b95-462c-8c3a-f0213b17dc9c_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!hY2o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e87d65-2b95-462c-8c3a-f0213b17dc9c_1456x816.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><h2><strong>Why I&#8217;m Not Teaching My Kid to Code</strong></h2><p>I&#8217;ve been in software development for a decade. I&#8217;ve written more functions, loops, and algorithms than I could possibly count. And yet I&#8217;m convinced that teaching my toddler how to write a proper if&#8230;then would be a complete waste of time (and not because he wouldn&#8217;t get it&#8212;he&#8217;s already an expert at &#8220;If you finish your meatball, then you can have more blueberries.&#8221;).</p><p>The point is that he&#8217;s not going to grow up in the world I learned to code in. That world is gone. Learning Python will be akin to learning plumbing. Does it make you more knowledgable and self-sufficient to know how the water gets to the faucet and how to fix a broken pipe? Yes. But 99% of the time your focus is on what you&#8217;re doing with the water.</p><p>LLMs (Large Language Models&#8212;or, colloquially, &#8220;AI&#8221;) are already impressive. By the time my son is working-age, they&#8217;ll be unrecognizable. Well, more accurately, they&#8217;ll be infinitely recognizable&#8212;invisibly embedded into every bit of technology we use, from our wristwatches to our televisions. (For future readers: wristwatches are devices we used to wear on our wrists to tell the time, and televisions are&#8230; oh, nevermind.)</p><p>If you want your kids to thrive with tomorrow&#8217;s technology, please don&#8217;t teach them how to code.</p><p>Teach them how to build.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.raisingpixels.dev/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.raisingpixels.dev/subscribe?"><span>Subscribe now</span></a></p><h2><strong>My Toddler, the Prompt Engineer</strong></h2><p>My son knows his letters but we&#8217;re still working on keyboard skills, so we helped him type it in.</p><pre><code>make a browser based red car game</code></pre><p>Visual Studio Code lit up, green lines filling the screen, things happening. He watched excitedly. &#8220;Can we play it now? Is the computer done yet?&#8221;</p><p>Eight minutes later, we opened the browser window and there it was: a little red car, trundling down the road on a sunny day, jumping over traffic cones and obstacles at the press of the space bar. Then,</p><p>&#8220;Can we make it a digger? Make a firetruck game. Make an AMBULANCE game!&#8221;</p><p>(He&#8217;s two, after all.)</p><p>My little prompt engineer has been busy: you can see all the games we&#8217;ve made so far at <a href="https://madladstudios.com/">madladstudios.com</a>.</p><h2><strong>Forget Syntax. This is What Actually Matters.</strong></h2><p>My son thinks we made a little red car game that day, but what we achieved was much bigger than that.</p><p>He used to think computers were things that showed him other people's stuff. YouTube videos of excavators. Educational games someone else designed. Now, the computer is his collaborator. When he has an idea, he knows he can build it. The computer changed from a tool for consumption to a tool for creation.</p><p>But more importantly, he's learning foundational skills for the type of programming that will be most relevant in his lifetime: natural language programming.</p><p>I watched him figure out that specificity matters. "Make a fire truck game," left a lot up to the model to assume, but, "make a fire truck game where it sprays water and puts out fires," got him just the game he wanted. When the red car's short jumps landed it on top of obstacles more often than over them, "make it easier for kids," got him bigger, loftier jumps that kept the game frustration-free.</p><p>He's discovering that creation can be a conversation. You say what you want, you see what you get, you refine, you try again. It's the same iterative process I use as a developer, minus all the unnatural syntax that gets in the way.</p><p>The tools have fundamentally changed. When any child who can describe an idea can also build it, we need to rethink what we're teaching them.</p><p>Some parents want to teach their kids Python. We're teaching ours to think in systems and communicate clearly. To break down big ideas into smaller pieces. To iterate based on results. To imagine boldly and describe precisely. To build with timeless skills in tomorrow's world.</p><h2><strong>Your Toddler Can Ship Software Today</strong></h2><p>Want to try this with your own kids?</p><p>You'll need a computer, an AI assistant like the Cline extension in VS Code, and a kid with ideas. The setup takes minutes&#8212;after that, you're limited only by naptime and snack breaks. (If you want specifics, comment and I'll help you out!)</p><p>Start with what your kid already loves. Let them describe it in their own words. Type exactly what they say&#8212;toddler grammar and all. Watch what happens. The moment they realize their ideas can become real things is when everything changes.</p><p>My son still asks for the red car game. But now he also asks, "What should we make today?"</p><p>I can't think of a better question to teach a kid to ask.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.raisingpixels.dev/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.raisingpixels.dev/subscribe?"><span>Subscribe now</span></a></p><p><em>Have you tried building with AI and your kids? What did you discover? Reply and let me know&#8212;my toddler and I read every response (though he's mostly interested in whether you made any vehicle games).</em></p>]]></content:encoded></item></channel></rss>