<script data-pm-proxy="intercept"></script><?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[Ian Onuska]]></title><description><![CDATA[Building KaidoTrainer: hardware + AI that teaches kids electrical engineering through gameplay. Raising pre-seed to build first prototypes.]]></description><link>https://ianonuska.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!tbXb!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3254dae-4ad1-4363-be8f-cb1719196938_1170x1054.png</url><title>Ian Onuska</title><link>https://ianonuska.substack.com</link></image><generator>Substack</generator><lastBuildDate>Tue, 01 Sep 2026 14:57:21 GMT</lastBuildDate><atom:link href="/__u/ianonuska.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Ian Onuska]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[ianonuska@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[ianonuska@substack.com]]></itunes:email><itunes:name><![CDATA[Ian Onuska]]></itunes:name></itunes:owner><itunes:author><![CDATA[Ian Onuska]]></itunes:author><googleplay:owner><![CDATA[ianonuska@substack.com]]></googleplay:owner><googleplay:email><![CDATA[ianonuska@substack.com]]></googleplay:email><googleplay:author><![CDATA[Ian Onuska]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[KaidoTrainer minigames discoverable in-world.]]></title><description><![CDATA[Volt Shepherd - a free KaidoTrainer minigame you can play right now]]></description><link>https://ianonuska.substack.com/p/kaidotrainer-minigames-discoverable</link><guid isPermaLink="false">https://ianonuska.substack.com/p/kaidotrainer-minigames-discoverable</guid><dc:creator><![CDATA[Ian Onuska]]></dc:creator><pubDate>Sat, 22 Aug 2026 19:14:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Jyth!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3b76093-1d58-43d4-ac81-89414d2cf1be_2376x1568.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Jyth!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3b76093-1d58-43d4-ac81-89414d2cf1be_2376x1568.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Jyth!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3b76093-1d58-43d4-ac81-89414d2cf1be_2376x1568.png 424w, /__u/substackcdn.com/image/fetch/$s_!Jyth!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3b76093-1d58-43d4-ac81-89414d2cf1be_2376x1568.png 848w, /__u/substackcdn.com/image/fetch/$s_!Jyth!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3b76093-1d58-43d4-ac81-89414d2cf1be_2376x1568.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Jyth!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3b76093-1d58-43d4-ac81-89414d2cf1be_2376x1568.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Jyth!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3b76093-1d58-43d4-ac81-89414d2cf1be_2376x1568.png" width="1456" height="961" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c3b76093-1d58-43d4-ac81-89414d2cf1be_2376x1568.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:961,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2708132,&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://ianonuska.substack.com/i/212323108?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3b76093-1d58-43d4-ac81-89414d2cf1be_2376x1568.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Jyth!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3b76093-1d58-43d4-ac81-89414d2cf1be_2376x1568.png 424w, /__u/substackcdn.com/image/fetch/$s_!Jyth!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3b76093-1d58-43d4-ac81-89414d2cf1be_2376x1568.png 848w, /__u/substackcdn.com/image/fetch/$s_!Jyth!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3b76093-1d58-43d4-ac81-89414d2cf1be_2376x1568.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Jyth!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3b76093-1d58-43d4-ac81-89414d2cf1be_2376x1568.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 aria-hidden="true" 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><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>While we get KaidoTrainer ready for launch, we&#8217;ve been making little games that the player can discover within the game world. The first one is published live on our website: Volt Shepherd.</p><p>The idea is simple: you&#8217;re herding <strong>voltlings</strong> (little electron creatures) across a field and into a hole. You can&#8217;t touch them. You steer them the way electricity actually gets steered: drop charges to pull and push them, resistors to slow them down, capacitors that store them up and fire, coils that catch a whole herd and launch it, diodes that only let them through one way. I wanted to build something that helps our players develop an intuition for the invisible aspects of electromagnetism to go along with the game&#8217;s hands-on core.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://ianonuska.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/ianonuska.substack.com/subscribe"><span>Subscribe now</span></a></p><p><br>While KaidoTrainer is a physical game about building real circuits with your hands, this minigame is a mix of physics simulator and golfing. If you come away with a feel for why voltlings orbit a charge, or why a capacitor goes haywire without a resistor to temper it, then you&#8217;ve picked up an extra bit of useful electronics knowledge.</p><p>Play the endless waves and let us know how you like it.</p><p>More minigames are coming. They will all be discoverable within the launch game! </p><p>Play it here for free: <a href="https://kaidotrainer.com/minigames">kaidotrainer.com/minigames</a></p><p><br>We&#8217;re on track preparing for the KaidoTrainer kickstarter!! <br>More updates coming soon. Remember if you&#8217;re ready to secure your unit before launch: <a href="https://kaidotrainer.com/reserve">there&#8217;s a $1 refundable reservation on the site</a>. </p>]]></content:encoded></item><item><title><![CDATA[KaidoTrainer Game Developments]]></title><description><![CDATA[The game is half-way done.]]></description><link>https://ianonuska.substack.com/p/kaidotrainer-game-developments</link><guid isPermaLink="false">https://ianonuska.substack.com/p/kaidotrainer-game-developments</guid><dc:creator><![CDATA[Ian Onuska]]></dc:creator><pubDate>Thu, 06 Aug 2026 18:45:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!OR1n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fef5e5-bd13-4786-9479-59a4caf6f4ca_3024x1964.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!OR1n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fef5e5-bd13-4786-9479-59a4caf6f4ca_3024x1964.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!OR1n!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fef5e5-bd13-4786-9479-59a4caf6f4ca_3024x1964.png 424w, /__u/substackcdn.com/image/fetch/$s_!OR1n!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fef5e5-bd13-4786-9479-59a4caf6f4ca_3024x1964.png 848w, /__u/substackcdn.com/image/fetch/$s_!OR1n!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fef5e5-bd13-4786-9479-59a4caf6f4ca_3024x1964.png 1272w, /__u/substackcdn.com/image/fetch/$s_!OR1n!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fef5e5-bd13-4786-9479-59a4caf6f4ca_3024x1964.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!OR1n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fef5e5-bd13-4786-9479-59a4caf6f4ca_3024x1964.png" width="1456" height="946" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/38fef5e5-bd13-4786-9479-59a4caf6f4ca_3024x1964.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:946,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4311669,&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://ianonuska.substack.com/i/210114027?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fef5e5-bd13-4786-9479-59a4caf6f4ca_3024x1964.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!OR1n!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fef5e5-bd13-4786-9479-59a4caf6f4ca_3024x1964.png 424w, /__u/substackcdn.com/image/fetch/$s_!OR1n!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fef5e5-bd13-4786-9479-59a4caf6f4ca_3024x1964.png 848w, /__u/substackcdn.com/image/fetch/$s_!OR1n!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fef5e5-bd13-4786-9479-59a4caf6f4ca_3024x1964.png 1272w, /__u/substackcdn.com/image/fetch/$s_!OR1n!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fef5e5-bd13-4786-9479-59a4caf6f4ca_3024x1964.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 aria-hidden="true" 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><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>Big milestone update. For everyone new here: KaidoTrainer is a handheld game console where you play a full RPG and to progress, you build real electronic circuits on a real breadboard with your hands. The camera checks your work. The story is about a kid and a little green robot trying to fix a broken world, and you learn actual electronics by saving the world from the evil Energy Nation.</p><p>Here&#8217;s where the game itself stands.</p><p>The first two regions are completely done. Every line of dialogue, every quest, every hidden letter, every sign you can read, every villager with a daily routine, every secret I&#8217;m not going to spoil here. I hand-drew both regions on graph paper, and through the browser tools we built, every door, quest trigger, and NPC walking route now exists as exact game data. Thirty-four playable areas, fully placed.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!7shK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb327961-e30a-4e53-a174-a4aabbfd1221_1456x900.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!7shK!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb327961-e30a-4e53-a174-a4aabbfd1221_1456x900.webp 424w, /__u/substackcdn.com/image/fetch/$s_!7shK!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb327961-e30a-4e53-a174-a4aabbfd1221_1456x900.webp 848w, /__u/substackcdn.com/image/fetch/$s_!7shK!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb327961-e30a-4e53-a174-a4aabbfd1221_1456x900.webp 1272w, /__u/substackcdn.com/image/fetch/$s_!7shK!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb327961-e30a-4e53-a174-a4aabbfd1221_1456x900.webp 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!7shK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb327961-e30a-4e53-a174-a4aabbfd1221_1456x900.webp" width="1456" height="900" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bb327961-e30a-4e53-a174-a4aabbfd1221_1456x900.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:900,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:129458,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://ianonuska.substack.com/i/210114027?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb327961-e30a-4e53-a174-a4aabbfd1221_1456x900.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!7shK!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb327961-e30a-4e53-a174-a4aabbfd1221_1456x900.webp 424w, /__u/substackcdn.com/image/fetch/$s_!7shK!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb327961-e30a-4e53-a174-a4aabbfd1221_1456x900.webp 848w, /__u/substackcdn.com/image/fetch/$s_!7shK!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb327961-e30a-4e53-a174-a4aabbfd1221_1456x900.webp 1272w, /__u/substackcdn.com/image/fetch/$s_!7shK!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb327961-e30a-4e53-a174-a4aabbfd1221_1456x900.webp 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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><br>The whole world is designed. All six regions of Faraday Land now have their complete story skeletons - every major character has a name, every questline is written stage by stage, every region has its own mystery, and the entire story is connected end to end. I recently wrote out the game&#8217;s full motivation chain (every &#8220;why&#8221; from the first scene to the last). No question marks left anywhere.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://ianonuska.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/ianonuska.substack.com/subscribe"><span>Subscribe now</span></a></p><p>The writing campaign is deep into the back half. The sewer city, the snowy mountain clans, the wasteland crossing are drafted, and I write and rewrite every single line myself. The finale region is next. <br><br>After that comes the ambient layer: weather systems, animals with routines, tiny background moments that make a world feel inhabited.<br><br><br>The game&#8217;s current target length is 14-16 hours for the main story, somewhere around 30 hours if you find everything. Part of that time is spent with your hands on real components, building real circuits that really work. No other RPG on any shelf can say that.</p><p>What&#8217;s left: I have to draw the last four regions&#8217; maps and finish the writing campaign then import all of the data to the game engine. Soon I will hire a pixel artist to start turning my concept art assets and drawings into the full envisioned world.</p><p>The hard decisions are all behind the KaidoTrainer team. What&#8217;s left is working diligently to finish it correctly. Since I started all of this 8 months ago, the game has never felt more inevitable. Thanks for following along. <br><br>Reserve a unit before launch at <a href="http://kaidotrainer.com/reserve">kaidotrainer.com/reserve</a>.</p><p></p>]]></content:encoded></item><item><title><![CDATA[KaidoTrainer Region map sketches ]]></title><description><![CDATA[Game content updates]]></description><link>https://ianonuska.substack.com/p/kaidotrainer-region-map-sketches</link><guid isPermaLink="false">https://ianonuska.substack.com/p/kaidotrainer-region-map-sketches</guid><dc:creator><![CDATA[Ian Onuska]]></dc:creator><pubDate>Thu, 30 Jul 2026 19:00:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!sSLL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b94290-8f93-4c0b-bad5-25dac18d0ba0_3968x2578.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Some notes designing the game content this week. I&#8217;ve been super busy drawing the grid map and writing and rewriting the content for the story and world. Below are some of my sketches for the first region. </p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!sSLL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b94290-8f93-4c0b-bad5-25dac18d0ba0_3968x2578.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!sSLL!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b94290-8f93-4c0b-bad5-25dac18d0ba0_3968x2578.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!sSLL!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b94290-8f93-4c0b-bad5-25dac18d0ba0_3968x2578.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!sSLL!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b94290-8f93-4c0b-bad5-25dac18d0ba0_3968x2578.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!sSLL!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b94290-8f93-4c0b-bad5-25dac18d0ba0_3968x2578.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!sSLL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b94290-8f93-4c0b-bad5-25dac18d0ba0_3968x2578.jpeg" width="3968" height="2578" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0b94290-8f93-4c0b-bad5-25dac18d0ba0_3968x2578.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:2578,&quot;width&quot;:3968,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:0,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!sSLL!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b94290-8f93-4c0b-bad5-25dac18d0ba0_3968x2578.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!sSLL!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b94290-8f93-4c0b-bad5-25dac18d0ba0_3968x2578.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!sSLL!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b94290-8f93-4c0b-bad5-25dac18d0ba0_3968x2578.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!sSLL!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b94290-8f93-4c0b-bad5-25dac18d0ba0_3968x2578.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Center Farm</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!x2yB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bcebe80-5e61-4524-889e-837a45600d12_3913x2499.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!x2yB!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bcebe80-5e61-4524-889e-837a45600d12_3913x2499.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!x2yB!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bcebe80-5e61-4524-889e-837a45600d12_3913x2499.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!x2yB!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bcebe80-5e61-4524-889e-837a45600d12_3913x2499.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!x2yB!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bcebe80-5e61-4524-889e-837a45600d12_3913x2499.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!x2yB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bcebe80-5e61-4524-889e-837a45600d12_3913x2499.jpeg" width="3913" height="2499" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3bcebe80-5e61-4524-889e-837a45600d12_3913x2499.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:2499,&quot;width&quot;:3913,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:0,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!x2yB!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bcebe80-5e61-4524-889e-837a45600d12_3913x2499.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!x2yB!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bcebe80-5e61-4524-889e-837a45600d12_3913x2499.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!x2yB!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bcebe80-5e61-4524-889e-837a45600d12_3913x2499.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!x2yB!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bcebe80-5e61-4524-889e-837a45600d12_3913x2499.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">North</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Wdyu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f08e64b-9b4f-498a-953e-a2d5f2795644_3975x2571.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Wdyu!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f08e64b-9b4f-498a-953e-a2d5f2795644_3975x2571.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!Wdyu!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f08e64b-9b4f-498a-953e-a2d5f2795644_3975x2571.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!Wdyu!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f08e64b-9b4f-498a-953e-a2d5f2795644_3975x2571.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!Wdyu!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f08e64b-9b4f-498a-953e-a2d5f2795644_3975x2571.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Wdyu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f08e64b-9b4f-498a-953e-a2d5f2795644_3975x2571.jpeg" width="3975" height="2571" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3f08e64b-9b4f-498a-953e-a2d5f2795644_3975x2571.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:2571,&quot;width&quot;:3975,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:0,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Wdyu!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f08e64b-9b4f-498a-953e-a2d5f2795644_3975x2571.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!Wdyu!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f08e64b-9b4f-498a-953e-a2d5f2795644_3975x2571.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!Wdyu!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f08e64b-9b4f-498a-953e-a2d5f2795644_3975x2571.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!Wdyu!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f08e64b-9b4f-498a-953e-a2d5f2795644_3975x2571.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">South</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!3lxj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b334492-9171-4610-8d53-0ec58cc133e8_4008x2578.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!3lxj!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b334492-9171-4610-8d53-0ec58cc133e8_4008x2578.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!3lxj!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b334492-9171-4610-8d53-0ec58cc133e8_4008x2578.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!3lxj!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b334492-9171-4610-8d53-0ec58cc133e8_4008x2578.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!3lxj!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b334492-9171-4610-8d53-0ec58cc133e8_4008x2578.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!3lxj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b334492-9171-4610-8d53-0ec58cc133e8_4008x2578.jpeg" width="4008" height="2578" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b334492-9171-4610-8d53-0ec58cc133e8_4008x2578.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:2578,&quot;width&quot;:4008,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:0,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!3lxj!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b334492-9171-4610-8d53-0ec58cc133e8_4008x2578.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!3lxj!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b334492-9171-4610-8d53-0ec58cc133e8_4008x2578.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!3lxj!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b334492-9171-4610-8d53-0ec58cc133e8_4008x2578.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!3lxj!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b334492-9171-4610-8d53-0ec58cc133e8_4008x2578.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">West</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!sXpb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d7a106-280e-43a7-91a1-58d80a3c8c74_3961x2556.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!sXpb!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d7a106-280e-43a7-91a1-58d80a3c8c74_3961x2556.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!sXpb!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d7a106-280e-43a7-91a1-58d80a3c8c74_3961x2556.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!sXpb!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d7a106-280e-43a7-91a1-58d80a3c8c74_3961x2556.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!sXpb!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d7a106-280e-43a7-91a1-58d80a3c8c74_3961x2556.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!sXpb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d7a106-280e-43a7-91a1-58d80a3c8c74_3961x2556.jpeg" width="3961" height="2556" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/02d7a106-280e-43a7-91a1-58d80a3c8c74_3961x2556.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:2556,&quot;width&quot;:3961,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:0,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!sXpb!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d7a106-280e-43a7-91a1-58d80a3c8c74_3961x2556.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!sXpb!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d7a106-280e-43a7-91a1-58d80a3c8c74_3961x2556.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!sXpb!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d7a106-280e-43a7-91a1-58d80a3c8c74_3961x2556.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!sXpb!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d7a106-280e-43a7-91a1-58d80a3c8c74_3961x2556.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">East</figcaption></figure></div><p>Game content updates:</p><p>I added an energy system for the player: food is health, water is energy, but nothing drains while you stand still. So you have a red bar for health, a light blue bar for water. Health is affected by what the world does to you. Water/energy is what you spend: sprinting, digging, swimming, climbing, hauling a chicken across the farm.</p><p></p><p>Side quests in our world are hidden, you discover them by talking to people, reading letters someone slipped under a door, overhearing an argument in the square. Until you find them, they don't exist.</p><p></p><p>We have big boss fights now -  including one huge machine you fight before you escape your home region. Enemy difficulty that's more harshly challenging is in optional content, clearly marked, for the players who want it.</p><p></p><p>Wandering through the game are some mysterious travelers - a wizard who pops in and out, a doctor who writes stories, a stranger who appears and vanishes and only leaves letters.</p><p> What a player finds out slowly is that the wise things these characters say are real historical quotes (real inventors, real writers) and every quote in the game is collected in a journal with the actual name attached.</p><p></p><p>There's also a radio station in the game (pirate resistance radio, long story) that reads a quote over the air at night. And hidden somewhere in every region is a plaque with words from the scientist the whole land is quietly named after. Find them all and something nice happens.</p><p></p><p>Coins in the game work like you'd expect: quests pay, arcades pay out, you buy noodles and duct tape. But there are some hidden uses throughout the game that the player can uncover. </p><p></p><p>Thanks for following along. Reserve the game at <a href="/__u/ianonuska.substack.com/kaidotrainer.com/reserve">kaidotrainer.com/reserve</a>. </p>]]></content:encoded></item><item><title><![CDATA[Manufacturing KaidoTrainer ]]></title><description><![CDATA[phase 1 and phase 2]]></description><link>https://ianonuska.substack.com/p/manufacturing-kaidotrainer</link><guid isPermaLink="false">https://ianonuska.substack.com/p/manufacturing-kaidotrainer</guid><dc:creator><![CDATA[Ian Onuska]]></dc:creator><pubDate>Fri, 17 Jul 2026 18:11:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tbXb!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3254dae-4ad1-4363-be8f-cb1719196938_1170x1054.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;ve been spending a lot of time over the last month studying James Dyson. Dyson gets remembered wrong. The story people tell is that &#8220;he built 5,127 prototypes and then made everything himself.&#8221; The real sequence is much more messy and realistic: he licensed first, earned revenue, and only then bought machines - and even at his peak he never made everything.</p><p>I&#8217;ve been thinking about that sequence a lot, because I have plans for where KaidoTrainer manufacturing is headed. It&#8217;s a ladder. These are the first two rungs.</p><h2>Level 1: Our first batch manufactured externally.</h2><p>When the Kickstarter funds next spring, the first production run of KaidoTrainer will be built by an experienced contract manufacturer. Injection molding, board assembly, the works.</p><p>I want to be plain about why, because &#8220;we use a factory&#8221; is much more involved than it seems. It appears to be some large claim often used as a painful confession. It shouldn&#8217;t be. <strong>A first fulfillment is the worst possible moment to also be learning how to run a production line.</strong> The graveyard of crowdfunded hardware is full of teams who tried to do both at once - who let their dream of making by themselves contaminate the promise of delivering. Backers don&#8217;t need any special factory romance. They need their console, working, on time, safety-certified for children, in a box that survived a drop test. <strong>Delivering on customer orders is what matters.</strong></p><p>So batch 1 is contract-built, and I will be in the factory while it happens, watching everything and micromanaging because this is the most important part of my life and I&#8217;m going to do everything I can to ensure that each unit is perfect for delivery to the many people who trust me enough to buy KaidoTrainer. I will also be using this time to learn everything I can. Dyson&#8217;s first products came off other people&#8217;s lines too. Manufacturing externally is not a compromise it&#8217;s the whole de-risked plan.</p><h2>Level 2: When manufacturing becomes more internal.</h2><p>When we do bring some manufacturing in-house I have plans for where we will start: <strong>final assembly, calibration, and testing.</strong> Target: batch 2.</p><p>Every KaidoTrainer that ships has to do something no toy has done before - look at a real breadboard with a real camera and judge a child&#8217;s real circuit correctly, down to the exact hole a wire is plugged into. That judgment depends on a calibration step: each unit&#8217;s camera gets precisely mapped to its own breadboard, and then every single console has to prove, before it goes in the box, that it can check a circuit and tell the truth about it.</p><p>That bench is where our entire promise becomes physical. A player trusts the machine because the machine was made trustworthy - individually, on purpose, by someone who cared enough to pay close attention and make it work. I&#8217;m not mailing that step overseas as a procedure document and hoping. We&#8217;re going to run it ourselves: a small space, a few hires, every unit assembled, calibrated, tested, and boxed by our own hands before it goes to a customer.</p><p>There are practical bonuses - the system that does the checking never has to leave our possession, and final assembly here at home makes the supply chain sturdier in a few boring ways. But the main reason is quality control. We have to ensure the product maintains its character. </p><h2>Vertically integrated later on.</h2><p>There are more levels of manufacturing to bring in-house. I have opinions about which machines we&#8217;ll eventually own and which we don&#8217;t plan to do ourselves (Dyson buys his printed circuit boards; so will we). But the future is determined by where we are moment to moment in that future and can&#8217;t really be planned too far in advance in detail. When we climb one, you&#8217;ll read about it here, including whatever goes wrong on the way up.<br><br><em>KaidoTrainer is an internet-free handheld console where players build real circuits to advance in a real adventure. Reserve your spot for $1 (fully refundable): <a href="http://kaidotrainer.com/reserve">kaidotrainer.com/reserve</a></em></p>]]></content:encoded></item><item><title><![CDATA[KaidoTrainer solves two problems]]></title><description><![CDATA[problem, solution; problem, solution]]></description><link>https://ianonuska.substack.com/p/kaidotrainer-solves-two-problems</link><guid isPermaLink="false">https://ianonuska.substack.com/p/kaidotrainer-solves-two-problems</guid><dc:creator><![CDATA[Ian Onuska]]></dc:creator><pubDate>Thu, 09 Jul 2026 00:40:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tbXb!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3254dae-4ad1-4363-be8f-cb1719196938_1170x1054.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When introducing KaidoTrainer I usually describe that it&#8217;s &#8220;a game console that teaches real electronics.&#8221; That&#8217;s true, but it undersells what we&#8217;re actually going after. There are two specific problems underneath that we are targeting.</p><p><strong>Problem one: exposure.</strong></p><p>Nobody becomes an artist without ever seeing art. Drawing is ambient - paper and crayons in every classroom. Music is ambient. Sports are on every screen. Kids form identities around what&#8217;s <em>visible</em> to them by age six.</p><p>Now, where does a kid ever see electronics as a thing people <em>do</em>? Not the gadgets. The making. Building circuits is genuinely expressive - anyone who&#8217;s built one that worked knows the feeling is closer to finishing a drawing than finishing a worksheet. But it&#8217;s an art form with zero ambient exposure at least since the early 2000s. And the STEM industry&#8217;s answer, the electronics kit, only reaches kids who <em>already ask for one</em>. Think about who that filter selects. The kit industry doesn&#8217;t create engineers - it serves the ones being created elsewhere. It serves those already exposed to electronics.</p><p>That&#8217;s why KaidoTrainer is a video game first. Not electronics with game decoration, a real RPG whose controller is a breadboard. The story will not move until you build a real circuit with your hands. Kids ask for games. <br><br>The front door for entry changes from &#8220;already likes circuits&#8221; to &#8220;likes games&#8221; - which is literally every kid.</p><p><strong>Problem two: feedback.</strong></p><p>In 1984, Benjamin Bloom published one of the most important findings in education research: students tutored one-on-one performed about <em>two standard deviations</em> better than kids in a regular classroom. The average tutored kid beat 98% of the class. The catch (and Bloom named it himself) is that tutoring doesn&#8217;t scale.</p><p>Forty years later, software closed that gap for anything made of symbols. Math apps check every step. Language apps grade every sentence. Chess engines annotate every move. LLMs invite more simulation and more correction to thinking processes.</p><p>Hands-on building got <em>none</em> of that. Not because feedback matters less when the work is physical (as I&#8217;m sure you know I believe that it matters more). It&#8217;s because the tutor has to be able to <strong>see the work</strong>, and software couldn&#8217;t see reliably. A kid wires an LED backwards at the kitchen table and gets the same feedback the 1965 kit gave: silence.</p><p>That&#8217;s what the camera in KaidoTrainer is. It looks at the actual circuit, judges it down to the individual breadboard hole, and responds in about a second - on the device, without internet. It is a tutor with eyes, finally pointed at the physical work. <br><br>And we&#8217;re building it to be honest about its own limitations as a computer-vision system: it is architected so it can never tell a player they&#8217;re wrong about something the camera can&#8217;t actually see. Everything it says has to be true, kind, and useful. That&#8217;s our standard, in the code itself.</p><p>KaidoTrainer: <br>- game that invites more people to try this field that I love. <br>- robotic tutor that can finally see the work.</p><p>If you want to be first in line when it launches, reserve your spot for $1 (fully refundable): <a href="http://kaidotrainer.com/reserve">kaidotrainer.com/reserve</a></p>]]></content:encoded></item><item><title><![CDATA[We're going to CES Eureka Park]]></title><description><![CDATA[Huge KaidoTrainer news]]></description><link>https://ianonuska.substack.com/p/were-going-to-ces-eureka-park</link><guid isPermaLink="false">https://ianonuska.substack.com/p/were-going-to-ces-eureka-park</guid><dc:creator><![CDATA[Ian Onuska]]></dc:creator><pubDate>Thu, 02 Jul 2026 16:19:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!bMPy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcdec5c3-f55f-429f-b255-f1f4aa0b787d_4032x3024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>KaidoTrainer has been accepted to exhibit at <strong>CES 2027</strong>, in Eureka Park, this January in Las Vegas.</p><pre><code>If you don't know CES: it's the biggest technology show in the world &#8212; over 4,000 companies, 140,000+ attendees, thousands of journalists. It's where Samsung, Sony, LG, NVIDIA, and LEGO launch their year. Eureka Park is the startup section inside it: companies are selected from a competitive pool of applicants, and it's where press and investors go looking for what's next.</code></pre><p>So in January, we'll be there demoing KaidoTrainer there live: full units, real circuits, camera checking kids' work, the whole thing.</p><p>For a bootstrapped company, getting selected for this stage means a lot. And it doesn't change what we do day to day: we're excited to keep working hard to deliver the game. There's a lot in motion right now - more soon.</p><p>If you want to be first in line when it launches, you can reserve your spot for $1 (fully refundable): <a href="/__u/ianonuska.substack.com/kaidotrainer.com/reserve">kaidotrainer.com/reserve</a></p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!bMPy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcdec5c3-f55f-429f-b255-f1f4aa0b787d_4032x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!bMPy!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcdec5c3-f55f-429f-b255-f1f4aa0b787d_4032x3024.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!bMPy!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcdec5c3-f55f-429f-b255-f1f4aa0b787d_4032x3024.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!bMPy!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcdec5c3-f55f-429f-b255-f1f4aa0b787d_4032x3024.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!bMPy!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcdec5c3-f55f-429f-b255-f1f4aa0b787d_4032x3024.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!bMPy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcdec5c3-f55f-429f-b255-f1f4aa0b787d_4032x3024.jpeg" width="3024" height="4032" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fcdec5c3-f55f-429f-b255-f1f4aa0b787d_4032x3024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:4032,&quot;width&quot;:3024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:0,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!bMPy!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcdec5c3-f55f-429f-b255-f1f4aa0b787d_4032x3024.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!bMPy!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcdec5c3-f55f-429f-b255-f1f4aa0b787d_4032x3024.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!bMPy!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcdec5c3-f55f-429f-b255-f1f4aa0b787d_4032x3024.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!bMPy!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcdec5c3-f55f-429f-b255-f1f4aa0b787d_4032x3024.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 aria-hidden="true" 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><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>]]></content:encoded></item><item><title><![CDATA[KaidoTrainer is coming to Kickstarter]]></title><description><![CDATA[Tell us if you're in!]]></description><link>https://ianonuska.substack.com/p/kaidotrainer-is-coming-to-kickstarter</link><guid isPermaLink="false">https://ianonuska.substack.com/p/kaidotrainer-is-coming-to-kickstarter</guid><dc:creator><![CDATA[Ian Onuska]]></dc:creator><pubDate>Tue, 30 Jun 2026 23:01:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tbXb!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3254dae-4ad1-4363-be8f-cb1719196938_1170x1054.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="poll-embed" data-attrs="{&quot;id&quot;:682877}" data-component-name="PollToDOM"></div><p>I need your help with one thing.</p><p>KaidoTrainer is coming to Kickstarter. For crowdfunding to be successful <strong>the first day is everything.</strong> When lots of people show up on day one, the project wins. When they wait, it can fail. So I need to know that we will have enough backers before launch.</p><p>So tell me right now - where are you?<br><br>Every answer helps. Thank you.</p><p>If you&#8217;re committed to supporting the Kickstarter, <strong>lock it in.</strong> <br><br>Get your reservation deposit for <strong>$1</strong> at <strong><a href="http://kaidotrainer.com/reserve">kaidotrainer.com/reserve</a></strong>. <br><br>You can get it back any time. But it puts you at the <strong>front of the line</strong>, so you get the launch link <em>first</em> - before everyone else.</p><p>The early spots go fast. One dollar saves yours.</p><p>Let&#8217;s build this. &#128267;</p>]]></content:encoded></item><item><title><![CDATA[i took apart a retro handheld game console to figure out how to build mine]]></title><description><![CDATA[quick update from the KaidoTrainer.]]></description><link>https://ianonuska.substack.com/p/i-took-apart-a-retro-handheld-game</link><guid isPermaLink="false">https://ianonuska.substack.com/p/i-took-apart-a-retro-handheld-game</guid><dc:creator><![CDATA[Ian Onuska]]></dc:creator><pubDate>Fri, 26 Jun 2026 17:54:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!n4bd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a27309f-bac1-4213-bcf8-185bd70b0612_4032x3024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This week i tore down a G350 (a cheap retro emulator handhelds) to figure out if we can use anything inside of it for manufacturing.  </p><p>We&#8217;re building hardware without funding, so  learn by taking apart the things that already work is a consistent activity on my schedule. So I pulled it open, photographed every chip, and traced what makes it work.</p><p>It turned out that it's the same recipe as basically every cheap handheld: a Rockchip processor, some memory, a power chip. And surprisingly a bunch of it is very useful to us. The battery and power setup are close to what KaidoTrainer needs.</p><p>But it was missing the one thing that matters most: the brain can run an old game, but it can't see. KaidoTrainer has to watch you build a real circuit and check your work with computer vision. That changes everything about the part in the compute choice - and that's the puzzle i'm working through with my co-founder right now as we get the device ready for manufacturing.</p><p>This is just some of the fun that we&#8217;re navigating ahead of the Kickstarter launch. Device teardowns, chip IDs, hard tradeoffs. building the thing for real.</p><p>If you want to be there when we launch - we're taking unit reservations now for a $1 fully refundable deposit at <a href="/__u/ianonuska.substack.com/kaidotrainer.com/reserve">kaidotrainer.com/reserve</a>. </p><p>It costs you a dollar, holds your spot, and tells me you're in. That&#8217;s it.</p><p>More updates on the way!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!n4bd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a27309f-bac1-4213-bcf8-185bd70b0612_4032x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!n4bd!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a27309f-bac1-4213-bcf8-185bd70b0612_4032x3024.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!n4bd!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a27309f-bac1-4213-bcf8-185bd70b0612_4032x3024.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!n4bd!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a27309f-bac1-4213-bcf8-185bd70b0612_4032x3024.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!n4bd!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a27309f-bac1-4213-bcf8-185bd70b0612_4032x3024.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!n4bd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a27309f-bac1-4213-bcf8-185bd70b0612_4032x3024.jpeg" width="3024" height="4032" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8a27309f-bac1-4213-bcf8-185bd70b0612_4032x3024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:4032,&quot;width&quot;:3024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:0,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!n4bd!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a27309f-bac1-4213-bcf8-185bd70b0612_4032x3024.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!n4bd!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a27309f-bac1-4213-bcf8-185bd70b0612_4032x3024.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!n4bd!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a27309f-bac1-4213-bcf8-185bd70b0612_4032x3024.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!n4bd!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a27309f-bac1-4213-bcf8-185bd70b0612_4032x3024.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!RBDT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7bc2f65-88bf-4e69-9dae-f3a065b2f683_4032x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!RBDT!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7bc2f65-88bf-4e69-9dae-f3a065b2f683_4032x3024.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!RBDT!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7bc2f65-88bf-4e69-9dae-f3a065b2f683_4032x3024.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!RBDT!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7bc2f65-88bf-4e69-9dae-f3a065b2f683_4032x3024.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!RBDT!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7bc2f65-88bf-4e69-9dae-f3a065b2f683_4032x3024.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!RBDT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7bc2f65-88bf-4e69-9dae-f3a065b2f683_4032x3024.jpeg" width="3024" height="4032" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a7bc2f65-88bf-4e69-9dae-f3a065b2f683_4032x3024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:4032,&quot;width&quot;:3024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:0,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!RBDT!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7bc2f65-88bf-4e69-9dae-f3a065b2f683_4032x3024.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!RBDT!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7bc2f65-88bf-4e69-9dae-f3a065b2f683_4032x3024.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!RBDT!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7bc2f65-88bf-4e69-9dae-f3a065b2f683_4032x3024.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!RBDT!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7bc2f65-88bf-4e69-9dae-f3a065b2f683_4032x3024.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!CFDs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F088d105d-a951-47a1-949a-91f6b2dff1a8_4032x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!CFDs!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F088d105d-a951-47a1-949a-91f6b2dff1a8_4032x3024.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!CFDs!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F088d105d-a951-47a1-949a-91f6b2dff1a8_4032x3024.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!CFDs!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F088d105d-a951-47a1-949a-91f6b2dff1a8_4032x3024.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!CFDs!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F088d105d-a951-47a1-949a-91f6b2dff1a8_4032x3024.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!CFDs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F088d105d-a951-47a1-949a-91f6b2dff1a8_4032x3024.jpeg" width="3024" height="4032" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/088d105d-a951-47a1-949a-91f6b2dff1a8_4032x3024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:4032,&quot;width&quot;:3024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:0,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!CFDs!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F088d105d-a951-47a1-949a-91f6b2dff1a8_4032x3024.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!CFDs!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F088d105d-a951-47a1-949a-91f6b2dff1a8_4032x3024.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!CFDs!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F088d105d-a951-47a1-949a-91f6b2dff1a8_4032x3024.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!CFDs!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F088d105d-a951-47a1-949a-91f6b2dff1a8_4032x3024.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 aria-hidden="true" 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><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>]]></content:encoded></item><item><title><![CDATA[Why would anybody build a retro, internet-free console in 2026 ??]]></title><description><![CDATA[Is it because we just love Gameboy / Nintendo DS ?]]></description><link>https://ianonuska.substack.com/p/why-would-anybody-build-a-retro-internet</link><guid isPermaLink="false">https://ianonuska.substack.com/p/why-would-anybody-build-a-retro-internet</guid><dc:creator><![CDATA[Ian Onuska]]></dc:creator><pubDate>Mon, 15 Jun 2026 21:26:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_hVW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78b6a715-315f-4721-ae8b-ab7c0157ea95_2922x1700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!_hVW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78b6a715-315f-4721-ae8b-ab7c0157ea95_2922x1700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!_hVW!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78b6a715-315f-4721-ae8b-ab7c0157ea95_2922x1700.png 424w, /__u/substackcdn.com/image/fetch/$s_!_hVW!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78b6a715-315f-4721-ae8b-ab7c0157ea95_2922x1700.png 848w, /__u/substackcdn.com/image/fetch/$s_!_hVW!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78b6a715-315f-4721-ae8b-ab7c0157ea95_2922x1700.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_hVW!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78b6a715-315f-4721-ae8b-ab7c0157ea95_2922x1700.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!_hVW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78b6a715-315f-4721-ae8b-ab7c0157ea95_2922x1700.png" width="1456" height="847" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/78b6a715-315f-4721-ae8b-ab7c0157ea95_2922x1700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:847,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:391831,&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://ianonuska.substack.com/i/202193511?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78b6a715-315f-4721-ae8b-ab7c0157ea95_2922x1700.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!_hVW!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78b6a715-315f-4721-ae8b-ab7c0157ea95_2922x1700.png 424w, /__u/substackcdn.com/image/fetch/$s_!_hVW!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78b6a715-315f-4721-ae8b-ab7c0157ea95_2922x1700.png 848w, /__u/substackcdn.com/image/fetch/$s_!_hVW!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78b6a715-315f-4721-ae8b-ab7c0157ea95_2922x1700.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_hVW!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78b6a715-315f-4721-ae8b-ab7c0157ea95_2922x1700.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Every instinct in modern hardware says to connect everything. Put it online, push updates, track engagement, light up a screen and never let it go dark. We&#8217;re very specifically doing the opposite on purpose.<br></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kaidotrainer.com/reserve&quot;,&quot;text&quot;:&quot;Reserve before Kickstarter Launch!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://kaidotrainer.com/reserve"><span>Reserve before Kickstarter Launch!</span></a></p><p><br>KaidoTrainer is a clamshell handheld - the DS/Game Boy form factor - and it doesn&#8217;t touch the internet. That&#8217;s not nostalgia for nostalgia&#8217;s sake. It&#8217;s a super deliberate decision for which I have like a million reasons but I distilled down to three:</p><ol><li><p><strong>The clamshell is inherently obvious about what this is.</strong> A kid opens it and instantly knows: this is a game, this is mine, this is a thing I hold in my hands and build on.  It is unambiguous. The breadboard sits right there in the shell, maybe that is the new unusual potentially scary thing that we&#8217;re trying to make more palatable to beginners. But there&#8217;s no app to download, no account to make, no question about whether it&#8217;s a toy or a chore. The form factor is a promise that you can just open it and start playing.</p></li><li><p><strong>Internet-free is the whole point, not a limitation.</strong> The thing parents crave (and adults subtly wish they had) isn&#8217;t less &#8220;screen time&#8221; - it&#8217;s screen time that doesn&#8217;t pull you into the feed. No ads, no algorithm, no &#8220;just one more video,&#8221; no stranger in the comments, or unabashed content from random creators. A player can disappear into KaidoTrainer for hours and come out knowing how a circuit works, rather than be funnneled into some content pipeline. Offline is primary a feature of KaidoTrainer, and I believe it to be a harbinger of what the current and oncoming generations crave again.</p></li><li><p><strong>It just works by itself.</strong> You don&#8217;t need Wifi to play (although possibly to download next year&#8217;s content), there are no servers that will go down, no update that bricks it. You charge your game, you open it, you build. It&#8217;ll work the same way in ten years, in a classroom with no internet, on a road trip, in any country anywhere. We think hardware should be something you own without being reliant on a corporation to keep it active for the long term.</p></li></ol><p>The world is racing to connect every object to everything. We&#8217;re making one small, self-contained thing that teaches you something real and then gets out of the way.</p><p>That&#8217;s our bet for the future.</p><p>p. s. <br>If you&#8217;re ready to commit to this mission with us, you can reserve a KaidoTrainer for $1 ahead of our Kickstarter - fully refundable it just holds your spot at the front of the line. Either way, thanks for following along.</p><p>reserve &#8594; <a href="https://kaidotrainer.com/reserve">kaidotrainer.com</a></p>]]></content:encoded></item><item><title><![CDATA[KaidoTrainer Reservations Are Open.]]></title><description><![CDATA[Reserve your KaidoTrainer unit before launch.]]></description><link>https://ianonuska.substack.com/p/kaidotrainer-reservations-are-open</link><guid isPermaLink="false">https://ianonuska.substack.com/p/kaidotrainer-reservations-are-open</guid><dc:creator><![CDATA[Ian Onuska]]></dc:creator><pubDate>Thu, 11 Jun 2026 17:33:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tbXb!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3254dae-4ad1-4363-be8f-cb1719196938_1170x1054.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A few of you have asked how to make sure you get a KaidoTrainer when we launch on Kickstarter. <strong>There&#8217;s now a way: reserve your unit for $1.</strong></p><p>It&#8217;s fully refundable anytime, no obligation, and it comes off your pledge at launch. All it really does is put you at the front of the line - founders get first crack at the early-bird price, and you&#8217;ll hear from me before anyone else when we go live.</p><p>Reserve here &#8594; <a href="http://kaidotrainer.com/reserve">kaidotrainer.com/reserve</a></p><p>(And if you&#8217;d rather just watch as we develop - that&#8217;s what these posts are for. Nothing changes.)</p><p></p>]]></content:encoded></item><item><title><![CDATA[How We Get KaidoTrainer from Good to Great]]></title><description><![CDATA[v1 demo to v2 demo (the road to full product launch)]]></description><link>https://ianonuska.substack.com/p/how-we-get-kaidotrainer-from-good</link><guid isPermaLink="false">https://ianonuska.substack.com/p/how-we-get-kaidotrainer-from-good</guid><dc:creator><![CDATA[Ian Onuska]]></dc:creator><pubDate>Wed, 10 Jun 2026 22:50:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tbXb!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3254dae-4ad1-4363-be8f-cb1719196938_1170x1054.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The first KaidoTrainer demo (the one I&#8217;ve been putting in kids&#8217; hands since spring) had one rule: never lie in the kid&#8217;s favor. If the camera wasn&#8217;t sure your circuit was right, it said no. That made it trustworthy, but stingy. Build something correct, get told &#8220;not quite,&#8221; try again. Most of the users were very forgiving but it made things harder to get a successful build verification.</p><p>The v2 demo, the one we will be demoing by the end of summer, runs on a completely different brain. Same demo game (our game dev is building out the longer fuller game story), same nine circuits (the 60 distinct circuit total will come with the full game), but now the device actually understands the circuit: which hole every leg is in, whether the wiring forms a complete path, whether your button is actually in series with your LED or just sitting near it. <strong>v1 checked your work like someone checking if you used the right pieces. v2 analyzes the details.</strong></p><p>What surprised me is that the hard part wasn&#8217;t making it smarter. It was making it more honest.</p><p>A camera looking straight down at a breadboard physically cannot see some things. LED polarity - the long leg that has to face the right way - disappears under the component body. v1&#8217;s answer was to ignore that. The new system&#8217;s answer is to tell you that <strong>polarity can&#8217;t be determined visually or electrically, but rather diagnostically</strong>. Build the circuit correctly and it passes you, then adds: <em>&#8220;Looks right from up here! If it doesn&#8217;t light, check the LED&#8217;s polarity &#8212; the longer leg goes to the positive side.&#8221;</em> It knows what it can&#8217;t know, and it says so, and then it sends you back to the real hardware to find out - which is the whole point of the product.</p><p>The new demo also has better manners. A blurry photo or a hand over the board used to look identical to a wrong circuit. Now it just says <em>let me look again</em> - no failure, no attempt counted against you. Wire an LED straight to power and it doesn&#8217;t just say incorrect, it says <em>whoa, careful &#8212; that could burn out your LED.</em> <strong>Wrong, unclear, and unsafe are three different moments for a beginner, and the machine finally treats them differently.</strong></p><p>One thing we didn&#8217;t change was the promise of an internet-free experience: Everything runs on the device itself. No wifi, no problem. The model lives on device.</p><p>If you&#8217;re available to come to an event or want to host us for v2, come build a circuit and press the button. </p><p><em>KaidoTrainer is a handheld electronics-education RPG where kids build real breadboard circuits to progress. Bootstrapped, built in public.<br></em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://ianonuska.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/ianonuska.substack.com/subscribe"><span>Subscribe now</span></a></p><p><em><br><br></em></p>]]></content:encoded></item><item><title><![CDATA[KaidoTrainer Demo Played by Hundreds of Kids]]></title><description><![CDATA[Long Island Maker Faire Completed &#9989;]]></description><link>https://ianonuska.substack.com/p/kaidotrainer-demo-played-by-hundreds</link><guid isPermaLink="false">https://ianonuska.substack.com/p/kaidotrainer-demo-played-by-hundreds</guid><dc:creator><![CDATA[Ian Onuska]]></dc:creator><pubDate>Mon, 08 Jun 2026 16:43:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!A9oG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f07d3d3-be0c-4571-bf8d-87b052a79ced_3620x2906.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We brought KaidoTrainer to Maker Faire Long Island on Saturday, and hundreds of kids and makers sat down and played it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!A9oG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f07d3d3-be0c-4571-bf8d-87b052a79ced_3620x2906.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!A9oG!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f07d3d3-be0c-4571-bf8d-87b052a79ced_3620x2906.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!A9oG!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f07d3d3-be0c-4571-bf8d-87b052a79ced_3620x2906.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!A9oG!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f07d3d3-be0c-4571-bf8d-87b052a79ced_3620x2906.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!A9oG!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f07d3d3-be0c-4571-bf8d-87b052a79ced_3620x2906.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!A9oG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f07d3d3-be0c-4571-bf8d-87b052a79ced_3620x2906.jpeg" width="3620" height="2906" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3f07d3d3-be0c-4571-bf8d-87b052a79ced_3620x2906.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:2906,&quot;width&quot;:3620,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:0,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!A9oG!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f07d3d3-be0c-4571-bf8d-87b052a79ced_3620x2906.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!A9oG!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f07d3d3-be0c-4571-bf8d-87b052a79ced_3620x2906.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!A9oG!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f07d3d3-be0c-4571-bf8d-87b052a79ced_3620x2906.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!A9oG!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f07d3d3-be0c-4571-bf8d-87b052a79ced_3620x2906.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The whole thesis of this company was put on display in front of players, kids, parents. And it showed us we&#8217;re moving in the right direction. I didn&#8217;t have to sell the product or the play. Players get started on it after I tell them just to do their best to figure it out and the game guides them through the 30 minute story + circuit building 8bit demo.</p><p></p><p>This is the kind of thing you can't learn guess about from behind a screen or a projection spreadsheet. Real people who hadn&#8217;t heard of us were into the product without any salesmanship or convincing. If I needed proof to keep up with building KaidoTrainer that would be more than enough!</p><p></p><p>We also got to talk a lot about what's coming:  the <strong>2027 crowdfunding campaign</strong>, where this is headed, what it'll take to put one of these in a kid's hands at home instead of just at a booth. Those conversations are their own kind of validation. People don't ask "when can I get one" about something they're politely impressed by. They ask it about something they want. And I had to tell tons of parents that we are still in development and not available for sale yet.</p><p></p><p>Days like today are why we keep building and keep showing how we&#8217;re building in public. The demo is my argument about what the future of learning electronics can be, and this weekend a few hundred people echoed support for our vision of the future. </p><p></p><p>p.s. Stay tuned for more information on the crowdfunding pre-launch to take advantage of your early-access spot!  </p>]]></content:encoded></item><item><title><![CDATA[Mission Statements from Game Companies]]></title><description><![CDATA[Nintendo, Xbox, Playstation, Valve, Ayn, KaidoTrainer]]></description><link>https://ianonuska.substack.com/p/mission-statements-from-game-companies</link><guid isPermaLink="false">https://ianonuska.substack.com/p/mission-statements-from-game-companies</guid><dc:creator><![CDATA[Ian Onuska]]></dc:creator><pubDate>Wed, 03 Jun 2026 16:50:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tbXb!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3254dae-4ad1-4363-be8f-cb1719196938_1170x1054.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>What a company claims it exists to do, aside from the product it builds, says a lot about how it makes decisions. I went to read what the major players in gaming hardware actually say they&#8217;re for. Here&#8217;s what I found, and where I think KaidoTrainer sits among them.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://ianonuska.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/ianonuska.substack.com/subscribe"><span>Subscribe now</span></a></p><p></p><p><strong>Nintendo: &#8220;Put smiles on the faces of everyone we touch.&#8221;</strong></p><p>Nintendo&#8217;s mission is the most quoted in the industry, and they&#8217;ve held it for over a century since they&#8217;ve been at this since 1889, when they made playing cards in Kyoto. The key word people miss is <em>surprise</em>. Their fuller statement is about &#8220;<strong>creating new surprises for people across the world to enjoy together</strong>.&#8221; When they relaunched it around the Switch 2 in late 2025, the framing was &#8220;<strong>create smiles through entertainment</strong>,&#8221; and they explicitly said it would never change. Notice what&#8217;s absent: no mention of power, specs, or winning. It&#8217;s <strong>purely about an emotional outcome</strong>, delivered through their integrated hardware-and-software: the console and the game designed as one thing. That philosophy is why a weaker machine keeps beating stronger ones. </p><p><strong>Sony / PlayStation: &#8220;Fill the world with emotion, through the power of creativity and technology.&#8221;</strong></p><p>Sony has a word for that emotion - <em>kando</em>, roughly &#8220;<strong>a feeling of satisfaction combined with excitement</strong>.&#8221; Their vision adds &#8220;<strong>become a company that inspires and fulfills curiosity.</strong>&#8221; It&#8217;s striking how close this is to Nintendo in substance as both lead with emotion, not technical capacity but the texture is different. Sony&#8217;s is cinematic, awe-oriented, the feeling of a blockbuster. Nintendo&#8217;s is a grin. Same goal and framed pretty close to each other, but slightly different style. Their new CEO who took over in April 2026 echoed the exact same language about a &#8220;boundless sense of kando,&#8221; which indicates it&#8217;s real internally, not just a tagline.</p><p><strong>Xbox / Microsoft: &#8220;Empower every person and organization on the planet to achieve more.&#8221;</strong></p><p>That&#8217;s Microsoft&#8217;s corporate mission, and Xbox inherits its DNA from it. The gaming-specific version is about <em>access</em> - &#8220;<strong>bring more players into gaming</strong>,&#8221; play anywhere, on any screen, through Game Pass and the cloud. Where Nintendo and Sony lead with a feeling, Xbox leads with reach and empowerment. It&#8217;s the most utilitarian of the three: less about the emotion of a single moment, more about removing the barriers between people and games. It&#8217;s worth restating that the era just flipped as Phil Spencer retired during Xbox&#8217;s 25th year, so this mission is still being re-interpreted by new leadership.</p><p><strong>Valve / Steam: (no official mission statement)</strong></p><p>This one surprised me. Valve &#8212; the most dominant platform in PC gaming, with something like three-quarters of the digital distribution market &#8212; has <em>no</em> published mission statement. I&#8217;m pretty sure they have some big complicated internal handbook for employees (according to the book The History of the Future). But when I went looking and found a dozen versions online, every one of them invented by fans in a non-official capacity. The absence is a statement in itself. Valve operates on an implicit philosophy from founder Gabe Newell: <strong>maximize the long-term value of the ecosystem rather than extract maximum rent, and ship only when it meets the quality bar</strong> (&#8221;Valve Time&#8221;). They&#8217;d rather demonstrate the principle than frame it.</p><p><strong>Ayn: &#8220;The best products in the world at the lowest prices possible.&#8221;</strong></p><p>Ayn is the one most people reading this may not be familiar with. But it is probably the one most relevant to KaidoTrainer. <strong>They make Android gaming handhelds, and they&#8217;re the clearest parallel to a small hardware company finding its feet</strong>. Their stated dream is &#8220;<strong>being a consumer-oriented company with some of the best products in the world at the lowest prices possible.</strong>&#8221; They started with one idea - the &#8220;$199 handheld&#8221; - and built a following by, in their words, &#8220;<strong>listening to the voices of our consumers</strong>&#8221; because they were &#8220;<strong>tired of seeing the same companies release overpriced products</strong>.&#8221; And here&#8217;s the part that matters to me: they got there by <em>crowdfunding</em>, shipping to backers first, building in public. No emotion-first poetry, no planetary empowerment. They&#8217;re just about making the thing people actually asked for, at a price that isn&#8217;t insulting, and listening to the customers.</p><p><strong>Where this leaves KaidoTrainer</strong></p><p>Laying them out we can see a spectrum. Nintendo and Sony lead with <em>emotion</em> - smiles, kando. Xbox leads with <em>access</em> - empower, reach everyone. Valve leads by <em>not saying it</em> - the principle is in the product. Ayn leads with <em>the customer</em> - listen, build what&#8217;s asked for, price it fairly.</p><p>None of them lead with what KaidoTrainer is actually about: <strong>that a game could leave you </strong><em><strong>able to do something real</strong></em>. Every one of these companies is, in the end, about entertainment - the experience while you play (which is central for us as well). The thing I keep emphasizing is that the moment you finish a KaidoTrainer quest, you&#8217;ll have built a circuit that works on a real breadboard in front of you. <strong>The smile Nintendo wants and the emotion Sony wants are byproducts; the actual output is a player who can now do a thing they couldn&#8217;t do an hour ago.</strong></p><p>So if I had to write ours in their grammar, it isn&#8217;t &#8220;smiles&#8221; or &#8220;emotion&#8221; or &#8220;empower every player.&#8221; It&#8217;s closer to: <em><strong>leave people genuinely more capable than the game found them.</strong></em><strong> </strong>The joy is real, but it&#8217;s the evidence, not the product. The product is the capability.</p><p>I don&#8217;t think that&#8217;s a better mission than Nintendo&#8217;s. Theirs has survived since 1889 for a reason. But it&#8217;s a different one. Nobody in this category is trying to make you better at something real. That&#8217;s either a mistake on my part or an opening. Everyone who is a part of KaidoTrainer is believing it is an opening for us to serve.</p>]]></content:encoded></item><item><title><![CDATA[Everything as a Resource — Book Four]]></title><description><![CDATA[Engineering self-reflections from an EE student]]></description><link>https://ianonuska.substack.com/p/everything-as-a-resource-book-four</link><guid isPermaLink="false">https://ianonuska.substack.com/p/everything-as-a-resource-book-four</guid><dc:creator><![CDATA[Ian Onuska]]></dc:creator><pubDate>Sat, 30 May 2026 14:47:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tbXb!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3254dae-4ad1-4363-be8f-cb1719196938_1170x1054.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>[4.1] Shall we surrender an objective because the setup is difficult, there are bugs, there is competition, there are barriers to entry? Why can&#8217;t the important things hit me with the same dopamine rush that everything else does? How do I trick myself to become addicted to real accomplishment, instead of illusion? So much is built to addict and engage and sustain, except the hard work. That can&#8217;t be right! That&#8217;s resistance.</p><p>Is my amygdala broken? I can gamify it all enough. I can reward progress and promise myself grand prizes for big accomplishments. Dragons, difficult to slay, guard piles of gold for a reason.</p><p>[4.2] I am grateful that my father was not an educated man. He taught me hard work. I would discover that hard work lay in doing the opposite of what I want to do naturally, that it could reveal the tricks that seemed obvious to the smart kids. I am grateful he was not a doctor or a scientist or someone who could make it easier for me, although I wished for that at times. He would distract me with fragmented conversations and largely unrelatable histories, even while I was working. He didn&#8217;t realize it, often couldn&#8217;t help himself, and I am better for it.</p><p>[4.3] Return to focus despite the turbulence. Rebound the trajectory toward the task at hand, despite distraction or draws for attention (for I can&#8217;t call valuable people and tasks distractions, though that may be their immediate function).</p><p>[4.4] Specific tasks performed at specific times, consistently, will ease your anxiety.</p><p>[4.5] I find it helpful to assure myself of the absolute. Nothing is absolute, but I find it useful to question the depth or universality of a truth or fact, especially in technical applications. I suppose it is standard. Make sense of a theory by testing its limits, examining the rule at limiting bounds within which its application is warranted and correct and acts predictably.</p><p>[4.6] It is wise to know and question whether an idea or tool is operating within its bounds. It can make you appear wise to ask whether the conditions of its application are satisfied.</p><p>[4.7] If no one can discern the answer it may be helpful to again observe and record the phenomena occurring: the stimuli, the feedback, driving or amplifying factors, and compare them to the stipulated conditions for the use of your tool.</p><p>[4.8] Paint each set of conditions a certain color. When the conditions collect in such a manner as satisfies the threshold for the red state, then I use the red tool &#8212; until conditions shift such that the stimuli require the blue tool.</p><p>[4.9] Sometimes your role is overwatch, sometimes trench.</p><p>[4.10] If you are unprepared for the intense temptations that will come, you would be better off never achieving or positioning yourself.</p><p>[4.11] Will you sell your privilege? Will you put yourself ahead of others? Who are you willing to step on to get ahead? How much does it cost for you to sell out? How much to sell out a friend? How much to sell out an enemy? How much to betray your principles to beat an opponent?</p><p>[4.12] If you bend an inch, you may find yourself with no other option than to commit fully to that line of action out of self-preservation. How deeply do the sellouts consider the repercussions of their actions?</p><p>[4.13] Make your choices ahead of time. Be prepared for hard times, surprises, red herrings. Be prepared enough to be suspicious of the white knight&#8217;s hand clawing at you, promising escape from rock bottom. More likely such gifts offer a Mephistophelian bargain rather than a good-faith deal. Dig out.</p><p>[4.14] I only have a little bit longer to go. I may be nervous but soon it will be over and forgotten and I will move on to the next problem.</p><p>[4.15] It is an advantage to care a lot, to create opponents in your mind to whom you can prove that you care more, the most. If you care more, you can beat them and yourself.</p><p>[4.16] Whoever can endure the most discomfort can maintain their activity longer and through effort hedge their personal limitations.</p><p>[4.17] Just read a few more pages. It is possible to read one page, then ten, then one book, then the next. All your hopes and desires live in that work. Just a little bit more, consistently. Almost nothing, the smallest percentage, invested consistently, each moment.</p><p>[4.18] Expertise can only come from honesty and vulnerability. Do not make the mistake of thinking your knowledge and understanding are sufficient.</p><p>[4.19] If you don&#8217;t want the discomfort of learning, you shouldn&#8217;t bother trying. If you never want to feel stupid or make errors you should just stay in bed, you don&#8217;t seem tough enough to learn today.</p><p>[4.20] Or you can try building your glass house on talent avenue in the perfect neighborhood of delusions.</p><p>[4.21] If you always scorn misunderstanding, do not attempt to understand, macho man.</p><p>[4.22] How can I guarantee that I am involved in projects that are critical to the strategic future of this enterprise?</p><p>[4.23] Be careful who you show your successes. Don&#8217;t even mention your luck to a stranger or a peer. Don&#8217;t play up how hard you&#8217;re working, unless you are comfortable with a knife in the back.</p><p>[4.24] Imagine something. Make sure it can positively affect others, regardless of how profitable it could be. Decide what components you need to build what you imagine. Block diagram the input and output. Draw a simple schematic or blueprint. Quick test of basic function with working hardware. Revise what doesn&#8217;t work. Test new functions, iterate again. Expand functions. Over-deliver final model.</p><p>[4.25] Over-deliver, don&#8217;t over-engineer.</p><p>[4.26] To remain emotionally free in gripping times. To see the greater angles and not be sucked into distracting arguments and concerns.</p><p>[4.27] Being overcome by something in the news, something far away from your daily experience is like being swindled out of your attention (your constant and equally valuable asset) by a con man. People over-emphasize the importance of matters they cannot affect so that they are not alone in their misery. Don&#8217;t be taken in by emotional or moral appeals that claim you must lose your composure like them. Lies.</p><p>[4.28] I can assess my skills in each area as a starting point. I need a starting point. I don&#8217;t have to be cruel or negative in my assessment. Recognize that if someone is too harsh, they are losing their objectivity &#8212; so don&#8217;t treat that opinion as trustworthy.</p><p>[4.29] Science is about the framing of problems, not the accumulating of information. Be highly active in your daily experimentation, reframing, considering new data and insights, but don&#8217;t busy yourself with fact finding &#8212; especially if in doing so you are allowing yourself procrastination.</p><p>[4.30] Why expect certainty, just to be disappointed by the shifting and changing? Instead seek truth. A dynamic wisdom.</p><p>[4.31] Learning and correction are not simply uncomfortable &#8212; they are surgery, and your attitude (positive and open or self-obsessed and perfectionistic and worrying) is the only painkiller available. The alternative to this surgery is delusion. This attitude can be better than a painkiller because it does not dull the experience, it just allows the pressure to shift away from you. Or maybe it shifts you away from you. Or who you think you are away from who you really are.</p><p>[4.32] If you really valued the work honestly, you would not seek this deformed creature perfection, because you would know it limits your path forward, its unnatural stifling of progression. If you valued it more than your self-conception, you could see that this discomfort in feeling stupid is stupid, and a distraction, and an enemy, probably the most dangerous enemy you will face.</p><p>[4.33] From Steven Pressfield: This resistance to your ego death will do anything to stop you. It works every day. It works overtime. It keeps you asleep when you should be working and it hyper-arouses you when you should be sleeping. It takes the form of friends, news, everything and anything exciting or comforting or pleasant. It does anything to get you to give up. It calls quitting sensible and trying foolhardy.</p><p>[4.34] I&#8217;m not convinced that you have what it takes to compete on this level. Are your skills and attitudes at such a threshold that you will survive and succeed in your efforts?</p><p>[4.35] Can you read for an hour without checking your phone? Can you study or listen and reframe the content in your own words? Can you discern what is actually important? Can you think in several ways? Can you chew over content from multiple perspectives simultaneously or consecutively? Do you have the self-awareness to understand whether what you pay attention to is important to your instructor, to your exam results, to your future, or to some personal affinity? Are your skills with calculus and physics and spaced repetition and reinterpretation good enough? Can you understand code and work through it? Do you know what things are? Do you know what everything is?</p><p>[4.36] Are you prepared to be asked to teach yourself C++ without any prior experience, but to have your entire 400-level courses predicated on that brief self-instruction? Are you prepared to roll with those punches?</p><p>[4.37] Are you going to cry because some people learned already what you need to know, and that you are at an apparent delay or disadvantage?</p><p>[4.38] But I should not view it as a disadvantage, but rather an advantage, because I am being tested again.</p><p>[4.39] To maintain a patient trust in hard work and honest effort, despite how often it feels like you are losing and failing.</p><p>[4.40] All you need to make it through your EE degree is resilience to pain. Regardless of how smart or prepared you are, the professor ego trips and the frustrations in the university and the thankless hours of work and studying make it almost unbearable. Ask for help, do what needs to be done to pass your courses. The rest is just torture. Your history and childhood prove you can get through torture and uncertain and traumatic situations. This is just the same. It is only torture, and not everyone will last, but you will endure it. The only way to lose is to quit.</p><p>[4.41] Try to find where your attitude, frame of thinking, and focal points in attention uniquely position you compared to your peers. You can always pay more attention to figuring out what is important.</p><p>[4.42] Your value to mission success is based on understanding your unique positioning and that of others.<br></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://ianonuska.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/ianonuska.substack.com/subscribe"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Why CV is simpler than sensors]]></title><description><![CDATA[Our most asked technical question for KaidoTrainer]]></description><link>https://ianonuska.substack.com/p/why-cv-is-simpler-than-sensors</link><guid isPermaLink="false">https://ianonuska.substack.com/p/why-cv-is-simpler-than-sensors</guid><dc:creator><![CDATA[Ian Onuska]]></dc:creator><pubDate>Thu, 28 May 2026 20:34:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1f48!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2e4e20-481a-4e7b-afd0-bd179bab5295_2370x1392.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!1f48!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2e4e20-481a-4e7b-afd0-bd179bab5295_2370x1392.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!1f48!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2e4e20-481a-4e7b-afd0-bd179bab5295_2370x1392.png 424w, /__u/substackcdn.com/image/fetch/$s_!1f48!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2e4e20-481a-4e7b-afd0-bd179bab5295_2370x1392.png 848w, /__u/substackcdn.com/image/fetch/$s_!1f48!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2e4e20-481a-4e7b-afd0-bd179bab5295_2370x1392.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1f48!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2e4e20-481a-4e7b-afd0-bd179bab5295_2370x1392.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!1f48!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2e4e20-481a-4e7b-afd0-bd179bab5295_2370x1392.png" width="1456" height="855" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5e2e4e20-481a-4e7b-afd0-bd179bab5295_2370x1392.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:855,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1796109,&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://ianonuska.substack.com/i/198883702?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2e4e20-481a-4e7b-afd0-bd179bab5295_2370x1392.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!1f48!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2e4e20-481a-4e7b-afd0-bd179bab5295_2370x1392.png 424w, /__u/substackcdn.com/image/fetch/$s_!1f48!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2e4e20-481a-4e7b-afd0-bd179bab5295_2370x1392.png 848w, /__u/substackcdn.com/image/fetch/$s_!1f48!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2e4e20-481a-4e7b-afd0-bd179bab5295_2370x1392.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1f48!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2e4e20-481a-4e7b-afd0-bd179bab5295_2370x1392.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Every engineer who hears about KaidoTrainer asks me the same question about how the game checks circuit functionality/ correctness.</strong></p><p>&#8220;Why don&#8217;t you just put sensors on the breadboard? You&#8217;d get direct electrical readings. There wouldn&#8217;t be a camera, you wouldn&#8217;t have to train computer vision. etc etc. Just measure the voltage at each node and you&#8217;d know exactly what the kid built.&#8221;</p><p>It&#8217;s a good question. It&#8217;s a very engineering-minded kind of answer. And for a long time when I was designing the system, I had to talk myself out of employing it more than once.</p><p><strong>Why isn&#8217;t the smart answer the right one?</strong></p><p>A breadboard is electrically deterministic. Probe every hole and you know with certainty what&#8217;s connected to what. No model recognizing a resistor from a photo. No 90% confidence scores. Just direct measurement of electrical reality.</p><p>Compare that to a camera and a deep learning model that has to detect each component, classify it, find its legs, map them to grid coordinates, and infer what connects to what. It has a software stack five layers deep with failure modes at every layer (the kind of system I spent today debugging).</p><p>So why not do it this way?</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://ianonuska.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/ianonuska.substack.com/subscribe"><span>Subscribe now</span></a></p><p><strong><br>The numbers aren&#8217;t reliable at scale</strong></p><p>A half-size breadboard&#8217;s rows tie 5 holes together, so you sense per-row, not per-hole - about 64 sensing nodes per unit. But the sensor count isn&#8217;t the hard part. Each one needs a trace routed back to a microcontroller, which means a custom PCB built into the breadboard. <strong>At that point the breadboard stops being a breadboard.</strong> It becomes a proprietary device that happens to look like one - and we&#8217;re in custom PCB manufacturing for what is currently a $4 commodity part.</p><p>Then calibration: tolerance, drift, temperature sensitivity, cross-talk. You don&#8217;t place 64 sensors and call it done. You place 64 sensors and spend two years tuning out the noise floor until it&#8217;s reliable in any conditions. And when one sensor fails (at scale, they definitely will) the whole board gets replaced. You can&#8217;t pop out a $4 part.</p><p><strong>What the camera replaces</strong></p><p>A single camera module costs less than ten sensors and sees the whole board at once. It works regardless of breadboard brand, hole count, or what components we add later. New transistor circuit? The sensor approach needs new sensing logic. The camera approach just needs training data.</p><p><strong>If the breadboard breaks, the user can manually swap a $4 commodity part and the game continues. </strong>Scaling from an 8-circuit demo to a 60-circuit catalog means training a better model, not re-architecting hardware.</p><p><strong>The camera also sees what sensors can&#8217;t</strong>: whether a component is fully seated, whether legs are bent, whether a stray wire shorted two components. Sensors only see the resulting electrical state but it doesn&#8217;t see the why. But this is how Kaido <em>sees</em> the build. Sensors give a verdict like a multimeter. The camera lets Kaido coach the player like any mentor would.</p><p><strong>What CV costs</strong></p><p>I can&#8217;t pretend the camera path is free. The model has to learn what every component looks like, in every orientation a player will actually create, under varied lighting, fast, on a Raspberry Pi. It fails often at first, less as the data grows. Today I spent six hours documenting failure modes I didn&#8217;t know about a week ago.</p><p>But every one of those is addressable by data. The sensor failures - calibration drift, cross-talk, the per-unit cost of a hardware revision - aren&#8217;t. <strong>Hardware problems compound in physical space (which is not something commonly understood by those who have not built and shipped hardware products). </strong>Software problems compound in code, which is the right medium for compounding things (because we can send out compounding solutions).</p><p><strong>The lesson</strong></p><p>In hardware design, the obvious answer often fails to hold up when you do the second-order math. Sensors on a breadboard sounds correct - right up until you measure out the costs, the supply-chain, and walk a customer through a returns scenario.</p><p>CV is harder to make work. But it&#8217;s also the only answer that survives going from 1 prototype to 100,000 units in kids&#8217; hands.</p>]]></content:encoded></item><item><title><![CDATA[Prompt-to-3DPrint: I wired Claude, OpenSCAD, and PrusaSlicer together because they’re the tools I feel comfortable with]]></title><description><![CDATA[I want my preferred tools to connect well.]]></description><link>https://ianonuska.substack.com/p/prompt-to-3dprint-i-wired-claude</link><guid isPermaLink="false">https://ianonuska.substack.com/p/prompt-to-3dprint-i-wired-claude</guid><dc:creator><![CDATA[Ian Onuska]]></dc:creator><pubDate>Tue, 26 May 2026 13:43:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Zvqp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faecd21d6-8a76-4f21-b771-2f6356d4335b_3010x1706.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Zvqp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faecd21d6-8a76-4f21-b771-2f6356d4335b_3010x1706.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Zvqp!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faecd21d6-8a76-4f21-b771-2f6356d4335b_3010x1706.png 424w, /__u/substackcdn.com/image/fetch/$s_!Zvqp!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faecd21d6-8a76-4f21-b771-2f6356d4335b_3010x1706.png 848w, /__u/substackcdn.com/image/fetch/$s_!Zvqp!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faecd21d6-8a76-4f21-b771-2f6356d4335b_3010x1706.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Zvqp!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faecd21d6-8a76-4f21-b771-2f6356d4335b_3010x1706.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Zvqp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faecd21d6-8a76-4f21-b771-2f6356d4335b_3010x1706.png" width="1456" height="825" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aecd21d6-8a76-4f21-b771-2f6356d4335b_3010x1706.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:825,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3304161,&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://ianonuska.substack.com/i/199283671?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faecd21d6-8a76-4f21-b771-2f6356d4335b_3010x1706.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Zvqp!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faecd21d6-8a76-4f21-b771-2f6356d4335b_3010x1706.png 424w, /__u/substackcdn.com/image/fetch/$s_!Zvqp!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faecd21d6-8a76-4f21-b771-2f6356d4335b_3010x1706.png 848w, /__u/substackcdn.com/image/fetch/$s_!Zvqp!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faecd21d6-8a76-4f21-b771-2f6356d4335b_3010x1706.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Zvqp!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faecd21d6-8a76-4f21-b771-2f6356d4335b_3010x1706.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I prototype designs a lot, almost everyday, it&#8217;s probably the thing that makes me feel most like myself in my whole life.<br><br>I run a small hardware company (ONUSKA &amp; BROWN Technologies Ltd.), and most weeks I need a <em>something</em> - a bracket, a knob, an enclosure, a mount for a Raspberry Pi. For a while my workflow for those things was the same track everytime: open Claude, describe the part, it gives me OpenSCAD files, I fix it through a few more prompts, export the STL, drag it into PrusaSlicer, slice it, print it.</p><p>That loop has worked for me. I used exactly that loop to design the enclosure for KaidoTrainer: the handheld game system I&#8217;m building for players build real circuits on a breadboard while playing a pixel-art RPG. The whole clamshell, the screen window, the port cutouts, the snap-fit hinge - I prompted my way to that with Claude and OpenSCAD and sliced it in PrusaSlicer, by hand, one copy-paste at a time. </p><p><strong>So then I decided to build a connector to simplify it. It&#8217;s called prusa-claude (https://github.com/ianonuska/prusa-claude), and it just glues those three tools into one window.</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://ianonuska.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/ianonuska.substack.com/subscribe"><span>Subscribe now</span></a></p><p><strong><br>What it does</strong></p><p>It&#8217;s a small local web app - a Python/FastAPI backend and a single page with a Three.js viewer. You type what you want (&#8221;a phone stand for an iPhone 15 Pro, 30 degrees&#8221; is the example). <br><br>Under the hood:</p><p>- <strong>Claude</strong> (Opus 4.7) writes parametric OpenSCAD. I use structured output, so each turn comes back as code <em>plus</em> a short summary, a couple of clarifying questions with clickable options, and refinement suggestions, so it nudges you toward a better part instead of one-shotting something wrong. The clarifying by multiple choice was big for me.</p><p>- The backend runs <strong>headless OpenSCAD</strong> (openscad -o part.stl) to compile that code into an STL, and the viewer renders it so you can spin it around.</p><p>- Then it runs <strong>PrusaSlicer&#8217;s CLI</strong> headlessly, parses the G-code header, and shows you the <em>real</em> numbers (print time, filament grams, cost) for your printer, plus PrusaSlicer&#8217;s own &#8220;you&#8217;ll need supports here&#8221; warnings. Those numbers go back into Claude&#8217;s context too, so &#8220;make this print in under an hour&#8221; actually does something.</p><p>- A <strong>trimesh</strong> pass checks the mesh is manifold and fits the bed before you waste a slice on it.</p><p>- Because OpenSCAD code is just code with variables at the top, the app reads the Customizer annotations and gives you <strong>sliders</strong> - drag a dimension and it re-renders via openscad -p, no AI call, no cost.</p><p>- When you&#8217;re happy, one button opens it in PrusaSlicer with your settings, exactly where my old manual workflow ended.</p><p>There&#8217;s more to it (a saved-designs library, a reference-dimensions table so it uses the real size of an M3 screw or a Pi instead of guessing, an opt-in BOSL2 mode for real threads and gears), but the basic flow is just: <br><br>describe &#8594; see &#8594; tune &#8594; slice &#8594; print, without leaving the page.</p><p><strong>Why I open-sourced it, and the license I picked</strong></p><p>I put it on GitHub, public, for anyone to clone and run. But I used a specific kind of license (&#8220;open source&#8221; gets used loosely).</p><p>It&#8217;s under the <strong>PolyForm Noncommercial License 1.0.0</strong>, which is <strong>source-available</strong> rather than open-source-in-the-OSI-sense. The distinction matters: anyone can read it, run it, fork it, modify it, and share it <em>for personal and noncommercial purposes</em> completely free. Hobby projects, research, classrooms, nonprofits: all explicitly fine. <br>What you can&#8217;t do without a separate license from me is <em>commercialize</em> it (sell the tool, or build a paid product on top of it).</p><p>I like PolyForm for this because it&#8217;s a real, plain-English license maintained by people who think about this stuff, not a homemade clause I&#8217;d get wrong. It lets me do the thing I want which was just put the work out there so people can use it and tinker with it, while keeping the commercial upside, because I might run this at a Maker Faire booth or build on top of it. I wanted to jus share the work and keep the door open like a good business person.</p><p><strong>&#8220;But there are other tools for this&#8221;</strong></p><p>There are. Text-to-CAD is a pretty hot space, there are well-funded products generating parametric CAD, AI print-failure detectors, generative features inside the big CAD suites. Some of them are big and impressive.</p><p>I don&#8217;t really care, and here&#8217;s the honest reason: <strong>I like my tools.</strong> I like Claude. I like OpenSCAD because the output is something I can read and connect to agents. I like PrusaSlicer because it&#8217;s what&#8217;s already driving my printer. I didn&#8217;t want a new monolith that does everything its way. <strong>I wanted </strong><em><strong>my</strong></em><strong> three things to talk to each other so I could prompt out prototype files without thinking about it.</strong></p><p>And I think that&#8217;s a more common feeling than the &#8220;best tool wins&#8221; framing admits. People are attached to their stacks: their editor, their slicer, their model, their terminal. <strong>Comfort is a real input.</strong> You get fast and creative inside tools you&#8217;re comfortable in, and the friction that actually kills momentum usually isn&#8217;t any single tool being weak, it&#8217;s the <em>seams between them</em>: the export, the copy-paste, the context switch. If you are familiar with any of my work on <em>the prototype notebook</em> then you know that I am <strong>heavily against context switching</strong>. </p><p>So the thing I&#8217;m most interested in isn&#8217;t building the objectively optimal CAD-AI platform. It&#8217;s employing my own taste, working in the tools I enjoy, and removing the seams between the ones I already trust. I suspect a lot of people would build a slightly different version of this for <em>their</em> favorites and I think that&#8217;s great. The future I want isn&#8217;t one winner. It&#8217;s everyone&#8217;s favorite tools working for them in their personal engineering ecosystem. </p><p>If your favorites happen to be Claude, OpenSCAD, and a Prusa, check it out: <strong>github.com/ianonuska/prusa-claude</strong>.</p>]]></content:encoded></item><item><title><![CDATA[Everything as a Resource — Book Three]]></title><description><![CDATA[Engineering reflections from an EE student.]]></description><link>https://ianonuska.substack.com/p/everything-as-a-resource-book-three</link><guid isPermaLink="false">https://ianonuska.substack.com/p/everything-as-a-resource-book-three</guid><dc:creator><![CDATA[Ian Onuska]]></dc:creator><pubDate>Mon, 25 May 2026 22:07:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tbXb!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3254dae-4ad1-4363-be8f-cb1719196938_1170x1054.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>[3.1] What can blind me? Or what is blinding me already which I am ignorant of? Desire can be blinding. Intelligence can be blinding. Naivety. A compulsion for control or inclination toward being clever, looking good, feeling smart, hearing my own ideas, presenting my actions as noble.</p><p>[3.2] Such a piece of art is every single automobile ever manufactured. As reward, when we are done with them the scrap yard turns them into cubes. I don&#8217;t even know if the cubes are ever melted down and recycled. I should probably look it up.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://ianonuska.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">This Substack is reader-supported. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>[3.3] At the start of every project: set your limitations. There are boundaries to hold yourself within. If you can do that you will avoid every trouble and struggle and thing that makes you lose respect for yourself. People give themselves far too much freedom using success and the respect of others as their guidelines.</p><p>[3.4] &#8220;Who am I without the respect of others?&#8221; Really unchanged inside yourself.</p><p>&#8220;Who am I without the respect of myself?&#8221; Potentially a monster, at least by your own standards.</p><p>[3.5] Who do you owe? The cynical watch their own backs. The artist owes only their art. The apprentice may defend the mentor or put their approval above the task at hand. You owe everyone who can be affected by your actions.</p><p>[3.6] You fix problems. Easy or hard, you figure things out. Remind yourself that there are always options. You can always flip the Rubik&#8217;s cube and take another angle.</p><p>[3.7] Who convinced you that those you admire don&#8217;t make the same mistakes you do? All your flaws have been even more pronounced in someone who has done exactly what you dream of doing.</p><p>Somehow you expect that your particular mixture of flaws is more limiting, more special, harder to live and succeed in spite of? You beg the world for excuses, and it grants them. Maybe that would mean you aren&#8217;t accountable for who you become. Maybe then you wouldn&#8217;t have to do the hard work it will take to become your new self.</p><p>[3.8] If only my present pains were more obvious, if only I ruminate on them more obsessively. If only I were more traumatized and beaten. Maybe if I make myself insane, I can avoid the pains of living forward, growing, and facing that new future I fight off kicking and screaming.</p><p>[3.9] If you have one tragedy after another, who could possibly expect you to fulfill your goals and dreams? &#8220;Who could be so cruel as to expect me to be anything more than a shell?&#8221;</p><p>[3.10] And of course you have an answer for everything: &#8220;How do you expect me to sit and read when my thoughts of anguish and smallness terrorize me?&#8221; You want and allow it to snowball.</p><p>[3.11] &#8220;How could you demand of me to sit through this lecture when my mind only contemplates my heart&#8217;s traumas? I can&#8217;t focus on a project or work or homework. I can&#8217;t trust myself to be capable of anything when the time necessitates it. There&#8217;s far too much pressure to cook or clean or take care of myself.&#8221;</p><p>[3.12] &#8220;You are right. I am the only one who can so cruelly hold you accountable. You want a caretaker instead I must be your devil. Because I know you are capable of more, the more you can&#8217;t bear. Your loved ones cannot ask more sacrifices from you. The doctors and therapists can&#8217;t expect greatness from you, they can only mend your broken parts and see you as something to be mended. But you are not something to be mended, not by someone else. Only I can become this cruel mirror that shows who you truly are. Tells you the truth you deserve to hear.</p><p>You are capable. When you need to focus, I know you can. Hold off the justifiable excuses. When you need to give more effort, you will. You can have your excuses back in time, just postpone them. When you need better methods, you will find them. Blame it on me for treating you so cruelly. No one else can give you a chance, especially if your excuses are justified by painful realities and traumas, they expect you to lose.&#8221;</p><p>[3.13] If today your limit is reached, rest and recharge. Review the meaning of things, of why you do this, why you try at all. But remind yourself hopefully and positively. You are a friend, after all.</p><p>[3.14] &#8220;Why do I need to listen to them when I am right?&#8221; I suppose the answer must be that I am not right, or not right enough, or can in some way earn some upper hand by accepting another&#8217;s impertinence without objection or self-defense.</p><p>[3.15] They corrected me when I felt I needed no correction. I thanked them and did my best to listen despite my greater expertise and higher rank and spiking emotions. I tried to listen despite how small I was made to feel. I didn&#8217;t punch them in the mouth or tell them to shove off. I didn&#8217;t use sarcasm for retribution. I didn&#8217;t orchestrate something to make them look bad. Nor did I allow this brief thirty-second encounter to ruin my day. I didn&#8217;t cry or treat myself too harshly, I didn&#8217;t decide they were right or that how I felt must mean I am not cut out for my position.</p><p>[3.16] Each day you must take a new measurement of your emotional settling time. Without reflection your head will be left behind while your patience flatlines and your passions, natural propensities toward anger or self-damning or denial, skyrocket perhaps irrevocably. If you prevent yourself from doing something irreversible, perhaps you will survive long enough to calm down. After a few thousand times, maybe you can recognize that your feelings are temporary, and that soon enough &#8212; sooner if you can help it &#8212; you will be back to your usual state.</p><p>[3.17] How much am I supposed to do in a given sitting? There is always more, endlessly more. I guess I see a certain wisdom in the eight-hour workday, because I fill my day to excess with work &#8212; or lie awake paralyzed considering what to do or what not to do.</p><p>[3.18] The obvious answer then is self-imposed habitual structure. Jobs will go back and forth externally imposing that structure, but that &#8220;on call&#8221; mentality may only serve to make the days more frenetic and the quality more questionable. Lull yourself into a sense of routine. Start and stop your work at the same time each day. Treat yourself like a hired employee &#8212; a coal miner who you send into the dirt at 8AM each morning &#8212; and congratulate him on a workday well completed, his services not required until the next day. Let yourself feel that you have earned your keep, your meal, your free time for that day, so that infinite freedom does not become an infinite blackhole of unfulfillment.</p><p>[3.19] When you are caught by the unexpected, that is your truest opportunity to demonstrate who you really are, what you really bring to the table. All else has risk of being contrived or propped up artificially.</p><p>[3.20] A solid routine saves you from giving up.</p><p>[3.21] Everything is thresholds. I work hard, I take a break, when do I return? When do I know whether I am being too lazy or too demanding? Err on the side of demanding to your emotional detriment or err on the side of lazy to the risk of insufficiency. You&#8217;d do well to realize that everyone is playing the same game, balancing the tendencies.</p><p>[3.22] Hysteresis. I do enough, I need no correction. I fall to a threshold and correct myself. I do too much and ease off the gas. To smooth out the highs and lows. To help produce on and off where there naturally is only too little or too much.</p><p>[3.23] To &#8220;know&#8221; things you must consistently give yourself and your attention to the small details involved. Histories, actions, reactions, side-effects, desirable/undesirable outcomes, contributions from this person or that person. Only by becoming immersed in it all consistently, daily, can you really learn and know.</p><p>[3.24] Do you want your knowledge to be operational or trivial?</p><p>[3.25] Am I a wannabe? I am just starting out. How could it be that I am a poser already? I want to be something, but already I am it in practice because I show up. I want to be the one in the chair &#8212; so I put myself in the chair on a regular basis. I will never be what I aspire to by avoiding the activity.</p><p>[3.26] Activity alleviates anxiety.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://ianonuska.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Million-Dollar Game that Nobody Thought Would Work ]]></title><description><![CDATA[Why I've been reading about a dead game franchise]]></description><link>https://ianonuska.substack.com/p/the-million-dollar-game-that-nobody</link><guid isPermaLink="false">https://ianonuska.substack.com/p/the-million-dollar-game-that-nobody</guid><dc:creator><![CDATA[Ian Onuska]]></dc:creator><pubDate>Fri, 15 May 2026 20:42:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tbXb!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3254dae-4ad1-4363-be8f-cb1719196938_1170x1054.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the fall of 2004, two small companies were both circling failure.</p><p><strong>Harmonix</strong> was a small Boston studio founded by two MIT grads, Alex Rigopulos and Eran Egozy, who wanted to bring the joy of making music to everyone, especially those with no musical talent. They&#8217;d shipped two critically beloved rhythm games. Both had flopped comercially. To keep the lights on, they built a hoverboard game called AntiGrav - their lowest-reviewed title ever - which mathematically funded the studio&#8217;s survival by selling four times better than their best music title. <a href="https://www.macworld.com/article/2644146/macos-26-features-latest-update-release-date-beta.html">Macworld</a></p><p><strong>RedOctane</strong> was a peripheral company in Sunnyvale founded by two brothers, Kai and Charles Huang, who got their start running the world&#8217;s first online video game rental service. The dot-com bubble burst killed it. They pivoted to manufacturing plastic dance pads for Dance Dance Revolution machines. They were trying to figure out what to do next to stay afloat.</p><p>What came next is one of the most unlikely events in the history of consumer hardware.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://ianonuska.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/ianonuska.substack.com/subscribe"><span>Subscribe now</span></a></p><div><hr></div><h3>I.</h3><p>The Huang brothers had been <strong>importing Japanese guitar-controller games</strong> into the US for years and noticed something strange: Americans loved them, but Konami refused to bring official versions over. So RedOctane decided to make their own. They needed a software studio. They approached Harmonix.</p><p>Most of the developers on the Harmonix team thought the idea of a guitar controller was stupid at first. &#8220;My initial thoughts around the controller were that it was goofy and it wouldn&#8217;t work,&#8221; said Harmonix artist Jason Kendall. <a href="https://support.apple.com/en-us/108382">Apple Support</a></p><p>They built it anyway. <strong>The first Guitar Hero shipped in November 2005 on a budget of one million dollars</strong> (which to me sounds like loads of money but for a game studio of this size and for this project it was very lean). <strong>In its first 26 months, it generated over a billion dollars in sales.</strong> <a href="https://support.apple.com/en-us/100100">Apple Support</a></p><p>Guitar Hero had a limitation that trivialized its reach: <strong>it of course never actually taught anyone to play guitar.</strong></p><p>The five fret buttons don&#8217;t map to real notes. The strum bar isn&#8217;t strings. The skill the game trains - pattern recognition, timing, hand-eye coordination - is real, but it&#8217;s not transferable to a real instrument. As one writer put it: <strong>Guitar Hero never taught anyone to play the guitar&#8230; but it sure felt like it.</strong></p><p>That last part is very important to me and my work.</p><div><hr></div><h3>II.</h3><p>I&#8217;m building a handheld game system called KaidoTrainer that teaches kids real electronics by combining physical circuit-building on a breadboard with an RPG-style game. The pitch I&#8217;ve been giving for months and the pitch you&#8217;ll probably hear again is &#8220;Guitar Hero for electronics.&#8221;</p><p>I found a book on the game: <strong>The Oral History of Guitar Hero, Rock Band and the Music Game Boom</strong>. I began to learn what made this physical-digital bridge industry work, and what made it eventually fail.</p><p>What made it work: <strong>the physical instrument in your hands at the moment lets you sync with what you&#8217;re hearing and seeing on screen in a very somatically rewarding way.</strong> The hardware guitar-controller was essential to this, a regular controller didn&#8217;t feel rock &#8216;n roll. The physical peripheral really made product. When you press the green fret and strum at the exact moment a green note hits the bar, your body and the game are momentarily, perfectly aligned. That alignment is the hardcore rock feeling. Players didn&#8217;t buy Guitar Hero to learn music theory. They bought it to feel like they were inside the song.</p><p>What didn&#8217;t work, and is worth being careful about: the burnout was rapid. By 2010, the consumer base evaporated, and Activision shut down RedOctane entirely. The corporate split between Harmonix and RedOctane after their respective acquisitions destroyed the partnership that made the magic in the first place. <strong>The market collapsed not because the audience stopped wanting to feel like rock stars, but because the publishers shipped too much, too fast, and stopped respecting the player.</strong></p><p>There&#8217;s a lesson there for any hardware-software product. The thing we&#8217;re trying to create is not a device, and it&#8217;s not a software. It&#8217;s a moment that only happens when the user sits down and two things mix into one experience in their hands. It&#8217;s the intermingling of the action they&#8217;re performing and its relevance to gameplay. </p><div><hr></div><h3>III.</h3><p>So what&#8217;s the point of studying Guitar Hero?</p><p>I think the franchise was a glimpse of how a generation of people may actually learn -  and I think we almost missed it.</p><p>Guitar Hero was a hardware-software learning experience disguised as a party game. It taught millions of teenagers something about music - about song structure, about the shape of a chord progression, about why a guitar solo builds the way it does - under the cover of having fun with friends. The fact that it didn&#8217;t teach guitar specifically isn&#8217;t a failure. It&#8217;s just that the people who built it weren&#8217;t trying to teach guitar. They were trying to make players feel something.</p><p><strong>What if you used the same architecture, and you actually were trying to teach something?</strong></p><p><strong>That&#8217;s the bet KaidoTrainer makes.</strong> The kid builds a real circuit on a real breadboard with real components. A camera watches. Computer vision validates the build. The game advances. The same loop (physical action, instant somatic feedback, and progress) that made Guitar Hero feel magical, applied to learning the thing something endlessly useful and puzzling.</p><p>The components on the breadboard are real discrete components used in classrooms, prototyping labs, and on jobsites. The skill transfers. The player who finishes the game can, in fact, go to a parts store, buy a resistor and an LED, and build a thing that lights up.</p><p>That&#8217;s the part Guitar Hero didn&#8217;t do, but I think the next generation of hardware-software learning products can do this. I see this as the future of learning.</p><div><hr></div><h3>IV.</h3><p>A few specific things I&#8217;m taking from the oral history into my own build:</p><p><strong>The physical object in the kid&#8217;s hands has to feel like part of the game, not an accessory to it.</strong> Guitar Hero failed when Activision started shipping new SKUs every year with marginal improvements. Players were being pumped for money instead of being served with rewarding new experiences.</p><p>The software has to respect the player&#8217;s actual skill level. Guitar Hero&#8217;s hardest songs were genuinely hard, and getting through them on Expert was a real achievement. Players could feel themselves getting better. <strong>That&#8217;s the loop I want for electronics - not just &#8220;got the right answer&#8221; but &#8220;I&#8217;m actually getting better at this skill.&#8221;</strong></p><p>And the partnership between hardware and software is non-negotiable. I&#8217;m building both at KaidoTrainer. There&#8217;s no separate &#8220;hardware company&#8221; and &#8220;software company&#8221; to be split apart by an acquirer in our future. Whatever else changes, that integration stays whole.</p><p>Beginners deserve learning experiences that feel like Guitar Hero felt - like they&#8217;re inside the thing, like every action resonates meaningfully somewhere. But aimed at something that lasts. Something they can carry into the rest of their lives.</p><p>That&#8217;s what we&#8217;re building toward.</p><div><hr></div><p><strong>Further reading, if you want to go deeper:</strong></p><p>&#8212; Blake Hester&#8217;s <a href="https://www.vice.com/en/article/the-oral-history-of-guitar-hero/">original oral history of Guitar Hero</a> on Vice/Waypoint</p><p>&#8212; The book-length expansion, <a href="https://vol.co/collections/guitar-hero">The Oral History of Guitar Hero, Rock Band and the Music Game Boom</a></p><p>&#8212; <a href="https://www.geekextreme.com/history-of-guitar-hero/">The Accidental History of Guitar Hero</a> &#8212; a sharp, more recent essay on the corporate dynamics that ended the genre. </p><p>&#8212; GameSpot&#8217;s <a href="https://www.gamespot.com/articles/guitar-hero-oral-history-reveals-devs-thought-the-guitar-controller-was-stupid/1100-6486824/">companion piece</a> on how even Harmonix&#8217;s own developers initially thought the guitar controller was a bad idea.</p>]]></content:encoded></item><item><title><![CDATA[Join our new KaidoTrainer subscriber chat]]></title><description><![CDATA[Chat with me and other subscribers.]]></description><link>https://ianonuska.substack.com/p/join-our-new-kaidotrainer-subscriber</link><guid isPermaLink="false">https://ianonuska.substack.com/p/join-our-new-kaidotrainer-subscriber</guid><dc:creator><![CDATA[Ian Onuska]]></dc:creator><pubDate>Wed, 13 May 2026 13:30:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!KYZT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey everyone,</p><p>I just turned on Subscriber Chat on Substack. It&#8217;s a conversation space where I can post smaller updates that don&#8217;t deserve a full post, ask questions to interested potential users, and you can let me know how my ideas bounce off you.<br></p><p>A few things I&#8217;ll probably post there:</p><ul><li><p>Build progress that&#8217;s too small for a full update</p></li><li><p>Questions when I&#8217;m stuck on a design decision and want input</p></li><li><p>Behind-the-scenes stuff from KaidoTrainer development</p></li><li><p>Random things I&#8217;m thinking about</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://open.substack.com/pub/ianonuska/chat&quot;,&quot;text&quot;:&quot;Join chat&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/open.substack.com/pub/ianonuska/chat"><span>Join chat</span></a></p><div><hr></div><h2><strong>To join:</strong></h2><ol><li><p><strong>Open the Substack app by tapping <a href="/__u/substack.com/app/app-store-redirect">this link</a> or the button below.</strong> New chat threads won&#8217;t be sent sent via email, so turn on push notifications so you don&#8217;t miss conversation as it happens. You can also access chat <a href="/__u/open.substack.com/pub/ianonuska/chat">on the web</a>.</p></li></ol><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://substack.com/app/app-store-redirect&quot;,&quot;text&quot;:&quot;Get app&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="/__u/substack.com/app/app-store-redirect"><span>Get app</span></a></p><ol start="2"><li><p><strong>In the app, tap the Chat icon at the bottom</strong> (looks like two speech bubbles). You'll see my chat in the list.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!KYZT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!KYZT!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!KYZT!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!KYZT!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!KYZT!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!KYZT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg" width="1456" height="728" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:728,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:241528,&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://kylewarrentest.substack.com/i/114198534?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!KYZT!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!KYZT!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!KYZT!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!KYZT!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.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 aria-hidden="true" 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><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><ol start="3"><li><p><strong>Let me know what you&#8217;re thinking or listen up for other subscribers&#8217; thoughts and questions.</strong></p></li></ol>]]></content:encoded></item><item><title><![CDATA[CV Pipeline Breakthroughs]]></title><description><![CDATA[Diagnosing if a circuit is built correctly.]]></description><link>https://ianonuska.substack.com/p/cv-pipeline-breakthroughs</link><guid isPermaLink="false">https://ianonuska.substack.com/p/cv-pipeline-breakthroughs</guid><dc:creator><![CDATA[Ian Onuska]]></dc:creator><pubDate>Wed, 13 May 2026 00:08:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_dIX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73bd229f-3c36-40b5-9ca4-31b78f978613_3024x1964.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!_dIX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73bd229f-3c36-40b5-9ca4-31b78f978613_3024x1964.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!_dIX!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73bd229f-3c36-40b5-9ca4-31b78f978613_3024x1964.png 424w, /__u/substackcdn.com/image/fetch/$s_!_dIX!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73bd229f-3c36-40b5-9ca4-31b78f978613_3024x1964.png 848w, /__u/substackcdn.com/image/fetch/$s_!_dIX!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73bd229f-3c36-40b5-9ca4-31b78f978613_3024x1964.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_dIX!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_webp, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73bd229f-3c36-40b5-9ca4-31b78f978613_3024x1964.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!_dIX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73bd229f-3c36-40b5-9ca4-31b78f978613_3024x1964.png" width="1456" height="946" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/73bd229f-3c36-40b5-9ca4-31b78f978613_3024x1964.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:946,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2324434,&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://ianonuska.substack.com/i/197425015?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73bd229f-3c36-40b5-9ca4-31b78f978613_3024x1964.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!_dIX!, /__u/ianonuska.substack.com/w_424, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73bd229f-3c36-40b5-9ca4-31b78f978613_3024x1964.png 424w, /__u/substackcdn.com/image/fetch/$s_!_dIX!, /__u/ianonuska.substack.com/w_848, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73bd229f-3c36-40b5-9ca4-31b78f978613_3024x1964.png 848w, /__u/substackcdn.com/image/fetch/$s_!_dIX!, /__u/ianonuska.substack.com/w_1272, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73bd229f-3c36-40b5-9ca4-31b78f978613_3024x1964.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_dIX!, /__u/ianonuska.substack.com/w_1456, /__u/ianonuska.substack.com/c_limit, /__u/ianonuska.substack.com/f_auto, /__u/ianonuska.substack.com/q_auto:good, /__u/ianonuska.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73bd229f-3c36-40b5-9ca4-31b78f978613_3024x1964.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is a real screenshot from this afternoon. A simple LED circuit - one resistor, one LED, two jumper wires built on a breadboard. The KaidoTrainer diagnostic tool looked at it through a camera and said: <strong>correct, 100% complete.</strong></p><p>This is actually a very hard thing to get right and debug fully.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://ianonuska.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/ianonuska.substack.com/subscribe"><span>Subscribe now</span></a></p><p>To get to this verdict, the system has to chain five separate layers together, and every one has to do its job:</p><ul><li><p><strong>L1 (Detection):</strong> a computer vision model finds the components in the image. Here it identified the resistor at 98% confidence, the LED at 97%, both wires at 96%. The bounding boxes wrap real components, not shadows or wire paths. This combined with the physical camera limitations will be what actually limits the pipeline&#8217;s ability to assess circuits and give feedback.</p></li><li><p><strong>L1.5 (Resistor Values):</strong> tries to decode resistor color bands. Failed this time (decode_failed) because I haven&#8217;t built this out and calibrated it with HSV yet. For now our demo only uses 330 ohm resistors. The final product will have full color band decoding.</p></li><li><p><strong>L3 (Grid Map):</strong> translates pixel positions into breadboard rows. Resistor: H15 to +21. LED: &#8722;15 to J15. Each component leg pinned to a specific hole on a 30&#215;10 grid. This was the most satisfying thing to get right when it all worked for the first time.</p></li><li><p><strong>L4 (Topology):</strong> builds the electrical graph. Power rail connects through the resistor at R15, into the LED, out to ground. This identifies the circuit&#8217;s continuity and arrangement.</p></li><li><p><strong>L5 (Schema Validation):</strong> checks the graph against the schema for &#8220;LED Flashlight.&#8221; Required components: one resistor, one LED. Required path: POWER &#8594; resistor &#8594; LED &#8594; GROUND. Both satisfied.</p></li></ul><p>The completeness bar reads 100%. Components: 2 of 2 seated. Paths: 1 of 1 complete.</p><p>Everyday this detection system gets closer and closer to being my dream for KaidoTrainer. <strong>Kaido must have a reliable circuit building diagnostic capability that is based on visual systems alone.</strong> The user does the physical functionality tests.</p><p><strong>Some debugs from today:</strong><br>The system had two parallel ideas of what counted as &#8220;valid&#8221;: L3 would assign a component leg to a specific row, but L5 would second-guess that assignment if a &#8220;grid confidence&#8221; number - measuring how close the leg&#8217;s pixel landed to the nearest hole&#8217;s center - fell below a threshold. A wire ending on the power rail naturally gets a low confidence score, because the pixel is at the edge of the rail strip rather than centered in a hole. L5 would see the low number, flag the leg as &#8220;between rows,&#8221; and refuse to find a path.</p><p>The fix took the form of a principle: <strong>if L3 assigns a row, that row is true.</strong> Confidence scores are informational. They tell you how clean a detection looks, not whether the detection is correct. L5 now respects L3&#8217;s row assignments and uses confidence only for diagnostic reporting.</p><p>That single decision rippled through the codebase. Three separate filters had to be removed. Several false negatives on correct builds went away. </p><p>You can see all of this in the screenshot. The panel below the photo lists every detected leg, its position, its model confidence, and its grid confidence. The resistor&#8217;s leg_a sits at H15 with a 44% grid confidence - low, but H15 is where the leg is. </p><p>This is the foundation for the v2 demo we&#8217;re bringing to Bay Area Maker Faire in September. Kids will build real circuits in front of real people, and the system will tell them the truth: did your circuit work, or didn&#8217;t it. <br><br><strong>Our big challenge until that time is to reduce false reporting by the system before the event in September. No false positives that reward sloppy work. No false negatives that discourage correct work.</strong></p><p>The hard part isn&#8217;t building a model. It&#8217;s building a pipeline that has features that guide the user through the ambiguous boundaries of where the model does not work.</p><p>We&#8217;re not at the finish line. There are nine demo circuits, not one, and each needs to be validated against builds I haven&#8217;t tried yet - intentionally wrong ones, partial ones, edge cases. The model still has weaknesses on certain components (LDRs vary in detection confidence; sliding switches have less reliable bounding boxes). Those are v9 model problems.</p>]]></content:encoded></item></channel></rss>