<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:friends="wordpress-plugin-friends:feed-additions:1" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">

<channel>
	<title>Jasongraphix</title>
	<atom:link href="http://jasongraphix.com/feed/" rel="self" type="application/rss+xml"/>
	<link>https://jasongraphix.com/</link>
	<description>A journal of art, thoughts, and projects.</description>
	<lastBuildDate>Sun, 03 May 2026 15:46:05 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><item>
		<title>Introducing SkilletSched</title>
		<link>https://jasongraphix.com/journal/introducing-skilletsched/</link>
					<comments>https://jasongraphix.com/journal/introducing-skilletsched/#respond</comments>
		
		<dc:creator><![CDATA[Jason Beaird]]></dc:creator>
		<pubDate>Sat, 02 May 2026 20:31:54 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Food]]></category>
		<category><![CDATA[Journal]]></category>
		<category><![CDATA[cooking]]></category>
		<category><![CDATA[dinner]]></category>
		<category><![CDATA[recipes]]></category>
		<category><![CDATA[SkilletSched]]></category>
		<guid isPermaLink="false">https://jasongraphix.com/?p=53558</guid>

					<description><![CDATA[<p>Three years ago, I wrote a post about how our family plans meals each week on Google Calendar and used a data export to surface and share some of our favorite weeknight dinners. Until this month, that was still our process. </p>
<p>The post <a href="https://jasongraphix.com/journal/introducing-skilletsched/">Introducing SkilletSched</a> appeared first on <a href="https://jasongraphix.com">Jasongraphix</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:2228,&quot;href&quot;:&quot;https:\/\/skilletsched.com\/@jasongraphix&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2229,&quot;href&quot;:&quot;https:\/\/skilletsched.com&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2230,&quot;href&quot;:&quot;https:\/\/skilletsched.com\/design&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2229,&quot;href&quot;:&quot;https:\/\/skilletsched.com&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;}]'></div>
<p>Three years ago, I wrote a post about how our family plans meals each week on Google Calendar where I used a data export to surface and share some of our <a href="https://jasongraphix.com/journal/family-favorite-weeknight-dinners/">favorite weeknight dinners</a>.</p>
<p>Until this month, that was still our planning process. Each week, we&#8217;d drop recipes into calendar events, duplicating past meals that worked, adding new recipes that included current sale items and ingredients we needed to use up. It was simple, flexible, and it kept our weekly plan accessible everywhere.</p>
<div class="imgright"><img decoding="async" src="https://jasongraphix.com/wp-content/uploads/2026/05/SkilletSchedShareCard.png" alt="Screenshot of a SkilletSched recipe share card." /><span class="small-meta">Recipes can be <a href="https://skilletsched.com/@jasongraphix" target="_blank" rel="noopener">shared publicly</a> from SkilletSched, and get a nice link preview when sent via text message or on social.</span></div>
<p>After over 8 years of adding and duplicating recipes, I started asking myself questions that a calendar search couldn&#8217;t answer, like:</p>
<ul>
<li>How many times have we actually cooked each meal?</li>
<li>Are there any old gold recipes that we made a few times and forgot about?</li>
<li>What can we make right now with what we already have?</li>
<li>Can we make grocery planning faster without scanning every recipe?</li>
<li><del>How to get our middle-schoolers to eat more leafy green things?</del></li>
</ul>
<p>What we <em>really</em> needed was a database, and that&#8217;s what I initially set out to build when I exported our shared calendar data again and started tinkering with Claude Code. After cleaning out a lot of noise and resolving duplicates, I realized we had over 70 unique recipes, several of which we&#8217;d made over 40 times. I didn’t want to replace our calendar-based process. I wanted to <em>augment</em> it.</p>
<p>As I dug in and started shaping my plan for a progressive web app, I realized I was building something that any household could pick up and use. I purchased the <a href="https://skilletsched.com/" target="_blank" rel="noopener">skilletsched.com</a> domain on April 8th and iterated my way to a lightweight, useful, and accessible application. Using my own household as the primary alpha tester, it&#8217;s already been a big time saver for managing recipes, planning weekly meals, and creating a shopping list. It also supports 2-way sync with Google Calendar (Outlook and iCal coming soon), so we can still access our meal plans anywhere our family calendar is available. My favorite part of this project has been adding features like a full-screen recipe cook view, <a href="https://skilletsched.com/@jasongraphix" target="_blank" rel="noopener">public recipe sharing</a>, <a href="https://skilletsched.com/design" target="_blank" rel="noopener">dark/light mode theming</a>, and even an MCP server for recipe management and meal planning in your favorite LLM.</p>
<div class="imgrightsm"><img decoding="async" src="https://jasongraphix.com/wp-content/uploads/2026/05/SkilletSched-Black-Square.png" alt="Skillet" /></div>
<h2>Time for a taste test!</h2>
<p>While it&#8217;s shaped around how our family plans, I hope that it&#8217;ll make recipe management and meal planning easier for anyone. If you already have some kind of meal planning system (or even if you don’t), I’d love for you to give <a href="https://skilletsched.com" target="_blank" rel="noopener">SkilletSched</a> a try and let me know what works for you, what doesn’t, and what’s missing. Bon appétit!</p>
<p>The post <a href="https://jasongraphix.com/journal/introducing-skilletsched/">Introducing SkilletSched</a> appeared first on <a href="https://jasongraphix.com">Jasongraphix</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jasongraphix.com/journal/introducing-skilletsched/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<friends:post-format>standard</friends:post-format>
	</item>
		<item>
		<title>Create your own Nest Photo Gallery</title>
		<link>https://jasongraphix.com/journal/create-your-own-nest-photo-gallery/</link>
					<comments>https://jasongraphix.com/journal/create-your-own-nest-photo-gallery/#respond</comments>
		
		<dc:creator><![CDATA[Jason Beaird]]></dc:creator>
		<pubDate>Wed, 01 Apr 2026 02:14:29 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Do-It-Yourself]]></category>
		<category><![CDATA[Journal]]></category>
		<guid isPermaLink="false">https://jasongraphix.com/?p=48537</guid>

					<description><![CDATA[<p>A few weeks ago, I wrote about how I used Claude Code to convert a deprecated Nest thermostat into a photo gallery. That post finished with a happily-ever-after ending and a video demo of the working device installed on a wall. It would have been nice to call it done and just enjoy seeing family memories on the circular screen every time I walked in the door, but I wanted to enable others to create their own mini photo frame.</p>
<p>The post <a href="https://jasongraphix.com/journal/create-your-own-nest-photo-gallery/">Create your own Nest Photo Gallery</a> appeared first on <a href="https://jasongraphix.com">Jasongraphix</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:2225,&quot;href&quot;:&quot;https:\/\/www.threads.com\/@jasongraphix\/post\/DVgQ7KZFesg&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260401021652\/https:\/\/www.threads.com\/@jasongraphix\/post\/DVgQ7KZFesg&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-04-01 07:10:08&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-04 11:59:38&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-09 23:50:14&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-13 12:11:00&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-19 06:59:23&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-27 15:26:55&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-02 06:42:05&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:42:05&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2216,&quot;href&quot;:&quot;https:\/\/nolongerevil.com&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260211172238\/https:\/\/nolongerevil.com\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-21 16:00:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-24 16:21:25&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-27 18:19:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 01:00:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-06 04:25:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-09 08:08:49&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-12 12:41:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-15 19:44:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-19 21:45:41&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-23 13:47:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-27 05:50:52&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-30 21:53:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-03 08:33:15&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-07 01:07:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-10 05:33:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-13 12:10:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-16 13:58:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-20 13:49:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-23 14:05:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-27 13:48:38&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-01 13:59:10&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-01 13:59:10&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2226,&quot;href&quot;:&quot;https:\/\/github.com\/jasongraphix\/nest-gallery\/releases\/tag\/v1.0.0&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260401021654\/https:\/\/github.com\/jasongraphix\/nest-gallery\/releases\/tag\/v1.0.0&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-04-01 03:33:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-04 11:59:40&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-08 06:26:57&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-12 12:35:48&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-21 10:15:20&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-27 15:26:55&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-02 06:42:19&quot;,&quot;http_code&quot;:503}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:42:19&quot;,&quot;http_code&quot;:503},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2227,&quot;href&quot;:&quot;https:\/\/github.com\/jasongraphix\/nest-gallery&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260401021559\/https:\/\/github.com\/jasongraphix\/nest-gallery&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-04-01 03:33:57&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-04 11:59:41&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-08 06:27:28&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-12 12:35:50&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-21 10:15:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-27 15:26:56&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-02 06:42:06&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:42:06&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;}]'></div>
<p>A few weeks ago, I wrote about how I used Claude Code to <a href="https://jasongraphix.com/journal/nest-photo-gallery/">convert a deprecated Nest thermostat into a photo gallery</a>. That post finished with a happily-ever-after ending and a video demo of the working device installed on a wall. It would have been nice to call it done and just enjoy seeing family memories on the circular screen every time I walked in the door, but I wanted to enable others to create their own mini photo frame.</p>
<p>I started working on an installer to transform any old Gen2 Nest Thermostat into an interactive gallery. Building and actually releasing an executable installer ended up being much harder than the original proof of concept build.</p>
<h2>Yes, I bricked it</h2>
<div class="imgrightmed"><img fetchpriority="high" decoding="async" src="https://jasongraphix.com/wp-content/uploads/2026/03/nest-kernel-messages.jpg" alt="Photo of a Nest Thermostat with kernel panic messages displayed over the Nest boot logo." width="750" height="1000"/><span class="small-meta"><em>I&#8217;m not a doctor, but&#8230;</em></span></div>
<p>My first mistake was assuming I could just package up what I&#8217;d built with Claude Code and call it done. The gallery worked great on my Nest, so how hard could it be to make that repeatable?</p>
<p>Turns out: <em>pretty hard</em></p>
<p>Most of the gallery code on the proof of concept was iterated on within the device, over SSH. While I was able to whip up an installer pretty quickly with Claude Code, it was clear with each firmware test flash that some assets were left in place from the original POC. </p>
<p>I spent a while trying to verify that it would work with a stock thermostat and managed to send the device into a boot loop that prevented it from connecting to wifi (no more SSH access) and eventually even charging. Claude kept suggesting ways to troubleshoot, resisting my assertion that we&#8217;d fully bricked it. After a weekend of rebuilds and firmware flashes, we finally pronounced it dead. Together, we had turned a functional photo gallery into exactly what Google wanted it to be when they dropped support, a beautiful little hockey puck of ewaste. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f622.png" alt="😢" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>After grieving the untimely loss of my original thermostat gallery, I doubled down and replaced it with a set of two more Gen2s from eBay which I nicknamed Bender and Clank. The idea was to use Bender to get the installer working consistently, and then confirm everything worked as expected with a clean, end-to-end firmware and gallery install on Clank.</p>
<blockquote class="text-post-media" data-text-post-permalink="https://www.threads.com/@jasongraphix/post/DVgQ7KZFesg" data-text-post-version="0" id="ig-tp-DVgQ7KZFesg" style="background:#FFF; border-width: 1px; border-style: solid; border-color: #00000026; border-radius: 16px; max-width:900px; margin: 1px; min-width:270px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);"><p> <a href="https://www.threads.com/@jasongraphix/post/DVgQ7KZFesg" style=" background:#FFFFFF; line-height:0; padding:0 0; text-align:center; text-decoration:none; width:100%; font-family: -apple-system, BlinkMacSystemFont, sans-serif;" target="_blank"> </p>
<div style=" padding: 40px; display: flex; flex-direction: column; align-items: center;">
<div style=" display:block; height:32px; width:32px; padding-bottom:20px;"> <svg aria-label="Threads" height="32px" role="img" viewBox="0 0 192 192" width="32px" xmlns="http://www.w3.org/2000/svg"> <path d="M141.537 88.9883C140.71 88.5919 139.87 88.2104 139.019 87.8451C137.537 60.5382 122.616 44.905 97.5619 44.745C97.4484 44.7443 97.3355 44.7443 97.222 44.7443C82.2364 44.7443 69.7731 51.1409 62.102 62.7807L75.881 72.2328C81.6116 63.5383 90.6052 61.6848 97.2286 61.6848C97.3051 61.6848 97.3819 61.6848 97.4576 61.6855C105.707 61.7381 111.932 64.1366 115.961 68.814C118.893 72.2193 120.854 76.925 121.825 82.8638C114.511 81.6207 106.601 81.2385 98.145 81.7233C74.3247 83.0954 59.0111 96.9879 60.0396 116.292C60.5615 126.084 65.4397 134.508 73.775 140.011C80.8224 144.663 89.899 146.938 99.3323 146.423C111.79 145.74 121.563 140.987 128.381 132.296C133.559 125.696 136.834 117.143 138.28 106.366C144.217 109.949 148.617 114.664 151.047 120.332C155.179 129.967 155.42 145.8 142.501 158.708C131.182 170.016 117.576 174.908 97.0135 175.059C74.2042 174.89 56.9538 167.575 45.7381 153.317C35.2355 139.966 29.8077 120.682 29.6052 96C29.8077 71.3178 35.2355 52.0336 45.7381 38.6827C56.9538 24.4249 74.2039 17.11 97.0132 16.9405C119.988 17.1113 137.539 24.4614 149.184 38.788C154.894 45.8136 159.199 54.6488 162.037 64.9503L178.184 60.6422C174.744 47.9622 169.331 37.0357 161.965 27.974C147.036 9.60668 125.202 0.195148 97.0695 0H96.9569C68.8816 0.19447 47.2921 9.6418 32.7883 28.0793C19.8819 44.4864 13.2244 67.3157 13.0007 95.9325L13 96L13.0007 96.0675C13.2244 124.684 19.8819 147.514 32.7883 163.921C47.2921 182.358 68.8816 191.806 96.9569 192H97.0695C122.03 191.827 139.624 185.292 154.118 170.811C173.081 151.866 172.51 128.119 166.26 113.541C161.776 103.087 153.227 94.5962 141.537 88.9883ZM98.4405 129.507C88.0005 130.095 77.1544 125.409 76.6196 115.372C76.2232 107.93 81.9158 99.626 99.0812 98.6368C101.047 98.5234 102.976 98.468 104.871 98.468C111.106 98.468 116.939 99.0737 122.242 100.233C120.264 124.935 108.662 128.946 98.4405 129.507Z" /></svg></div>
<div style=" font-size: 15px; line-height: 21px; color: #000000; font-weight: 600; "> View on Threads</div>
</div>
<p></a></p></blockquote>
<p><script async src="https://www.threads.com/embed.js"></script></p>
<h2>Getting it right (this time)</h2>
<p>For the original gallery, I manually formatted the images to the required BGRA .raw file format myself and hosted them on an HTTP subdomain that the Nest checked for updates whenever it was activated. It did the job, but wasn&#8217;t a very approachable solution to gallery maintenance. </p>
<p>I kept that advanced flow around, but simplified the default setup with an Electron app (based on the <a href="https://nolongerevil.com/" target="_blank">no longer evil</a> installer) that handles the entire process: USB DFU flashing, image conversion, and SSH transfer. You plug in your Nest, click a few buttons, select photos, and end up with a working photo gallery. </p>
<p>The <a href="https://github.com/jasongraphix/nest-gallery/releases/tag/v1.0.0" target="_blank">Nest Gallery installer</a> release is now available on GitHub for ARM-based Macs (M1 or later). It&#8217;s MIT licensed, fully open source, and you don&#8217;t have to understand anything about cross-compiling ARM binaries or NAND partitions to use it.</p>
<p>Here&#8217;s what you get:</p>
<ul>
<li>One-time USB flash &#8211; No need to reflash the device when you want to update photos</li>
<li>WiFi photo updates &#8211; Add jpg or png images via SSH transfer through the Electron app</li>
<li>Carousel navigation &#8211; Turn the ring to scrub through photos</li>
<li>Auto-advance &#8211; 10-second intervals with smooth transitions</li>
<li>Motion wake &#8211; The display wakes when it detects motion</li>
<li>Thermostat toggle &#8211; Double-click to switch back to thermostat mode if you want</li>
</ul>
<h2>Should you actually build one?</h2>
<p>If you have a deprecated Gen 2 Nest sitting in a drawer and you&#8217;re comfortable with the possibility that you might brick it, yes. The installer makes it as straightforward as this kind of hardware hack can be, and there&#8217;s something genuinely satisfying about bringing a discarded piece of hardware back to life with a new purpose.</p>
<p>If you don&#8217;t have a Nest but you&#8217;re curious about the code, it&#8217;s all there. Feel free to pick it apart, modify it, or use it as a jumping off point for doing something completely different. Claude Code wrote most of what&#8217;s there and I had fun keeping it on task and learning way more than I ever expected about 2010s Linux hardware. You can find the full project, installer, and source code at: <a href="https://github.com/jasongraphix/nest-gallery" target="_blank">https://github.com/jasongraphix/nest-gallery</a></p>
<p>The post <a href="https://jasongraphix.com/journal/create-your-own-nest-photo-gallery/">Create your own Nest Photo Gallery</a> appeared first on <a href="https://jasongraphix.com">Jasongraphix</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jasongraphix.com/journal/create-your-own-nest-photo-gallery/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<friends:post-format>standard</friends:post-format>
	</item>
		<item>
		<title>Converting a Deprecated Nest Thermostat into a Photo Gallery</title>
		<link>https://jasongraphix.com/journal/nest-photo-gallery/</link>
					<comments>https://jasongraphix.com/journal/nest-photo-gallery/#comments</comments>
		
		<dc:creator><![CDATA[Jason Beaird]]></dc:creator>
		<pubDate>Sat, 21 Feb 2026 16:00:20 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Do-It-Yourself]]></category>
		<category><![CDATA[Journal]]></category>
		<guid isPermaLink="false">https://jasongraphix.com/?p=40082</guid>

					<description><![CDATA[<p>Before we dive in, I should let you know that I'm a designer. I have no business hacking firmware to make devices perform jobs they were never intended for, but I do love tinkering with physical hardware. A few years ago, I wrote about building an Arduino LED strip game and followed that post up with another about a Simon clone built with arcade buttons and a 3D printed case. I've also taken on some Raspberry Pi projects, a few simpler Arduino builds, and some home automation. All of those were based on existing code and project plans—no compiled binaries or firmware modifications. So, yes, I was way outside my skill set and comfort zone on this project, but that's how we learn new things, right?</p>
<p>The post <a href="https://jasongraphix.com/journal/nest-photo-gallery/">Converting a Deprecated Nest Thermostat into a Photo Gallery</a> appeared first on <a href="https://jasongraphix.com">Jasongraphix</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:2215,&quot;href&quot;:&quot;https:\/\/support.google.com\/googlenest\/answer\/16233096?hl=en&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260221161725\/https:\/\/support.google.com\/googlenest\/answer\/16233096?hl=en&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-21 16:43:34&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-24 18:33:27&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-28 05:31:20&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 07:45:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-08 08:52:54&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-11 12:59:12&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-15 00:23:36&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-19 06:03:06&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-23 13:47:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-27 05:50:50&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-30 08:40:50&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-03 08:33:11&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-07 05:54:04&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-10 21:57:51&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-14 11:39:58&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-17 23:05:09&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-21 10:02:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-24 13:56:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-28 21:35:39&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-02 06:42:31&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:42:31&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2216,&quot;href&quot;:&quot;https:\/\/nolongerevil.com&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260211172238\/https:\/\/nolongerevil.com\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-21 16:00:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-24 16:21:25&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-27 18:19:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 01:00:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-06 04:25:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-09 08:08:49&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-12 12:41:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-15 19:44:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-19 21:45:41&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-23 13:47:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-27 05:50:52&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-30 21:53:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-03 08:33:15&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-07 01:07:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-10 05:33:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-13 12:10:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-16 13:58:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-20 13:49:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-23 14:05:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-27 13:48:38&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-01 13:59:10&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-01 13:59:10&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2217,&quot;href&quot;:&quot;https:\/\/docs.nolongerevil.com\/hosted\/installation&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260112110529\/https:\/\/docs.nolongerevil.com\/hosted\/installation&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-21 16:00:32&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-24 16:21:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-28 05:31:19&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-03 07:45:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-08 08:52:58&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-11 12:59:15&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-15 00:23:37&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-18 01:47:52&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-21 17:37:25&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-25 00:20:57&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-28 10:02:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-31 21:39:02&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-04 19:19:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-08 06:28:08&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-11 11:52:47&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-14 14:03:04&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-17 23:05:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-21 10:03:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-25 01:31:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-28 21:35:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-02 06:42:55&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:42:55&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2218,&quot;href&quot;:&quot;https:\/\/github.com\/codykociemba\/NoLongerEvil-Thermostat\/tree\/open-source-prototype&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260101173057\/https:\/\/github.com\/codykociemba\/NoLongerEvil-Thermostat\/tree\/open-source-prototype&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-21 16:00:33&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-24 16:21:28&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-28 05:31:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-03 07:45:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-08 08:52:57&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-11 12:59:11&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-15 00:23:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-18 01:47:50&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-21 17:37:36&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-25 00:20:57&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-28 10:02:25&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-31 21:39:02&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-04 19:19:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-08 06:28:08&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-11 11:52:41&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-14 14:03:06&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-17 23:05:10&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-21 10:03:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-24 13:56:20&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-28 21:35:50&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-02 06:42:55&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:42:55&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2219,&quot;href&quot;:&quot;https:\/\/claude.com\/product\/claude-code&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260221115532\/https:\/\/claude.com\/product\/claude-code&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-21 16:00:36&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-24 16:21:27&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-28 05:31:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 07:45:19&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-08 08:52:54&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-11 12:59:17&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-15 00:23:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-18 01:47:49&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-21 17:37:55&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-25 00:20:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-28 10:02:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-31 21:39:04&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-04 19:19:17&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-08 06:28:12&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-11 11:52:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-14 14:03:06&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-17 23:05:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-21 10:03:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-24 13:56:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-28 21:35:49&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-02 06:42:56&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:42:56&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2220,&quot;href&quot;:&quot;https:\/\/github.com\/codykociemba\/NoLongerEvil-Thermostat\/blob\/open-source-prototype\/firmware\/builder\/deps\/logo_nest_clut224.ppm&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260221161619\/https:\/\/github.com\/codykociemba\/NoLongerEvil-Thermostat\/blob\/open-source-prototype\/firmware\/builder\/deps\/logo_nest_clut224.ppm&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-21 16:43:31&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-24 18:34:40&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-28 05:31:25&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-03 07:45:20&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-03-08 08:53:00&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-11 12:59:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-15 00:23:39&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-18 01:47:52&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-21 17:37:44&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-03-25 00:21:03&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-28 10:02:26&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-31 21:39:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-04 19:19:19&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-08 06:28:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-11 11:52:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-14 14:03:11&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-04-17 23:05:38&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-21 10:03:18&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-24 13:56:21&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-28 21:35:53&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-02 06:42:57&quot;,&quot;http_code&quot;:429}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:42:57&quot;,&quot;http_code&quot;:429},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2221,&quot;href&quot;:&quot;https:\/\/imagemagick.org&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260221015545\/https:\/\/imagemagick.org\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-21 16:00:40&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-24 16:21:25&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-28 05:31:28&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 07:45:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-08 08:52:58&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-11 12:59:17&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-15 01:21:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-18 01:47:53&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-21 17:37:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-25 00:20:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-28 10:02:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-31 21:39:07&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-04 19:19:21&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-08 06:28:12&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-11 11:52:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-14 19:28:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-18 14:02:12&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-22 02:42:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-25 17:20:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-28 21:35:54&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-02 06:42:59&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:42:59&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2222,&quot;href&quot;:&quot;https:\/\/www.makerfaireorlando.com&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260115183438\/https:\/\/www.makerfaireorlando.com\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-21 16:00:42&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-24 16:21:28&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-28 05:31:24&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-03 07:45:29&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-08 08:53:01&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-11 22:59:29&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-15 19:44:53&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-19 21:45:41&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-23 13:47:21&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-27 05:50:52&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-30 08:40:58&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-03 08:33:20&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-07 05:54:03&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-10 21:57:51&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-14 14:03:12&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-17 23:05:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-21 10:03:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-25 01:31:45&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-28 21:35:54&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-02 06:42:59&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:42:59&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2223,&quot;href&quot;:&quot;https:\/\/bsky.app\/profile\/tynanpurdy.com\/post\/3meojh7w5uk2q&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260221160341\/https:\/\/bsky.app\/profile\/tynanpurdy.com\/post\/3meojh7w5uk2q&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-21 16:43:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-24 18:35:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-28 05:31:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 07:45:23&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-08 08:53:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-11 12:59:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-15 01:21:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-18 01:47:52&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-21 17:37:38&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-25 00:21:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-28 10:02:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-31 21:39:07&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-04 19:19:19&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-08 06:28:14&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-11 11:52:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-14 14:03:11&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-17 23:05:42&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-04-21 10:03:21&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-24 13:56:24&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-28 21:35:52&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-02 06:42:57&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:42:57&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2224,&quot;href&quot;:&quot;https:\/\/amzn.to\/4aZ5Fkv&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;https:\/\/www.amazon.com\/dp\/B0DNYDX4TR?&amp;linkCode=sl2&amp;tag=jasongraphix-20&amp;linkId=d01286938d1dc890ad0e67fc2fc2af9f&amp;language=en_US&amp;ref_=as_li_ss_tl&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;}]'></div>
<p>Before we dive in, I should let you know that I&#8217;m a designer. I have no business hacking firmware to make devices perform jobs they were never intended for, but I do love tinkering with physical hardware. A few years ago, I wrote about <a href="https://jasongraphix.com/journal/twang-building-an-arduino-based-led-strip-game/" target="_blank" rel="noopener">building an Arduino LED strip game</a> and followed that post up with another about a <a href="https://jasongraphix.com/journal/building-simon-for-arduino-uno/" target="_blank" rel="noopener">Simon clone</a> built with arcade buttons and a 3D printed case. I&#8217;ve also taken on some Raspberry Pi projects, a few simpler Arduino builds, and some home automation. All of those were based on existing code and project plans—no compiled binaries or firmware modifications. So, yes, I was way outside my skill set and comfort zone on this project, but that&#8217;s how we learn new things, right?</p>
<div class="imgleftmed"><img decoding="async" src="https://jasongraphix.com/wp-content/uploads/2026/02/nest-nle-screen.jpg" alt="Photo of Nest thermostat with NLE logo on the screen" /><span class="small-meta"><em>Photo of my Nest booting up with the No Longer Evil firmware installed.</em></span></div>
<p>On October 25th, Google officially <a href="https://support.google.com/googlenest/answer/16233096?hl=en">ended support</a> for 1st and 2nd generation Nest thermostats. I&#8217;ve long been a fan of the original Nest hardware, so after replacing our gen2 with a newer smart thermostat, I decided to hang on to that beautiful hunk of e-waste. A few months later, I came across Cody Kociemba&#8217;s <a href="https://nolongerevil.com/" target="_blank" rel="noopener">No Longer Evil</a> project. It&#8217;s an open-source firmware that brings deprecated gen1 and 2 Nests back to life by redirecting the device&#8217;s traffic away from Google&#8217;s servers and providing a web interface for remote HVAC control and scheduling.</p>
<p>While I never intended to use my old Nest as a thermostat again, I figured it might be fun to see if I could modify the custom firmware to do something interesting. Installing the NLE firmware involves putting the Nest into DFU (Device Firmware Update) mode and running an installer script over USB. That sounds complicated, but the <a href="https://docs.nolongerevil.com/hosted/installation" target="_blank" rel="noopener">installation process</a> is well-documented and straightforward.</p>
<p>As soon as I saw the NLE logo, I was curious what else I could put on that little circular screen. It&#8217;s just a 320&#215;320 IPS display, but the pixel density certainly <em>looked</em> like it might handle a photo reasonably well. For my first experiment, I set out to try finding the NLE logo image and replacing it with a photo. After digging around in the <a href="https://github.com/codykociemba/NoLongerEvil-Thermostat/tree/open-source-prototype" target="_blank" rel="noopener">open source project</a> a bit, I worried this was going to absorb more time than I was willing to spend on a silly side project.</p>
<h2>Diving into Claude Code</h2>
<p>This seemed like a perfect challenge to pair with Anthropic&#8217;s <a href="https://claude.com/product/claude-code" target="_blank" rel="noopener">Claude Code</a> on, so I re-upped to Claude Pro, opened a Terminal window, and started prompting.  <span style="font-size: 1.063rem;">With the help of my handy robot assistant, I learned that the display is accessible as a standard framebuffer device at /dev/fb0, which means if you have some raw pixel data, you can just write it directly to the screen. It helped me track down </span><a style="font-size: 1.063rem;" href="https://github.com/codykociemba/NoLongerEvil-Thermostat/blob/open-source-prototype/firmware/builder/deps/logo_nest_clut224.ppm" target="_blank" rel="noopener">where the .ppm logo file was located</a><span style="font-size: 1.063rem;"> in the open source code, convinced me that a BGRA .raw file was a better format for displaying photos on the device, and walked me through gaining root access to upload and display a proof of concept photo that I formatted and resized down to 320px with </span><a style="font-size: 1.063rem;" href="https://imagemagick.org/" target="_blank" rel="noopener">ImageMagick</a><span style="font-size: 1.063rem;">.</span></p>
<div class="imgrightmed"><img decoding="async" src="https://jasongraphix.com/wp-content/uploads/2026/02/nest-poc-photo.jpg" alt="Photo of Nest thermostat with a photo displayed" /><span class="small-meta"><em>A family photo with Makey from <a href="https://www.makerfaireorlando.com/" target="_blank" rel="noopener">Maker Faire Orlando</a> seemed like an appropriate proof of concept.</em></span></div>
<p>Even though it was tiny, the photo looked great in that circular glass frame, so from there, I decided to try making it work as a photo gallery that cycled through images automatically (<a href="https://bsky.app/profile/tynanpurdy.com/post/3meojh7w5uk2q" target="_blank" rel="noopener">and yes, Tynan</a>) allowed for manual scrubbing via ring turn. While I may have been able to figure out how to get the POC photo to display on my own, the rest wouldn&#8217;t have been possible without Claude Code. It wrote all of the gallery functionality and helped me set up Docker to compile and reflash the Nest with test builds.</p>
<p>I worked with Claude as if I were a product manager—providing feature requirements, validating incremental changes, and giving direction when we encountered technical constraints. And boy, did we encounter some constraints. The Nest Gen 2 runs a Texas Instruments ARM Cortex-A8 processor with a Linux 2.6.37 kernel from 2011. Just figuring out how to get a turn of the ring to swipe photos across the screen took some trial and error, device crashes, and several moments where I was sure we&#8217;d permanently bricked it.</p>
<p>The first major hurdle was convincing the Nest to give up control of the screen. A process called nlclient continuously redraws the thermostat interface, and a watchdog process prevents you from killing it without forcing a reboot. I was getting frustrated with frequent gallery flickers and crashes when Claude eventually figured out that it could use SIGSTOP to keep the watchdog process alive and prevent the Nest from redrawing. With each successful milestone, I&#8217;d remind Claude of another missing aspect of the project. Here&#8217;s a sample of what our interactions looked like:<img decoding="async" class="imgwide" src="https://jasongraphix.com/wp-content/uploads/2026/02/claude-screenshot-masked.jpg" alt="A Mac Terminal screenshot with Claude sharing what we accomplished so far, and me responding with: Before we kick off another build, does it make sense to also troubleshoot how to fetch or update image files via web?" width="1790" height="1060" /></p>
<p>The solution to the issue Claude was working through above also required a few iterations. I wanted to be able to add and remove gallery images without having to reflash the device. To do that, I uploaded them to a folder on my site, but there was no DNS resolution, and it also couldn&#8217;t pull files over HTTPS. Instead of letting Claude write its own musl-based wget/curl service with HTTPS support, I suggested that I could set up a subdomain without an HTTPS cert to store the photos on. There were several moments like this over the course of the project, where Claude Code was spiraling through a series of Rube Goldberg solutions to the technical constraints we encountered. Sometimes I redirected, and sometimes I let it cook. I&#8217;m pretty happy with how it turned out. Here&#8217;s a summary of what we built together:</p>
<figure class="wp-block-embed wp-block-embed-youtube is-type-video is-provider-youtube epyt-figure"><div class="wp-block-embed__wrapper"><div class="epyt-video-wrapper"><div  id="_ytid_76978"  width="1140" height="641"  data-origwidth="1140" data-origheight="641"  data-relstop="1" data-facadesrc="https://www.youtube.com/embed/WKEL2LobhkI?enablejsapi=1&autoplay=0&cc_load_policy=0&cc_lang_pref=&iv_load_policy=1&loop=0&rel=0&fs=1&playsinline=0&autohide=2&theme=dark&color=red&controls=1&disablekb=0&" class="__youtube_prefs__ epyt-facade no-lazyload" data-epautoplay="1" ><img decoding="async" data-spai-excluded="true" class="epyt-facade-poster skip-lazy" loading="lazy"  alt="YouTube player"  src="https://i.ytimg.com/vi/WKEL2LobhkI/maxresdefault.jpg"  /><button class="epyt-facade-play" aria-label="Play"><svg data-no-lazy="1" height="100%" version="1.1" viewBox="0 0 68 48" width="100%"><path class="ytp-large-play-button-bg" d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z" fill="#f00"></path><path d="M 45,24 27,14 27,34" fill="#fff"></path></svg></button></div></div></div></figure>
<ul>
<li><strong>Auto-advance gallery</strong> &#8211; Once the Nest completes its boot sequence, it starts cycling through photos, displaying a new one every 10 seconds.</li>
<li><strong>Display sleep</strong> &#8211; After 5 minutes of inactivity, the screen dims to conserve power. You can tap the button or turn the ring to wake it.</li>
<li><strong>Horizontal carousel</strong> &#8211; Turn the ring and photos slide left or right in real-time, matching the feel of scrubbing through settings on the original Nest UI.</li>
<li><strong>Motion wake</strong> &#8211; When the gallery is not active, the Nest UI is running in the background. When we detect a motion event (AKA, Farsight), we take over the display with a random image from the gallery. If no additional action is taken within 10 seconds, the display goes back to sleep.</li>
<li><strong>Snap easing</strong> &#8211; If you stop turning the ring past the midpoint,  the image slides into place with an ease-out animation.</li>
<li><strong>Lazy Loading</strong> &#8211; I initially let the gallery cache up to 40 images (~16MB) in memory at once. While troubleshooting periodic reboots, I learned that we were exceeding the device&#8217;s 41MB RAM limit. Now, we store 7 images in memory (3 ahead and 3 before the current image), to keep the scrubbing snappy, loading additional images on demand.</li>
<li><strong>Web Update</strong> &#8211; On each non-motion wake action, the gallery checks an online playlist file, downloads missing images, and removes photos that are no longer on the list.</li>
<li><strong>Click sound</strong> &#8211; The Nest has a tiny piezo buzzer, so with every ring-turn photo transition, you get a satisfying little 8-bit beep.</li>
<li><strong>Gallery pause</strong> &#8211; A double-click on the button switches between the photo gallery and the original thermostat UI. This allowed me to get into settings to check things like wifi connection and device wiring status.</li>
</ul>
<p>To mount the Nest back on a wall, I needed a power source. I learned that a standard 24VAC doorbell transformer (which I found for <a href="https://amzn.to/4aZ5Fkv" target="_blank" rel="noopener">about $12 on Amazon</a>) plugged into the R and C ports of the base could keep the <del>zombie thermostat</del> Nest alive. I found an ideal display location near an entry door next to the <a href="https://jasongraphix.com/journal/library-ladder-wall/">library ladder room.</a> There&#8217;s a closet on the other side of the wall with an outlet close enough to run a cord up, through the wall, and straight into the Nest backplate for a clean look.</p>
<h2>The one issue I didn&#8217;t solve</h2>
<p>There&#8217;s a <em>tiny</em> flat spot at the very top of the display (maybe 1-3 pixels) that&#8217;s visible on lighter-colored photos. You can barely see it in the video, and even the NLE logo photo above from the original firmware flash. Claude tried to convince me that it was a hardware notch, but in the white background of some of the Nest UI screens, all the pixels are lit up to form a perfect circle. I spent an embarrassing amount of time prompting and reprompting Claude to try different pixel offsets and framebuffer pan settings to round out that glitch. While nobody who checks out the gallery will ever even notice the tiny top divit, it makes my eye twitch every time, so I may eventually try again to troubleshoot it. Until then, I&#8217;m calling this project done.</p>
<p>The post <a href="https://jasongraphix.com/journal/nest-photo-gallery/">Converting a Deprecated Nest Thermostat into a Photo Gallery</a> appeared first on <a href="https://jasongraphix.com">Jasongraphix</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jasongraphix.com/journal/nest-photo-gallery/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
		<friends:post-format>standard</friends:post-format>
	</item>
		<item>
		<title>Stay Curious, Friends</title>
		<link>https://jasongraphix.com/journal/stay-curious-friends/</link>
					<comments>https://jasongraphix.com/journal/stay-curious-friends/#respond</comments>
		
		<dc:creator><![CDATA[Jason Beaird]]></dc:creator>
		<pubDate>Wed, 14 Jan 2026 16:30:24 +0000</pubDate>
				<category><![CDATA[Journal]]></category>
		<guid isPermaLink="false">https://jasongraphix.com/?p=26248</guid>

					<description><![CDATA[<p>As I kick off into the new year, I’ve been thinking about a panel discussion we hosted recently at Downtown Orlando UX with our friends from ProductTank Orlando. The conversation was a deep dive into how AI is redefining product and user experience roles and had an energy that made me optimistic about where our industry is headed.</p>
<p>The post <a href="https://jasongraphix.com/journal/stay-curious-friends/">Stay Curious, Friends</a> appeared first on <a href="https://jasongraphix.com">Jasongraphix</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:93,&quot;href&quot;:&quot;https:\/\/www.meetup.com\/downtown-orlando-ux&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251210095031\/https:\/\/www.meetup.com\/downtown-orlando-ux\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:57:29&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-12 00:47:15&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-15 16:12:18&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-19 20:28:54&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-01-23 22:11:00&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-01-27 02:20:01&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-30 02:34:36&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-02-02 10:20:27&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-06 12:35:45&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-02-09 13:15:12&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-13 08:10:34&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-16 13:26:39&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-20 21:11:58&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-25 02:42:59&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-28 16:03:56&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-04 20:26:06&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-08 01:21:19&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-11 11:09:11&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-14 22:10:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-19 04:09:46&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-22 06:03:27&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-25 20:12:14&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-29 09:41:00&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-04-01 23:59:56&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-05 13:46:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-08 21:36:18&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-12 00:34:09&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-04-15 03:31:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-18 08:48:38&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-22 04:18:09&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-25 07:57:08&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-04-29 14:59:12&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-05-02 20:10:43&quot;,&quot;http_code&quot;:404}],&quot;broken&quot;:true,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 20:10:43&quot;,&quot;http_code&quot;:404},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2208,&quot;href&quot;:&quot;https:\/\/www.meetup.com\/producttank-orlando&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251210095031\/https:\/\/www.meetup.com\/producttank-orlando\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-14 16:30:33&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-18 12:06:57&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-21 12:17:21&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-25 23:10:59&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-30 02:34:39&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-02-02 10:20:27&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-06 12:35:44&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-02-09 13:15:12&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-13 16:44:09&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-18 21:46:53&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-02-22 10:42:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-25 19:38:47&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-03 07:53:40&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-08 01:21:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-12 18:25:21&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-17 12:52:12&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-22 06:03:53&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-27 01:18:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-30 20:53:04&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-03 03:43:49&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-07 23:48:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-12 00:34:02&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-04-15 03:31:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-18 08:48:39&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-22 04:21:32&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-25 10:16:08&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-05-02 03:31:47&quot;,&quot;http_code&quot;:404}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 03:31:47&quot;,&quot;http_code&quot;:404},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2209,&quot;href&quot;:&quot;https:\/\/www.linkedin.com\/in\/elliottpolitte&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20160214005504\/https:\/\/www.linkedin.com\/in\/elliottpolitte&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-14 16:30:34&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-01-18 12:06:55&quot;,&quot;http_code&quot;:999},{&quot;date&quot;:&quot;2026-01-21 12:17:21&quot;,&quot;http_code&quot;:999},{&quot;date&quot;:&quot;2026-01-25 23:11:01&quot;,&quot;http_code&quot;:999},{&quot;date&quot;:&quot;2026-01-30 02:34:40&quot;,&quot;http_code&quot;:999},{&quot;date&quot;:&quot;2026-02-02 10:20:30&quot;,&quot;http_code&quot;:999},{&quot;date&quot;:&quot;2026-02-06 12:35:46&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-02-09 13:15:17&quot;,&quot;http_code&quot;:999},{&quot;date&quot;:&quot;2026-02-13 16:44:11&quot;,&quot;http_code&quot;:999},{&quot;date&quot;:&quot;2026-02-18 21:46:58&quot;,&quot;http_code&quot;:999},{&quot;date&quot;:&quot;2026-02-22 14:52:23&quot;,&quot;http_code&quot;:999},{&quot;date&quot;:&quot;2026-02-26 01:16:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 07:53:45&quot;,&quot;http_code&quot;:999},{&quot;date&quot;:&quot;2026-03-08 01:21:25&quot;,&quot;http_code&quot;:999},{&quot;date&quot;:&quot;2026-03-12 18:25:27&quot;,&quot;http_code&quot;:999},{&quot;date&quot;:&quot;2026-03-17 12:52:09&quot;,&quot;http_code&quot;:999},{&quot;date&quot;:&quot;2026-03-22 06:03:41&quot;,&quot;http_code&quot;:999},{&quot;date&quot;:&quot;2026-03-27 01:18:08&quot;,&quot;http_code&quot;:999},{&quot;date&quot;:&quot;2026-03-30 20:53:08&quot;,&quot;http_code&quot;:999},{&quot;date&quot;:&quot;2026-04-03 03:43:48&quot;,&quot;http_code&quot;:999},{&quot;date&quot;:&quot;2026-04-07 23:48:17&quot;,&quot;http_code&quot;:999},{&quot;date&quot;:&quot;2026-04-12 00:34:06&quot;,&quot;http_code&quot;:999},{&quot;date&quot;:&quot;2026-04-15 03:31:46&quot;,&quot;http_code&quot;:999},{&quot;date&quot;:&quot;2026-04-19 21:24:02&quot;,&quot;http_code&quot;:999},{&quot;date&quot;:&quot;2026-04-24 14:08:44&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-05-02 03:32:00&quot;,&quot;http_code&quot;:404}],&quot;broken&quot;:true,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 03:32:00&quot;,&quot;http_code&quot;:404},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2210,&quot;href&quot;:&quot;https:\/\/www.linkedin.com\/in\/kmorrowdesign&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:275,&quot;href&quot;:&quot;https:\/\/gregg.io\/the-only-winning-move&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251218045656\/https:\/\/gregg.io\/the-only-winning-move&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 15:10:00&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-10 01:17:48&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-13 14:51:10&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-20 19:24:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-23 22:10:58&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-28 16:26:42&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-02 10:20:24&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-06 12:35:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-09 13:15:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-13 16:44:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-18 21:46:57&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-22 14:52:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-26 01:16:30&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-03 07:53:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-08 01:21:25&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-12 18:25:27&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-17 12:52:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-22 06:03:49&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-27 01:18:11&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-30 20:53:10&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-03 03:43:48&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-07 23:48:18&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-12 07:51:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-17 12:13:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-22 04:21:36&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-26 22:30:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-02 03:31:56&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 03:31:56&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2211,&quot;href&quot;:&quot;https:\/\/en.wikipedia.org\/wiki\/Browser_wars&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260108193417\/https:\/\/en.wikipedia.org\/wiki\/Browser_wars&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-14 16:30:36&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-20 19:24:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-23 22:11:00&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-28 16:26:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-01 08:00:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-04 13:58:43&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-09 13:15:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-13 16:44:25&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-18 21:46:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-22 14:52:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-26 01:16:32&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-03-03 07:53:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-08 01:21:24&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-12 18:25:24&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-17 12:52:11&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-22 06:03:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-27 01:18:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-31 17:54:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-04 15:06:19&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-04-07 23:48:21&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-12 07:51:12&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-17 12:13:47&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-22 06:03:24&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-26 22:30:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-02 05:12:03&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 05:12:03&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2212,&quot;href&quot;:&quot;https:\/\/csszengarden.com&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260104160840\/https:\/\/csszengarden.com\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-14 16:30:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-20 19:24:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-23 22:11:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-28 16:26:44&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-01 08:00:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-04 18:48:28&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-09 13:15:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-13 16:44:27&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-18 21:46:58&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-22 14:52:29&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-26 01:16:33&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 07:53:43&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-08 01:21:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-12 18:25:24&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-17 12:52:14&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-22 06:03:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-27 01:18:08&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-31 17:54:09&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-04 15:06:23&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-07 23:48:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-12 07:51:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-17 12:13:45&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-22 06:03:27&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-26 22:30:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-02 06:43:23&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:43:23&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2213,&quot;href&quot;:&quot;https:\/\/alistapart.com&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260113180238\/https:\/\/alistapart.com\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-14 16:30:38&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-20 19:24:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-23 22:11:00&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-28 16:26:40&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-02 10:20:27&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-06 12:35:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-09 13:15:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-13 16:44:27&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-18 21:46:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-22 14:52:29&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-26 01:16:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 07:53:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-08 01:21:21&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-12 18:25:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-17 12:52:14&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-22 06:03:43&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-27 01:18:06&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-31 17:54:12&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-04 15:06:23&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-07 23:48:21&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-12 17:49:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-17 12:13:47&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-22 06:03:28&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-26 22:30:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-02 05:11:59&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 05:11:59&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2214,&quot;href&quot;:&quot;https:\/\/spin.atomicobject.com\/broken-comb-people&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251015212306\/https:\/\/spin.atomicobject.com\/broken-comb-people\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-14 16:30:40&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-20 19:24:49&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-23 22:11:03&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-28 16:26:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-01 08:00:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-04 18:48:28&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-09 13:15:14&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-13 16:44:30&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-18 21:46:56&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-23 16:28:40&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-28 16:03:57&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-08 01:21:29&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-12 18:25:24&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-17 12:52:12&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-22 06:03:55&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-27 01:18:12&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-31 17:54:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-04 15:06:25&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-07 23:48:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-12 07:51:16&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-17 12:13:46&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-22 06:03:27&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-26 22:30:49&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-02 03:32:08&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 03:32:08&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;}]'></div>
<p>As I kick off into the new year, I’ve been thinking about a panel discussion we hosted recently at <a href="https://www.meetup.com/downtown-orlando-ux/" target="_blank" rel="noopener">Downtown Orlando UX</a> with our friends from <a href="https://www.meetup.com/producttank-orlando/" target="_blank" rel="noopener">ProductTank Orlando</a>. The conversation was a deep dive into how AI is redefining product and user experience roles and had an energy that made me optimistic about where our industry is headed. The consensus among our four amazing panelists was that while AI is a powerful thought partner, it&#8217;s just another tool that augments our existing skills rather than serving as a replacement for professional expertise. <a href="https://www.linkedin.com/in/elliottpolitte/" target="_blank">Elliott Politte</a>, UX Principal at The Home Depot mentioned that, &#8220;the actual craft of pushing pixels is changing, but the way we solve the problems and how we collaborate and make things human isn&#8217;t.&#8221;</p>
<div class="imgright"><img decoding="async" src="https://jasongraphix.com/wp-content/uploads/2026/01/meetup-group-photo.jpg" alt="Photo of a group of about 40 people in front of a stage with others on a Zoom screen in the background." width="1200" height="358" /><span class="small-meta"><em>Group photo from the November DOUX+ProductTank meetup</em></span></div>
<p><a href="https://www.linkedin.com/in/kmorrowdesign/" target="_blank">Kim Morrow</a>, Head of UX at Alegeus and UX Professor at Full Sail University echoed this sentiment in what was my favorite quote of the evening:</p>
<blockquote><p>&#8220;Figma does not make a designer. Word does not make a writer. A hammer does not make a carpenter, and AI doesn&#8217;t make anybody anything.&#8221;</p></blockquote>
<p>The panel also explored how AI is blurring the lines between disciplines and turning us into generalists who must lean into tasks that would normally be outside our wheelhouse to stay competitive. Here’s the full recording if you’d like to check it out (panelists start at ~6:45):</p>
<div class="epyt-video-wrapper">
<div  id="_ytid_50256"  width="1140" height="641"  data-origwidth="1140" data-origheight="641"  data-relstop="1" data-facadesrc="https://www.youtube.com/embed/-0yw6PrC6tI?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=0&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;" class="__youtube_prefs__ epyt-facade epyt-is-override  no-lazyload" data-epautoplay="1" ><img decoding="async" data-spai-excluded="true" class="epyt-facade-poster skip-lazy" loading="lazy"  alt="YouTube player"  src="https://i.ytimg.com/vi/-0yw6PrC6tI/maxresdefault.jpg"  /><button class="epyt-facade-play" aria-label="Play"><svg data-no-lazy="1" height="100%" version="1.1" viewBox="0 0 68 48" width="100%"><path class="ytp-large-play-button-bg" d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z" fill="#f00"></path><path d="M 45,24 27,14 27,34" fill="#fff"></path></svg></button></div>
</div>
<p>&nbsp;</p>
<p>While I enjoy exploring new ways to integrate AI into my own work and leveraging agentic workflows to make software more delightful, optimism without a healthy dose of skepticism is just hype. I&#8217;m equally interested in understanding AI’s task-specific viability and whether these tools actually help us craft software that’s better for humans, or if they&#8217;re simply aiming to replace humans altogether.</p>
<p>My friend and former colleague Gregg Bernstein explored those topics last month in a lightning-rod of a post titled “<a href="https://gregg.io/the-only-winning-move">The only winning move is not to play</a>.” Gregg argues that when user researchers offload core parts of their craft to generative AI, they debase their own expertise and make themselves interchangeable with the tools marketed to replace them. It’s a thought-provoking read that wraps up with the question, “What is your red line?</p>
<blockquote><p>“My red line is trading in the parts of the job I am both an expert in and enjoy for tasks that make the job something else entirely.” &#8211; Gregg Bernstein</p></blockquote>
<p>The thread I see through both the stories of our industry panelists and Gregg&#8217;s post is that for all of us working in tech, the job is becoming <em>something else entirely</em>. It doesn’t matter if you’re a researcher, product manager, designer, or engineer &#8211; the hard-earned skills that define our professional value continue being delegated to, or at least augmented by AI.</p>
<p>Call me a masochist, but I once enjoyed and was an expert in slicing up Photoshop comps and hand-coding them into complex, table-based website layouts. Learning to design with CSS and semantic markup, especially during the dawn of the web standards movement when cross-browser support was so wildly inconsistent, wasn’t just a minor pivot. Web designers had to throw out everything they knew about translating pixels to code. In many ways, it feels like we&#8217;re in the midst of the &#8220;<a href="https://en.wikipedia.org/wiki/Browser_wars" target="_blank">Browser Wars</a>&#8221; era of AI development. Periods of technological transformation like this (and we&#8217;ve experiences many over the course of web history) are never easy. They require us to learn, experiment, and adapt. The unique skills we pick up along the way don&#8217;t disappear though. Just as my ancient table-coding knowledge still comes in handy occasionally when updating HTML email templates, our specialized skills and subject-matter expertise remain valuable as we grow. </p>
<p>As helpful as AI tools already are, they&#8217;re also as slow, incompetent, and inaccurate as they&#8217;ll ever be. The designers who stayed in the web industry through the CSS revolution weren&#8217;t the ones who clung to table layouts and spacer GIFs. They were the tinkerers who created <a href="https://csszengarden.com/" target="_blank" rel="noopener">CSS Zen Garden</a> entries, who read every <a href="https://alistapart.com/" target="_blank" rel="noopener">A List Apart</a> post, who experimented with the latest CSS developments, and carried what they knew into the next chapter. To stay relevant in the age of AI, we have to maintain a sense of wonder, continuing to push into the unknown and uncomfortable. </p>
<div class="imgleft" style="margin: 0 3em 1em 3em;"><img loading="lazy" decoding="async" src="https://jasongraphix.com/wp-content/uploads/2026/01/broken-comb.png" alt="An illustration of a comb with most of the teeth broken off at different lengths." width="1200" height="358" /><span class="small-meta"><em>A T-shaped skill set is having deep expertise in one area while maintaining broad knowledge across many domains. Being a broken comb means building deep expertise in multiple areas, creating a more versatile but specialized profile. In order for AI to be a force multiplier, we must understand the work we&#8217;re asking it to do, with an increasing level of depth.</em></span></div>
<p>I respect Gregg&#8217;s position, and think we all need to have our red lines, but I&#8217;d draw mine a little differently. His is refusing to use AI for the core research tasks that define his role. I get it, and there&#8217;s integrity in that position. I worry that holding certain tasks sacred though, puts us in the same position as the web designers who continued to build with tables or Flash until those practices became obsolete. The biggest risk isn&#8217;t in exploring these tools, it&#8217;s in refusing to at least try to test out their value. AI is blurring the lines between our disciplines whether we like it or not, requiring more from all of us and making everyone a deeper generalist. Or, as Jared Spool calls them, “<a href="https://spin.atomicobject.com/broken-comb-people/" target="_blank" rel="noopener">broken comb shaped</a>” individuals. That curiosity, and openness to experimenting with AI tools will determine whether we&#8217;re going to help shape what comes next or let the industry evolve around us.</p>
<p>My red line isn&#8217;t about the work I refuse to let AI take from my hands; It&#8217;s about refusing to let AI tools replace my judgment. It&#8217;s up to each of us to ensure quality, maintain user empathy, and apply critical thinking to the experiences we&#8217;re creating with these tools. I want to know, and will continue to explore, which tedious tasks (especially those I&#8217;m an expert in) can be sped up or eliminated so I can focus on work that requires my perspective or helps me expand my own craft. </p>
<div class="imgrightsm"><img loading="lazy" decoding="async" src="https://jasongraphix.com/wp-content/uploads/2026/01/mario-question-block.gif" alt="Animated gif of a question block from Super Mario Brothers" width="1200" height="358" /><span class="small-meta"><em>Which AI tools and prompts make you super?</em></span></div>
<p>Perhaps most importantly, I want to continue modeling curiosity and sharing what I&#8217;m learning along the way with the next generation of UX professionals, because they&#8217;re inheriting a software industry that&#8217;s already changed. So yeah, stay curious, friends. Experiment and discover where these things fail spectacularly. Figure out for yourself what AI workflows give you a power up and which ones are just wasting time and turns. Think about where your red line is and what uniquely human value you bring to the table. The UX field will continue evolving in 2026. The professionals who thrive won&#8217;t be the ones who adopt every AI tool, and they won&#8217;t be the ones who refuse to engage at all. It&#8217;ll be the individuals who tinker and continually deepen their expertise that will shape what comes next.</p>
<p>The post <a href="https://jasongraphix.com/journal/stay-curious-friends/">Stay Curious, Friends</a> appeared first on <a href="https://jasongraphix.com">Jasongraphix</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jasongraphix.com/journal/stay-curious-friends/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<friends:post-format>standard</friends:post-format>
	</item>
		<item>
		<title>Library Ladder Wall</title>
		<link>https://jasongraphix.com/journal/library-ladder-wall/</link>
					<comments>https://jasongraphix.com/journal/library-ladder-wall/#comments</comments>
		
		<dc:creator><![CDATA[Jason Beaird]]></dc:creator>
		<pubDate>Mon, 05 Jan 2026 14:08:49 +0000</pubDate>
				<category><![CDATA[Do-It-Yourself]]></category>
		<category><![CDATA[Home]]></category>
		<category><![CDATA[Living Spaces]]></category>
		<guid isPermaLink="false">https://jasongraphix.com/?p=30889</guid>

					<description><![CDATA[<p>In August, Ames and I did something we never thought we&#8217;d do &#8211; we finally bought a move-in-ready home. Since our first house renovation project&#8230;</p>
<p>The post <a href="https://jasongraphix.com/journal/library-ladder-wall/">Library Ladder Wall</a> appeared first on <a href="https://jasongraphix.com">Jasongraphix</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:1,&quot;href&quot;:&quot;https:\/\/putnamrollingladder.com&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251125222423\/https:\/\/putnamrollingladder.com\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:46:57&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-10 02:31:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-13 12:24:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-16 21:44:11&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-21 11:27:11&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-26 14:13:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-31 02:52:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-04 22:16:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-09 15:14:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-14 07:21:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-17 12:23:04&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-21 06:39:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-24 07:09:19&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-27 14:51:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 06:59:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-06 21:22:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-10 07:41:34&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-14 23:42:07&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-18 13:51:04&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-23 10:24:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-27 19:43:07&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-30 20:52:50&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-03 09:50:43&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-06 12:27:02&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-09 21:46:23&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-14 05:52:58&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-18 14:03:27&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-21 23:57:21&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-25 00:51:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-29 13:29:19&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-29 13:29:19&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:2,&quot;href&quot;:&quot;https:\/\/kitchen.planner.ikea.com\/us\/en\/designs&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251001012657\/https:\/\/kitchen.planner.ikea.com\/us\/en\/designs\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:46:59&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-10 02:31:46&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-13 12:24:36&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-16 21:44:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-21 11:27:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-26 14:13:19&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-31 02:52:51&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-04 22:16:41&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-09 15:14:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-14 07:21:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-17 12:23:08&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-21 06:39:52&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-24 07:09:31&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-27 14:51:15&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-03 06:59:24&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-06 21:22:19&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-10 07:41:37&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-14 23:42:08&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-18 13:51:03&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-23 10:24:34&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-27 19:43:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-30 20:52:56&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-03 09:50:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-06 12:27:01&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-09 21:46:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-14 05:53:04&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-18 14:03:31&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-21 23:57:42&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-25 00:51:45&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-29 13:29:23&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-29 13:29:23&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:3,&quot;href&quot;:&quot;https:\/\/www.ikea.com\/us\/en\/p\/vrena-countertop-oak-veneer-00437153&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260102062808\/https:\/\/www.ikea.com\/us\/en\/p\/vrena-countertop-oak-veneer-00437153\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:47:03&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-10 02:32:02&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-13 12:24:39&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-16 21:44:12&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-21 11:27:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-26 14:13:17&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-31 02:52:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-04 22:16:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-09 15:14:27&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-14 07:21:08&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-17 12:23:07&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-21 06:39:51&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-24 07:10:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-27 14:51:33&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 06:59:24&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-06 21:22:25&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-10 07:41:38&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-14 23:42:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-23 10:25:00&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-27 19:43:09&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-30 20:52:51&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-03 09:50:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-06 12:27:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-09 21:46:24&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-14 05:52:57&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-18 14:03:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-22 21:55:45&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-26 15:30:27&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-30 20:08:17&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-30 20:08:17&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:4,&quot;href&quot;:&quot;https:\/\/www.flooranddecor.com\/wood-butcher-block-countertops\/acacia-butcher-block-countertop-8ft.-101342350.html&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251228081303\/https:\/\/www.flooranddecor.com\/wood-butcher-block-countertops\/acacia-butcher-block-countertop-8ft.-101342350.html&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:47:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-10 02:32:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-13 12:24:40&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-16 21:44:12&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-21 11:27:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-26 14:13:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-31 02:52:50&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-04 22:16:44&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-09 15:14:24&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-02-14 07:21:11&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-17 12:23:10&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-02-21 06:39:54&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-02-24 07:10:14&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-02-27 14:51:34&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-03 06:59:25&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-06 21:22:26&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-10 07:41:39&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-14 23:10:27&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-23 10:24:52&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-27 19:43:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-30 20:52:55&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-03 09:50:46&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-06 12:27:01&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-09 21:46:27&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-14 05:52:59&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-18 14:03:35&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-22 21:55:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-26 15:30:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-30 20:08:20&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-30 20:08:20&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:5,&quot;href&quot;:&quot;https:\/\/amzn.to\/3N5Mg8b&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;https:\/\/www.amazon.com\/Howard-Products-BBB012-Cutting-Board\/dp\/B004G6X0J2?crid=30CRH7BM4TRQV&amp;dib=eyJ2IjoiMSJ9.7CRJiWa_hip1w6SBZa6-0_lftkEdXcAEDp8GNfEbjpBQudC-mdinkXTFXi-QsIhhURPNfMcDEanZQGoNsFYeAVCnqkbXMU5sNOVBBU9Je4o6Cb-wV_xFbv_YMCa1Vw3zue9xS5hheQHmWQnQY2pYSDJGGGTOBj6jk9S4_iBKc572JPIZKraRl_l3anFyncuZj6zNj97sZH8pumN1Hj5y1-eocL3GqABUf5gRbQNLcguUDD-Ker-UzSwQSEPBBjekeGSN92YLCWeJqy2b0AnRUUx8cdTUdoZHOWKJdC1gmss.XM688VriayfHrMHZcLLRc1UclBkxAZbaj2oRjqR00TM&amp;dib_tag=se&amp;keywords=howard+cutting+board+oil&amp;qid=1767566269&amp;sprefix=howard+cutting,aps,151&amp;sr=8-1&amp;linkCode=sl1&amp;tag=jasongraphix-20&amp;linkId=3f532d9eb71b945205b50f474270b031&amp;language=en_US&amp;ref_=as_li_ss_tl&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:6,&quot;href&quot;:&quot;https:\/\/www.homedepot.com\/p\/Eucatex-5-16-x-48-x-96-Natural-Oak-Decorative-Slat-Wall-Panel-0409-7007\/325588772&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20250901151455\/https:\/\/www.homedepot.com\/p\/Eucatex-5-16-x-48-x-96-Natural-Oak-Decorative-Slat-Wall-Panel-0409-7007\/325588772&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:47:15&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-01-10 02:33:21&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-01-13 12:24:47&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-01-16 21:44:09&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-01-21 11:27:13&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-01-26 14:13:14&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-01-31 02:52:50&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-02-04 22:16:40&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-02-09 15:14:25&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-02-14 07:21:07&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-02-17 12:23:09&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-02-21 06:39:50&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-02-24 07:11:15&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-02-27 14:51:37&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-03-03 06:59:23&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-03-07 23:09:59&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-03-12 15:39:27&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-03-16 04:44:31&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-03-23 10:25:10&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-03-27 19:43:09&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-03-31 20:54:44&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-05 11:05:29&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-09 12:06:09&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-14 05:53:04&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-18 14:03:29&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-22 21:55:44&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-27 05:35:00&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-30 20:08:21&quot;,&quot;http_code&quot;:403}],&quot;broken&quot;:true,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-30 20:08:21&quot;,&quot;http_code&quot;:403},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:7,&quot;href&quot;:&quot;https:\/\/amzn.to\/49ELho7&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;https:\/\/www.amazon.com\/Howard-Products-FW0016-Feed-N-Wax-Conditioner\/dp\/B001BKQYGW?crid=2G4PEE1X99CO5&amp;dib=eyJ2IjoiMSJ9.wjUnzameXfXQkKuJO1UCpXlYQixZlgRS5GUxb_21evLY1JjMmVSY4CPYy2RXEj_OWOEKqzOVoXz9epeVAhggWtKnjHHU7TH5R9s6ZbqLI7mXu7EaXliZUrtutCqGoHMKrTNvO1_kb285sb7EMtIgOlL_jKgp8TYaAI3BUgPQ_41s_ht-Uz5z6tDPLI1kwle4ifULd6LK3QY954kafkaYYC4oE_L1zmZwAXpI8VJsaoxEx-eem_Tbp_BmUXRQAL2c974bLZOYhKFm4_kiTQ7gkOthtWVFb-zqJ6_NjYUQFjs.RAWbvJJrmUiGdCOJEIxrubX85S_AKsGesqrP8lgoyUY&amp;dib_tag=se&amp;keywords=howard%2Bfeed%2Bn%2Bwax&amp;qid=1767566322&amp;sprefix=howard%2Bwax&#039;,aps,149&amp;sr=8-1&amp;th=1&amp;linkCode=sl1&amp;tag=jasongraphix-20&amp;linkId=ecb07c7f6b877832a10787f33b292d78&amp;language=en_US&amp;ref_=as_li_ss_tl&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:8,&quot;href&quot;:&quot;https:\/\/amzn.to\/4pmper2&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;https:\/\/www.amazon.com\/dp\/B0DKG6MCP2?th=1&amp;linkCode=sl1&amp;tag=jasongraphix-20&amp;linkId=58233886de70e8112e44207862c2f491&amp;language=en_US&amp;ref_=as_li_ss_tl&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;}]'></div>
<p>In August, Ames and I did something we never thought we&#8217;d do &#8211; we finally bought a move-in-ready home. Since our <a href="https://jasongraphix.com/journal/here-we-go-again/" target="_blank" rel="noopener">first house renovation project</a> in 2005, we&#8217;ve gutted kitchens, updated bathrooms, replaced fixtures, tiled, and even added on to the neglected homes we&#8217;ve purchased.</p>
<p>While our new place is amazing, there&#8217;s one DIY project we&#8217;ve been talking about since our first walk-through. The house has a large formal dining room with 12&#8242; ceilings, high windows, and a beautiful modern chandelier, making it a blank canvas of a space. Here&#8217;s the listing photo:</p>
<p><img loading="lazy" decoding="async" src="https://jasongraphix.com/wp-content/uploads/2026/01/dining-room-listing-photo.jpg" alt="Photo of a dining room with 3 high windows, a table, and a wood fish on the back wall, along with other futniture." width="1280" height="852" /></p>
<p>There&#8217;s plenty of space between the kitchen and living room for a table already, so we didn&#8217;t need a dedicated dining room. What we wanted was a warm, inviting den for reading, homework, and board games.</p>
<div class="imgleftmed"><img decoding="async" src="https://jasongraphix.com/wp-content/uploads/2026/01/decatur-library-ladder.jpg" alt="Photo of a library ladder providing access to high bookshelves in a narrow loft space." /><span class="small-meta"><em>Library ladder wall we built in <a href="https://jasongraphix.com/journal/the-pulley-house-before-and-after/" target="_blank" rel="noopener">the pulley house</a>.</em></span></div>
<p>When we saw that tall, blank wall &#8211; the one with the wooden fish in the listing photo above &#8211; we immediately thought about the built-in shelves and the rolling library ladder we installed in a loft space at our house in Decatur, Georgia (AKA, <a href="https://jasongraphix.com/journal/the-pulley-house-before-and-after/" target="_blank" rel="noopener">The Pulley House</a>). I wanted a similar rolling ladder for the den, and I knew the shelf design would hinge on the ladder rail placement. Before planning anything else, I started searching for a 10&#8242; ladder that would work with the space. All the new library ladders (and most of the used ones I could find) were very expensive, so I set up some alerts on Facebook Marketplace. I ended up finding an old <a href="https://putnamrollingladder.com/" target="_blank" rel="noopener">Putnam</a> rolling wood ladder for $100, including the rail. It made my Xennial heart happy that the ladder had a manufacturer date stamp of 1980 and came from the stockroom of a store in the old Lake Square Mall in Leesburg.</p>
<p>With a ladder acquired, Ames and I started thinking about the design of the built-in. We wanted some practical, hidden storage, so we decided to go with IKEA kitchen base cabinets at the bottom. After experimenting a bit in the <a href="https://kitchen.planner.ikea.com/us/en/designs/">kitchen planner tool</a>, we found that a set of 24&#8243; wide cabinets flanked by 30&#8243; drawer units was the best use of the room width.</p>
<p><img loading="lazy" decoding="async" src="https://jasongraphix.com/wp-content/uploads/2026/01/base-cabinets.png" alt="Screenshot from the IKEA kitchen planner tool showing the base cabinets." width="2508" height="806" /></p>
<div class="imgrightsm"><img decoding="async" src="https://jasongraphix.com/wp-content/uploads/2026/01/acacia-wood.jpeg" alt="Image of a wood countertop." /><span class="small-meta"><em>We liked the variety of tones in the Acacia butcher block.</em></span></div>
<p>For the countertops, we considered engineered quartz to match the kitchen, but thought butcher block would look better in the room when paired with the wooden ladder. We first looked at IKEA&#8217;s <a href="https://www.ikea.com/us/en/p/vrena-countertop-oak-veneer-00437153/" target="_blank" rel="noopener">Vrena countertop</a>, but learned that all of IKEA&#8217;s butcher block countertops are now just veneer over MDF. For the exact same price as the Vrena, we chose a solid-wood <a href="https://www.flooranddecor.com/wood-butcher-block-countertops/acacia-butcher-block-countertop-8ft.-101342350.html" target="_blank" rel="noopener">Acacia Butcher Block</a> from Floor &amp; Decor.</p>
<p>The next step was the bookshelves. We needed at least 7&#8242; of height to give us something to attach the ladder rail brackets to. Initially, we planned to fill the wall with shelving, but didn&#8217;t want to build them from scratch, and the width of the options we found left a lot of wasted space on either side. We simplified the plan to use just 2 columns of bookshelves, leaving space in the middle for a small TV. Two sets of the standard, 31.5&#8243; wide Billy bookcases with a height extension ended up working great.</p>
<p><img loading="lazy" decoding="async" src="https://jasongraphix.com/wp-content/uploads/2026/01/billy-bookcases.png" alt="Screenshot from IKEA's Billy Planner showing 2 sets of Billy bookcases." width="1868" height="964" /></p>
<p>That was as far as we planned before deciding to take on all of this over our winter &#8220;break&#8221; and pulling the trigger on both the Floor &amp; Decor and IKEA orders. I picked up the countertops myself, and we had the IKEA order delivered for $59. IKEA&#8217;s delivery options have drastically improved over the last couple of years, and for that price, it was a scheduled delivery to the room. Having hauled home many kitchen cabinet orders from IKEA over the years, that was sixty bucks well-spent.</p>
<div class="jgxrow" style="clear: both;">
<div class="column"><img decoding="async" src="https://jasongraphix.com/wp-content/uploads/2026/01/build1.jpg" alt="Photo of Amy building a base cabinet." /></div>
<div class="column"><img decoding="async" src="https://jasongraphix.com/wp-content/uploads/2026/01/build2.jpg" alt="Photo of the wall with the all of the base cabinets in place and the butcher block countertop in place." /></div>
</div>
<p class="small-meta alignc">Amy assembling a base cabinet and the boxes in place with butcher block installed.</p>
<p>We started assembling cabinets at the start of Christmas week and had the entire base unit (including drawer hardware and doors) finished before Santa arrived. Even though we don&#8217;t plan to prep food on the countertop, we decided to keep it food-safe and finish it with <a href="https://amzn.to/3N5Mg8b" target="_blank" rel="noopener">mineral oil</a>, which really brought out the wood&#8217;s vibrant colors.</p>
<div class="jgxrow" style="clear: both;">
<div class="column"><img decoding="async" src="https://jasongraphix.com/wp-content/uploads/2026/01/build3.jpg" alt="Photo of Billy bookcases on top of the base cabinets." /></div>
<div class="column"><img decoding="async" src="https://jasongraphix.com/wp-content/uploads/2026/01/build4.jpg" alt="Photo of me nailing trim pieces onto the front of the bookcases." /></div>
</div>
<p class="small-meta alignc">Upside Down Billy bookcases, and me nailing trim pieces onto the cabinet fronts.</p>
<p>A couple of days after Christmas, we got started again on the bookcases, and Amy discovered a genius hack &#8211; flipping the Billys upside down. We didn&#8217;t like the 3+ inches of footer on top of the countertop, so we assembled the bookcases with top extension as usual, but turned each unit over. To make it look more built-in, we installed strips of 1&#215;2 trim over each vertical beam, and then a 4&#8243; strip of trim across the top. Those covered up the joint where the cabinets butted together, giving a consistent width across the cabinet fronts.</p>
<p>To make the ~4&#8242; space between the shelves where the TV would be mounted a focal point and to hide the TV power cord, we wanted some kind of textured panel. Amy found a 4&#8242; × 8&#8242; <a href="https://www.homedepot.com/p/Eucatex-5-16-x-48-x-96-Natural-Oak-Decorative-Slat-Wall-Panel-0409-7007/325588772" target="_blank" rel="noopener">oak slat wall panel</a> from Home Depot that worked perfectly. We used 4 of the 1×2 strips attached to the wall studs as furring strips to support the panel. Here it is with the trimmed panel dropped in for a test fit.</p>
<p><img loading="lazy" decoding="async" src="https://jasongraphix.com/wp-content/uploads/2026/01/panel-test.jpg" alt="" width="2500" height="1875" /></p>
<p>Above the panel, we installed a decorative shelf to provide a continuous top for the built-in. That also offered a platform to nail the header trim against across the top. While I was working out the trim details, Amy was prepping the ladder. It was a bit of a mess, with 45 years of stockroom grease and grime. After a good scrub with hot water and Dawn, she applied a coat of <a href="https://amzn.to/49ELho7" target="_blank" rel="noopener">Howard Feed-N-Wax</a>. If you have any old wooden furniture, this stuff works magic. We had a partial bottle that we&#8217;d used on a coffee table a couple of months ago, and wow, did it make that old wooden ladder look like new.</p>
<p>Sanding and polishing the tarnished, rusty metal rails made them look great, too! I had a couple ~8&#8242; sections of rail from the old mall and a 14.75&#8242; wide wall to cover, so I trimmed the rails to equal widths and hammered a 3/4&#8243; hardwood dowel into the rail to join the two sections at the center. Getting a rail exactly the width of the room into the room and attaching it to the wall was a logistical challenge. First, I predrilled the top screw holes in each of the 4 mounting brackets into the cabinets. Then, with the brackets and detached ladder rollers hung on the rail, Amy and I carefully parallel parked it through the door and into the den with Mavrie helping out as a spotter. Finally, Amy used a broom to lift one side into position, while I screwed in the other from our folding ladder. It wasn&#8217;t an elegant process, but we all let out a cheer once it was safely attached to the wall.</p>
<div class="jgxrow" style="clear: both;">
<div class="column"><img decoding="async" src="https://jasongraphix.com/wp-content/uploads/2026/01/addy-ladder.jpg" alt="Photo of our daughter Adelyn standing on the installed ladder." /></div>
<div class="column"><img decoding="async" src="https://jasongraphix.com/wp-content/uploads/2026/01/top-lights.jpg" alt="Photo of the room with the top GE Cync lights turned on." /></div>
</div>
<p class="small-meta alignc">Our fearless climber, Adelyn, testing out the ladder and the den at night with top light strip on.</p>
<p>Once the ladder was attached to the track rollers, I used it instead of my folding ladder to finish the touch-up painting. We also securely attached the mount and TV to the wall and added a finishing touch to the top &#8211; a 32&#8242; <a href="https://amzn.to/4pmper2" target="_blank" rel="noopener">GE Cync Dynamic Effects Smart Light Strip</a>, which looped perfectly around the header of the unit to add a colorful glow to the white room in the evenings. We still need to add more of our books and mementos to the shelves and figure out where things go in the base cabinets, but we&#8217;re really happy with how it turned out.</p>
<p><img loading="lazy" decoding="async" src="https://jasongraphix.com/wp-content/uploads/2026/01/library-ladder-wall-complete.jpg" alt="Photo of the completed library ladder wall." width="2500" height="2000" /></p>
<p>All in, our winter break project came in at just over $3k, with most of that going to the base cabinets. Like I did with our <a href="https://jasongraphix.com/journal/office-shed-budget-breakdown/" target="_blank" rel="noopener">office shed</a> from 2020, I put together a rough budget breakdown for our Library Ladder Wall project. I didn&#8217;t include the TV and wall mount which we had and I made a bunch of trips to Ace Hardware and Home Depot over the course of the project for minor things like screws, caulk, and a quart of paint that I&#8217;m missing here, but this most of it.</p>
<table class="grid">
<tbody>
<tr>
<th class="b">Item</th>
<th class="b alignr">Cost</th>
</tr>
<tr>
<td>Vintage 1980 Putnam rolling library ladder</td>
<td class="alignr">$100</td>
</tr>
<tr>
<td><a href="https://kitchen.planner.ikea.com/us/en/planner/5D29E060-847D-4598-A36C-73FBF3AF656B/?ref=share " target="_blank" rel="noopener">IKEA base cabinets</a></td>
<td class="alignr">$2,079</td>
</tr>
<tr>
<td><a href="https://www.flooranddecor.com/wood-butcher-block-countertops/acacia-butcher-block-countertop-8ft.-101342350.html" target="_blank" rel="noopener">Acacia Butcher Block Countertop 8ft, 2 @ $199/ea</a></td>
<td class="alignr">$400</td>
</tr>
<tr>
<td><a href="https://www.ikea.com/addon-app/storageone/billy/web/latest/us/en/?storeId=145&amp;vpcSource=clipboard#/vpc/YHQ6B4 " target="_blank" rel="noopener">IKEA Billy bookcases with height extensions</a></td>
<td class="alignr">$436</td>
</tr>
<tr>
<td><a href="https://www.homedepot.com/pep/Eucatex-5-16-x-48-x-96-Natural-Oak-Decorative-Slat-Wall-Panel-0409-7007/325588772 " target="_blank" rel="noopener">4&#8242; x 8&#8242; Natural Oak Decorative Slat Wall Panel</a></td>
<td class="alignr">$50</td>
</tr>
<tr>
<td><a href="https://www.homedepot.com/p/Trim-Board-Primed-Finger-Joint-Common-1-in-x-2-in-x-8-ft-Actual-719-in-x-1-5-in-x-96-in-347154/202085978 " target="_blank" rel="noopener">1&#8243;x2&#8243;x8&#8242; Trim Boards (vertical trim) 12 @ $4.93/ea</a></td>
<td class="alignr">$59</td>
</tr>
<tr>
<td><a href="https://www.homedepot.com/p/Trim-Board-Primed-Finger-Joint-Common-1-in-x-4-in-x-12-ft-Actual-719-in-x-3-5-in-x-144-in-590599/202105909 " target="_blank" rel="noopener">1&#8243;x4&#8243;x12&#8242; Trim Boards (top trim) 2 @ $14.78</a></td>
<td class="alignr">$30</td>
</tr>
<tr>
<td><a href="https://www.homedepot.com/p/Everbilt-12-in-W-x-72-in-D-White-Laminate-Decorative-Wall-Shelf-6725015HDS/328395715 " target="_blank" rel="noopener">12&#215;72 Decorative Shelf (top filler shelf)</a></td>
<td class="alignr">$22</td>
</tr>
<tr>
<td><a href="https://amzn.to/3N5Mg8b " target="_blank" rel="noopener">Howard Cutting Board Oil<br />
</a></td>
<td class="alignr">$10</td>
</tr>
<tr>
<td><a href="https://amzn.to/49ELho7" target="_blank" rel="noopener">Howard Feed-N-Wax</a></td>
<td class="alignr">$11</td>
</tr>
<tr>
<td><a href="https://amzn.to/4pmper2 " target="_blank" rel="noopener">GE Cync Dynamic Effects Smart Light Strip<br />
</a></td>
<td class="alignr">$19</td>
</tr>
<tr>
<td class="b alignr">Total</td>
<td class="b alignr" style="white-space:nowrap;">$3,216</td>
</tr>
</tbody>
</table>
<p>The post <a href="https://jasongraphix.com/journal/library-ladder-wall/">Library Ladder Wall</a> appeared first on <a href="https://jasongraphix.com">Jasongraphix</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jasongraphix.com/journal/library-ladder-wall/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<friends:post-format>standard</friends:post-format>
	</item>
		<item>
		<title>TeamDesign.Team Social Posts</title>
		<link>https://jasongraphix.com/journal/teamdesign-team-social-posts/</link>
					<comments>https://jasongraphix.com/journal/teamdesign-team-social-posts/#respond</comments>
		
		<dc:creator><![CDATA[Jason Beaird]]></dc:creator>
		<pubDate>Fri, 01 Aug 2025 00:21:42 +0000</pubDate>
				<category><![CDATA[Code]]></category>
		<guid isPermaLink="false">https://jasongraphix.com/?p=16050</guid>

					<description><![CDATA[<p>I knew as soon as I registered the teamdesign.team domain and started building the site that I wanted to automatically share new posts across several&#8230;</p>
<p>The post <a href="https://jasongraphix.com/journal/teamdesign-team-social-posts/">TeamDesign.Team Social Posts</a> appeared first on <a href="https://jasongraphix.com">Jasongraphix</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:9,&quot;href&quot;:&quot;https:\/\/teamdesign.team&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251110131547\/https:\/\/teamdesign.team\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:47:54&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-09 23:42:59&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-14 04:47:51&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-17 18:27:06&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-21 11:23:59&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-01-25 06:07:14&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-28 10:09:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-01 01:31:16&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-04 05:56:16&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-07 06:12:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-11 03:10:26&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-14 17:58:54&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-02-18 11:17:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-22 10:43:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-25 16:43:01&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-01 05:09:53&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-05 14:35:16&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-10 09:50:06&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-15 05:39:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-19 15:09:39&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-22 17:34:18&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-27 10:15:25&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-31 18:26:05&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-05 08:35:10&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-08 12:37:02&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-11 20:38:33&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-15 10:10:00&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-18 17:10:41&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-22 00:08:34&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-25 00:49:05&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-28 13:03:46&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-01 18:33:40&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-01 18:33:40&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:10,&quot;href&quot;:&quot;https:\/\/www.linkedin.com\/company\/team-design-team\/posts&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;https:\/\/www.linkedin.com\/uas\/login?session_redirect=https%3A%2F%2Fwww.linkedin.com%2Fcompany%2Fteam-design-team%2Fposts&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:11,&quot;href&quot;:&quot;https:\/\/www.threads.com\/@teamdesign.team&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260106154601\/https:\/\/www.threads.com\/@teamdesign.team&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 23:07:57&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-11 07:55:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-24 08:57:34&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-03 09:25:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-08 17:26:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-13 12:41:14&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-17 06:46:54&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-20 21:10:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-25 16:43:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 04:03:20&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-08 00:14:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-11 23:16:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-15 05:39:09&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-19 15:09:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-29 17:42:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-03 08:03:14&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-06 12:40:50&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-10 05:44:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-16 05:03:36&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-21 13:06:02&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-25 00:49:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-02 06:43:42&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:43:42&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:12,&quot;href&quot;:&quot;https:\/\/bsky.app\/profile\/teamdesign.team&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:13,&quot;href&quot;:&quot;https:\/\/mastodon.design\/@teamdesignteam&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20241213063823\/https:\/\/mastodon.design\/@teamdesignteam&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:48:02&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-11 07:55:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-24 08:57:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-03 19:19:03&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-08 17:26:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-13 12:41:11&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-17 06:46:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-20 21:10:06&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-25 16:43:14&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 04:03:25&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-08 00:14:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-12 19:27:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-17 15:43:54&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-29 21:33:52&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-03 08:03:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-06 12:40:51&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-10 05:44:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-16 05:03:41&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-21 13:06:09&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-25 00:49:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-02 06:43:43&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:43:43&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:14,&quot;href&quot;:&quot;https:\/\/www.wprssaggregator.com&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260101163529\/https:\/\/www.wprssaggregator.com\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:48:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-11 07:55:33&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-24 08:41:40&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-03 19:19:02&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-08 17:26:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-13 12:41:09&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-17 06:46:54&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-20 21:10:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-25 16:43:06&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 04:03:24&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-08 00:14:33&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-11 23:16:50&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-15 05:39:14&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-19 15:09:38&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-29 21:33:51&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-03 08:03:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-06 12:40:51&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-10 05:44:39&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-16 05:03:38&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-21 13:06:03&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-25 00:49:07&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-02 06:43:48&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:43:48&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:15,&quot;href&quot;:&quot;https:\/\/docs.joinmastodon.org\/api\/oauth-tokens&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251025192801\/https:\/\/docs.joinmastodon.org\/api\/oauth-tokens\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:48:06&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-12 20:40:02&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-03 19:19:09&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-08 17:26:15&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-13 12:41:09&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-17 06:46:50&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-20 21:10:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-25 16:43:05&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-03 04:03:24&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-08 00:14:36&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-11 23:16:52&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-15 05:39:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-20 01:34:38&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-31 21:32:19&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-05 08:34:59&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-08 14:37:32&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-16 05:03:39&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-25 00:49:15&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-02 06:43:50&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:43:50&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:16,&quot;href&quot;:&quot;https:\/\/urlmeta.org&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20250420213856\/https:\/\/urlmeta.org\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:48:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-12 20:40:04&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-03 19:19:03&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-08 17:26:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-13 12:41:14&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-17 06:46:57&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-20 21:10:11&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-25 16:43:09&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-03 04:03:27&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-08 00:14:33&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-11 23:16:45&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-15 05:39:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-20 01:34:34&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-31 21:32:20&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-05 17:53:10&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-09 05:56:39&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-16 12:40:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-26 14:16:59&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-02 06:43:51&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:43:51&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:17,&quot;href&quot;:&quot;https:\/\/www.unshape.app\/bluesky-bot&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251120031727\/https:\/\/www.unshape.app\/bluesky-bot\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:48:09&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-12 20:40:08&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-03 19:19:10&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-08 17:26:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-13 12:41:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-17 06:46:59&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-20 21:10:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-25 16:43:09&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-03 04:03:29&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-08 00:14:35&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-11 23:16:49&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-15 05:39:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-20 01:34:41&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-31 21:32:20&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-05 08:35:04&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-08 14:37:33&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-16 12:40:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-26 14:17:04&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-02 06:43:51&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:43:51&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:18,&quot;href&quot;:&quot;https:\/\/en.wikipedia.org\/wiki\/Infinite_monkey_theorem&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251228135911\/https:\/\/en.wikipedia.org\/wiki\/Infinite_monkey_theorem&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:48:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-12 20:40:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-03 19:19:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-08 17:26:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-13 12:41:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-17 06:46:54&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-20 21:10:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-25 16:43:08&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-03-03 04:03:29&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-08 00:14:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-11 23:16:50&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-15 05:39:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-20 01:34:38&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-31 21:32:19&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-05 08:35:02&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-08 14:37:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-16 12:40:11&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-26 14:17:04&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-02 06:43:53&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:43:53&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:19,&quot;href&quot;:&quot;https:\/\/developers.facebook.com\/docs\/development\/create-an-app\/threads-use-case&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251209223043\/https:\/\/developers.facebook.com\/docs\/development\/create-an-app\/threads-use-case\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:48:12&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-01-12 20:40:11&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-02-03 19:19:13&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-02-08 17:26:20&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-02-13 12:41:21&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-02-17 06:46:49&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-02-20 21:10:13&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-02-25 16:43:10&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-03-03 04:03:28&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-03-08 00:14:33&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-03-11 23:16:53&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-03-15 05:39:17&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-03-20 01:34:38&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-03-31 21:32:23&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-04-05 08:34:55&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-04-08 14:37:31&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-04-16 12:40:10&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-04-26 14:17:04&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-05-02 06:43:53&quot;,&quot;http_code&quot;:400}],&quot;broken&quot;:true,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:43:53&quot;,&quot;http_code&quot;:400},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:20,&quot;href&quot;:&quot;https:\/\/developers.facebook.com\/docs\/threads\/threads-profiles&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251209104543\/https:\/\/developers.facebook.com\/docs\/threads\/threads-profiles&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:48:14&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-01-12 20:40:07&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-02-03 19:19:14&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-02-08 17:26:18&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-02-13 12:41:23&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-02-17 06:46:49&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-02-20 21:10:10&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-02-25 16:43:08&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-03-03 04:03:30&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-03-08 00:14:36&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-03-11 23:16:46&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-03-15 05:39:19&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-03-20 01:34:40&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-03-31 21:32:23&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-04-05 08:35:07&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-04-08 14:37:35&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-04-16 12:40:13&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-04-26 14:17:07&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-05-02 06:43:52&quot;,&quot;http_code&quot;:400}],&quot;broken&quot;:true,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:43:52&quot;,&quot;http_code&quot;:400},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:21,&quot;href&quot;:&quot;https:\/\/developers.facebook.com\/docs\/threads\/posts&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251218083117\/https:\/\/developers.facebook.com\/docs\/threads\/posts\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:48:14&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-01-12 20:40:06&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-02-03 19:19:14&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-02-08 17:26:19&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-02-13 12:41:19&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-02-17 06:46:52&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-02-20 21:10:13&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-02-25 16:43:05&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-03-03 04:03:27&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-03-08 00:14:37&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-03-12 19:27:29&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-03-17 15:43:54&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-03-31 21:32:23&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-04-05 08:34:56&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-04-08 14:37:34&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-04-16 12:40:12&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-04-26 14:17:06&quot;,&quot;http_code&quot;:400},{&quot;date&quot;:&quot;2026-05-02 06:43:54&quot;,&quot;http_code&quot;:400}],&quot;broken&quot;:true,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-02 06:43:54&quot;,&quot;http_code&quot;:400},&quot;process&quot;:&quot;done&quot;}]'></div>
<p>I knew as soon as I registered the <a href="https://teamdesign.team">teamdesign.team</a> domain and started building the site that I wanted to automatically share new posts across several social channels. Currently, new design team stories get cross-posted to <a href="https://www.linkedin.com/company/team-design-team/posts/" target="_blank">LinkedIn</a>, <a href="https://www.threads.com/@teamdesign.team" target="_blank">Threads</a>, <a href="https://bsky.app/profile/teamdesign.team" target="_blank">Bluesky</a>, and <a href="https://mastodon.design/@teamdesignteam" target="_blank">Mastodon</a>.</p>
<p>In case anyone is interested in automating posts to one or more of those channels, I thought I&#8217;d share how I set that up. Thanks to <a href="https://www.wprssaggregator.com/" target="_blank">WP RSS Aggregator</a>, I was able to set up a custom RSS feed to use as the source. From there, I ended up creating a 10-step Zapier Zap to handle the posting. It&#8217;s not perfect, but it works. Here&#8217;s the breakdown of each step. (Note: Some of these steps require a Pro Zapier plan.)</p>
<div class="imgrightmed"><img loading="lazy" decoding="async" src="https://jasongraphix.com/wp-content/uploads/2025/07/zapier-rss-step.png" alt="Screenshot of the RSS step in Zapier" width="828" height="951"/><span class="small-meta"><em>RSS by Zapier step settings</em></span></div>
<h2>1. New Item in Feed</h2>
<blockquote class="mt0"><p>RSS by Zapier</p></blockquote>
<p>URL: https://teamdesign.team/feed/teams/<br />
What Triggers a New Feed Item?: Different Guid/URL </p>
<h2>2. Get current Date/Time</h2>
<blockquote class="mt0"><p>Formatter by Zapier</p></blockquote>
<p>Action event: Date / Time<br />
Transform: Add/Subtract Time<br />
Input: Current time<br />
Express: -2 days<br />
To Format: MM/DD/YYYY</p>
<h2>3. Ensure recency</h2>
<blockquote class="mt0"><p>Filter by Zapier</p></blockquote>
<p>Only continue if Published Date is after the step 2 output date. I did this to prevent changes to the feed posting a bunch of older posts at once or updates to older posts on the external sites from triggering a new social post.</p>
<h2>4. Post to Mastodon</h2>
<blockquote class="mt0"><p>Webhooks by Zapier</p></blockquote>
<p>To post to Mastodon, you have to set up an <a href="https://docs.joinmastodon.org/api/oauth-tokens/" target="_blank">app token</a>. Go to settings > development in your account and create a new application. Be sure to check the box for <code>write:statuses</code>.</p>
<p>URL: https://mastodon.design/api/v1/statuses?access_token=APPTOKEN<br />
Payload Type: Form<br />
<strong>Data:</strong><br />
Status: “New Post from [1. Raw Source Title]: [1. Link]﻿”</p>
<h2>5. Get Link Metadata</h2>
<blockquote class="mt0"><p>Webhooks by Zapier</p></blockquote>
<p>LinkedIn requires an image, title, and description for attached link previews, so I created a free account on <a href="https://urlmeta.org" target="_blank">urlmeta.org</a> to fetch the opengraph data for each blog post URL.</p>
<p>Method: GET<br />
URL: https://api.urlmeta.org/meta?url=[1. Link]﻿<br />
Headers: Authorization: Basic URLMETAKEY</p>
<h2>6. Post to LinkedIn</h2>
<blockquote class="mt0"><p>LinkedIn &#8211; Create Company Update</p></blockquote>
<p>With the attached link preview metadata, I had all the values I needed for Zapier&#8217;s LinkedIn Create Company Update action.</p>
<p>Update content: “New Post from [1. Raw Source Title]: [1. Link]﻿”<br />
Preview: [1. Link]﻿<br />
Preview &#8211; Thumbnail Image: [5. Article thumbnail URL]<br />
Preview &#8211; Title: [5. Article title]<br />
Preview &#8211; Description: [5. Article summary]</p>
<div class="imgrightmed"><img loading="lazy" decoding="async" src="https://jasongraphix.com/wp-content/uploads/2025/07/zapier-bsky.png" alt="Screenshot of the bluesky settings for create post in Zapier" width="832" height="1558" /><span class="small-meta"><em>Zapier settings for creating a post on Bluesky.</em></span></div>
<h2>7. Format Image Preview URL for Bluesky</h2>
<blockquote class="mt0"><p>Formatter by Zapier</p></blockquote>
<p>Bluesky limits image uploads to 1MB, so I changed the query string value from urlmeta to get a smaller image. Even at 800px, I still occasionally get a notification from Zapier that a post didn&#8217;t go through because the image was too large. </p>
<p>Action Event: Text<br />
Input: [5. Article thumbnail URL]<br />
Find: &#8220;resize:fit:1200&#8221;<br />
Replace: &#8220;resize:fit:800&#8221;</p>
<h2>8. Post to Bluesky</h2>
<blockquote class="mt0"><p>Bluesky &#8211; Create Post</p></blockquote>
<p>When I first added Bluesky posting, there was no native Zapier/Bluesky connection. There was a 3rd party integration from <a href="https://www.unshape.app/bluesky-bot/" target="_blank">Unshape</a>, but they charged $6/mo. To avoid that fee, I half-vibe-coded a Code by Zapier step. I&#8217;m so glad they built an integration. Now, if only Threads would do the same&#8230;</p>
<p>Text: “New Post from [1. Raw Source Title]: [1. Link]﻿”<br />
Reply to: False<br />
Embed Type: External Link<br />
URL: [1. Link]﻿<br />
Title: [5. Article title]<br />
Description: [5. Article summary]<br />
Thumbnail URL: [7. Output URL]</p>
<h2>9. Create Threads Container</h2>
<blockquote class="mt0"><p>Code by Zapier</p></blockquote>
<p>The code for these last two steps are a bit messy, but it <a href="https://en.wikipedia.org/wiki/Infinite_monkey_theorem" target="_blank">could&#8217;ve been worse</a> if I didn&#8217;t use AI. To post to Threads, you&#8217;ll have to <a href="https://developers.facebook.com/docs/development/create-an-app/threads-use-case" target="_blank">create a Meta App</a> that&#8217;s connected to the Threads profile you want to post to. Once you have that set up, you only need 2 strings: a Threads token and your <a href="https://developers.facebook.com/docs/threads/threads-profiles/" target="_blank">Threads user id</a>.</p>
<p>Be sure when you set up the token that you exchange it for a <a href="thttps://developers.facebook.com/docs/threads/get-started/long-lived-tokens" target="_blank">long-lived access token</a>. The initial token you get back is only good for an hour. </p>
<p>This script creates the post, but it won&#8217;t be live yet. Threads <a href="https://developers.facebook.com/docs/threads/posts/" target="_blank">returns a container ID</a> for the post in the success response that we&#8217;ll use to publish in the final step. </p>
<p>Action Event: Run Javascript<br />
<strong>Input Data:</strong><br />
message: &#8220;New Post from [1. Raw Source Title]: [1. Link]﻿&#8221;<br />
linkAttachment: [5. Meta Site Canonical]<br />
accessToken: THREADSTOKEN﻿﻿<br />
userID: THEADSID</p>
<p><strong>Code:</strong></p>
<pre class="brush: jscript; title: ; notranslate">
const accessToken = inputData.accessToken;
const message = inputData.message; 
const linkAttachment = inputData.linkAttachment; 
const threadsUserID = inputData.userID;
const url = `https://graph.threads.net/v1.0/${threadsUserID}/threads`;

const headers = {
  &#039;Authorization&#039;: `Bearer ${accessToken}`,
  &#039;Content-Type&#039;: &#039;application/json&#039;
};

const postBody = {
  text: message,
  link_attachment: linkAttachment,
  media_type: &#039;TEXT&#039;,
};

try {
  const response = await fetch(url, {
    method: &#039;POST&#039;,
    headers: headers,
    body: JSON.stringify(postBody)
  });

  const responseBody = await response.json();

  if (!response.ok) {
    throw new Error(`Error: ${responseBody.error.message}`);
  }

  // Success response
  return {
    success: true,
    message: &#039;Post created successfully&#039;,
    postId: responseBody.id,
    postDetails: responseBody
  };
} catch (error) {
  return {
    success: false,
    message: `Failed to create post: ${error.message}`,
  };
}
</pre>
<h2>10. Post to Threads</h2>
<blockquote class="mt0"><p>Code by Zapier</p></blockquote>
<p>Last step! With the container ID, we use the user ID and the token again to publish to Threads.</p>
<p>Action Event: Run Javascript<br />
<strong>Input Data:</strong><br />
containerID: [9. Post Id]<br />
userID: THEADSID<br />
accessToken: THREADSTOKEN﻿﻿<br />
<strong>Code:</strong></p>
<pre class="brush: jscript; title: ; notranslate">
const MEDIA_CONTAINER_ID = inputData.containerID;
const THREADS_USER_ID = inputData.userID;
const ACCESS_TOKEN = inputData.accessToken;

// Threads API endpoint for publishing a post
const API_ENDPOINT = `https://graph.threads.net/v1.0/${THREADS_USER_ID}/threads_publish`;

// Function to publish a post
const publishThreadPost = async (userId, creationId, accessToken) =&gt; {
  try {
    const response = await fetch(`${API_ENDPOINT}?creation_id=${creationId}&amp;access_token=${accessToken}`, {
      method: &#039;POST&#039;,
      headers: {
        &#039;Content-Type&#039;: &#039;application/json&#039;, // Optional, can be omitted for some APIs
      },
    });

    if (!response.ok) {
      const errorDetails = await response.json();
      throw new Error(`Error: ${response.status} - ${errorDetails.message}`);
    }

    const result = await response.json();
    return result;
  } catch (error) {
    console.error(&#039;Failed to publish post on Threads:&#039;, error.message);
    return {
      error: error.message
    };
  }
};

// Execute the function
return publishThreadPost(THREADS_USER_ID, MEDIA_CONTAINER_ID, ACCESS_TOKEN).then(result =&gt; result);
</pre>
<p>The post <a href="https://jasongraphix.com/journal/teamdesign-team-social-posts/">TeamDesign.Team Social Posts</a> appeared first on <a href="https://jasongraphix.com">Jasongraphix</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jasongraphix.com/journal/teamdesign-team-social-posts/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<friends:post-format>standard</friends:post-format>
	</item>
		<item>
		<title>Lumon Board Speaker</title>
		<link>https://jasongraphix.com/journal/lumon-board-speaker/</link>
		
		<dc:creator><![CDATA[Jason Beaird]]></dc:creator>
		<pubDate>Mon, 31 Mar 2025 13:11:10 +0000</pubDate>
				<category><![CDATA[3D Printing]]></category>
		<category><![CDATA[Lumon]]></category>
		<category><![CDATA[Severance]]></category>
		<guid isPermaLink="false">https://jasongraphix.com/?p=15411</guid>

					<description><![CDATA[<p>I really enjoyed the second season of Severance, so when I saw that someone created a printable 3D model of the board speaker from the show, I couldn’t resist making one...</p>
<p>The post <a href="https://jasongraphix.com/journal/lumon-board-speaker/">Lumon Board Speaker</a> appeared first on <a href="https://jasongraphix.com">Jasongraphix</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:22,&quot;href&quot;:&quot;https:\/\/www.printables.com\/model\/1165836-severance-lumon-industries-speaker&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20250720095258\/https:\/\/www.printables.com\/model\/1165836-severance-lumon-industries-speaker&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:48:17&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-10 23:35:53&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-16 15:28:29&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-20 06:17:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-25 04:12:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-30 20:27:06&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-03 09:25:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-07 21:53:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-11 11:36:11&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-14 12:57:17&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-18 17:25:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-22 14:52:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-25 21:19:51&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-01 16:50:52&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-04 23:08:52&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-08 03:30:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-11 09:34:50&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-14 14:19:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-17 19:32:40&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-20 23:44:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-24 05:28:40&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-27 10:10:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-30 14:04:40&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-02 20:01:40&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-06 01:52:39&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-09 07:05:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-12 12:03:41&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-15 17:58:49&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-18 22:20:41&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-22 03:07:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-25 08:01:06&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-29 01:59:35&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-29 01:59:35&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]'></div>
<div class="imgrightsm"><img decoding="async" src="https://jasongraphix.com/wp-content/uploads/2025/03/lumon-board-printables.jpg" alt="Photo of Poptrot's Lumon Board Speaker model from Printables.com" /><span class="small-meta"><em>Model image from <a href="https://www.printables.com/model/1165836-severance-lumon-industries-speaker" target="_blank">poptrot&#8217;s Lumon Board Speaker 3D model</a> from Printables.com</em></span></div>
<p>I <em>really</em> enjoyed the second season of Severance, so when I saw that someone created a <a href="https://www.printables.com/model/1165836-severance-lumon-industries-speaker" target="_blank">printable 3D model</a> of the board speaker from the show, I couldn&#8217;t resist making one, but had no idea what I would use it for.</p>
<div class="imgleftsm"><img decoding="async" src="https://jasongraphix.com/wp-content/uploads/2025/03/alexa-routine.png" alt="Screenshot of Alexa routine, showing the start of the prompt details." /><span class="small-meta"><em>Screenshot of Alexa routine, showing the start of the prompt details.</em></span></div>
<p>It wasn&#8217;t until I printed it out, that I realized the size would make it a perfect housing for my 1st-gen Amazon Echo Dot. I simply drilled a hole in the back just big enough for the speaker&#8217;s USB cord and mounted it inside. I took things a step further by creating an Alexa routine that starts with the prompt, “Alexa, I request an audience with the board.”</p>
<p>Once I had my Echo Dot in the board speaker enclosure and a silly Alexa routine set up, I decided to make a fun little video to share on Bluesky, Mastodon, and Threads. Now, back to finishing Cold Harbor.</p>
<div style="clear:both;">
<div class="epyt-video-wrapper">
<div  id="_ytid_79687"  width="1140" height="641"  data-origwidth="1140" data-origheight="641"  data-relstop="1" data-facadesrc="https://www.youtube.com/embed/W6CqBYf7Jvw?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=0&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;" class="__youtube_prefs__ epyt-facade epyt-is-override  no-lazyload" data-epautoplay="1" ><img decoding="async" data-spai-excluded="true" class="epyt-facade-poster skip-lazy" loading="lazy"  alt="YouTube player"  src="https://i.ytimg.com/vi/W6CqBYf7Jvw/maxresdefault.jpg"  /><button class="epyt-facade-play" aria-label="Play"><svg data-no-lazy="1" height="100%" version="1.1" viewBox="0 0 68 48" width="100%"><path class="ytp-large-play-button-bg" d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z" fill="#f00"></path><path d="M 45,24 27,14 27,34" fill="#fff"></path></svg></button></div>
</div>
</div>
<p>The post <a href="https://jasongraphix.com/journal/lumon-board-speaker/">Lumon Board Speaker</a> appeared first on <a href="https://jasongraphix.com">Jasongraphix</a>.</p>
]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>
	</item>
		<item>
		<title>My 2024 Running Review</title>
		<link>https://jasongraphix.com/journal/my-2024-running-review/</link>
		
		<dc:creator><![CDATA[Jason Beaird]]></dc:creator>
		<pubDate>Sat, 07 Dec 2024 22:11:33 +0000</pubDate>
				<category><![CDATA[Journal]]></category>
		<category><![CDATA[Running]]></category>
		<category><![CDATA[data visualization]]></category>
		<guid isPermaLink="false">https://jasongraphix.com/?p=14752</guid>

					<description><![CDATA[<p>Does anyone remember the little Nike+iPod sensor that you could clip to your shoe? I’ve always enjoyed running but first started tracking my running data after getting one of those sensors for Christmas in 2009. It was laughably inaccurate, and within a few months, I ditched the chip and started using the RunKeeper app on my iPhone 3GS.</p>
<p>The post <a href="https://jasongraphix.com/journal/my-2024-running-review/">My 2024 Running Review</a> appeared first on <a href="https://jasongraphix.com">Jasongraphix</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:23,&quot;href&quot;:&quot;https:\/\/en.wikipedia.org\/wiki\/Nike%2BiPod&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251216165518\/https:\/\/en.wikipedia.org\/wiki\/Nike+iPod&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:48:49&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-01-06 14:48:49&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]'></div>
<div class="imgrightsm"><img loading="lazy" decoding="async" src="https://jasongraphix.com/wp-content/uploads/2024/12/nikeplus.jpg" alt="Photo of a Nike+iPod sensor" width="520" height="520" /><span class="small-meta"><em>The iconic and innacurate Nike+iPod run tracking sensor.</em></span></div>
<p>Does anyone remember the little <a href="https://en.wikipedia.org/wiki/Nike%2BiPod" target="_blank">Nike+iPod sensor</a> that you could clip to your shoe? I&#8217;ve always enjoyed running but first started tracking my running data after getting one of those sensors for Christmas in 2009. It was laughably inaccurate, and within a few months, I ditched the chip and started using the RunKeeper app on my iPhone 3GS. </p>
<p>I&#8217;ve kept track of my miles ever since and at the end of 2022, I posted about how I <a href="https://jasongraphix.com/journal/running-farther/" target="_blank">ran much farther</a> than any year before. I knew that I ran ever farther in 2023, but never took time to review the data, so it seemed like a good time to take a fresh look at my progress. </p>
<div class="visualizer-front-container" id="chart_wrapper_visualizer-14746-1862463578"><style type="text/css" name="visualizer-custom-css" id="customcss-visualizer-14746">.locker,.locker-loader{position:absolute;top:0;left:0;width:100%;height:100%}.locker{z-index:1000;opacity:.8;background-color:#fff;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";filter:alpha(opacity=80)}.locker-loader{z-index:1001;background:url(http://jasongraphix.com/wp-content/plugins/visualizer/images/ajax-loader.gif) no-repeat center center}.dt-button{display:none!important}.visualizer-front-container.visualizer-lazy-render{content-visibility: auto;}.google-visualization-controls-categoryfilter label.google-visualization-controls-label {vertical-align: middle;}.google-visualization-controls-categoryfilter li.goog-inline-block {margin: 0 0.2em;}.google-visualization-controls-categoryfilter li {padding: 0 0.2em;}.visualizer-front-container .dataTables_scrollHeadInner{margin: 0 auto;}</style><div id="visualizer-14746-1862463578" class="visualizer-front  visualizer-front-14746"></div><!-- Not showing structured data for chart 14746 because description is empty --></div>
<p>As it turns out, I ran about 87 more miles in 2023 than I did in 2022, and I kept pushing this year. In 2024 I logged 626.1 miles over 105 workouts. I typically run every 2-3 days, usually in the morning after the kids leave for school or before they&#8217;re up on the weekends. My most common route is a 6.5 mile loop but there were times throughout the year when I tacked on a bit extra and quite a few where I cut it shorter when I wasn&#8217;t feeling well, or didn&#8217;t have an hour to spend running. </p>
<p>In past years, I registered for a few races to stay motivated but the only race I signed up for in 2024 was a February 5k at my kids&#8217; school. I didn&#8217;t feel like I ran more that month, but February ended up being my 3rd highest number of miles. It was interesting to see how much my mileage fluctuated each month, but looking back at my monthly data for the past 3 years, I noticed I went through similar ups and downs in 2023.</p>
<div class="visualizer-front-container visualizer-lazy-render" id="chart_wrapper_visualizer-14737-2036306326"><style type="text/css" name="visualizer-custom-css" id="customcss-visualizer-14737">.locker,.locker-loader{position:absolute;top:0;left:0;width:100%;height:100%}.locker{z-index:1000;opacity:.8;background-color:#fff;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";filter:alpha(opacity=80)}.locker-loader{z-index:1001;background:url(http://jasongraphix.com/wp-content/plugins/visualizer/images/ajax-loader.gif) no-repeat center center}.dt-button{display:none!important}.visualizer-front-container.visualizer-lazy-render{content-visibility: auto;}.google-visualization-controls-categoryfilter label.google-visualization-controls-label {vertical-align: middle;}.google-visualization-controls-categoryfilter li.goog-inline-block {margin: 0 0.2em;}.google-visualization-controls-categoryfilter li {padding: 0 0.2em;}.visualizer-front-container .dataTables_scrollHeadInner{margin: 0 auto;}</style><div id="visualizer-14737-2036306326" class="visualizer-front  visualizer-front-14737"></div><!-- Not showing structured data for chart 14737 because description is empty --></div>
<p>Will this upward trend continue in 2025? The only way I see that happening is if I increase my usual distance or frequency. I ran a 10 mile route in early December and could try for longer runs like that on the weekends. I don&#8217;t have much interest in running more often though. I&#8217;ve found I keep a much better pace when I give myself at least 2 days between runs, so we&#8217;ll see!</p>
<p>The post <a href="https://jasongraphix.com/journal/my-2024-running-review/">My 2024 Running Review</a> appeared first on <a href="https://jasongraphix.com">Jasongraphix</a>.</p>
]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>
	</item>
		<item>
		<title>More Guiding, Less Righting</title>
		<link>https://jasongraphix.com/journal/more-guiding-less-righting/</link>
		
		<dc:creator><![CDATA[Jason Beaird]]></dc:creator>
		<pubDate>Sat, 26 Oct 2024 13:10:21 +0000</pubDate>
				<category><![CDATA[Journal]]></category>
		<category><![CDATA[Leadership]]></category>
		<guid isPermaLink="false">https://jasongraphix.com/?p=14496</guid>

					<description><![CDATA[<p>That's it. That's the takeaway I've been trying to distill from my trip to Chicago last week. I was there for a Q4 onsite, working with and meeting new teammates from an additional product zone I’m now leading design for at Sprout Social.</p>
<p>The post <a href="https://jasongraphix.com/journal/more-guiding-less-righting/">More Guiding, Less Righting</a> appeared first on <a href="https://jasongraphix.com">Jasongraphix</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:24,&quot;href&quot;:&quot;https:\/\/www.linkedin.com\/in\/jebohannon&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:25,&quot;href&quot;:&quot;https:\/\/reneelertzman.substack.com\/p\/why-we-need-to-shift-from-righting&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251007053121\/https:\/\/reneelertzman.substack.com\/p\/why-we-need-to-shift-from-righting&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:48:51&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-10 21:44:33&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-14 01:42:09&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-17 05:42:38&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-20 08:55:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-23 12:14:00&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-26 15:32:52&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-29 18:34:29&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-02 01:16:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-05 07:58:44&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-08 14:36:52&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-11 20:44:54&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-15 02:40:25&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-18 11:19:45&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-21 17:08:28&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-24 23:48:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-28 12:20:41&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-04 01:05:02&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-07 11:09:29&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-10 21:35:19&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-14 07:43:29&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-17 17:47:03&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-21 05:40:58&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-24 16:58:49&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-28 03:53:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-31 14:14:51&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-04 17:36:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-08 07:53:34&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-13 18:47:57&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-18 02:59:38&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-22 11:01:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-26 17:56:11&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-30 14:36:02&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-30 14:36:02&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:26,&quot;href&quot;:&quot;https:\/\/www.linkedin.com\/in\/caitlingrogan&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:27,&quot;href&quot;:&quot;https:\/\/events.figma.com\/devmeetupchicago&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:28,&quot;href&quot;:&quot;https:\/\/seeds.sproutsocial.com&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251118154419\/https:\/\/seeds.sproutsocial.com\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:48:54&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-10 21:44:33&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-14 01:42:10&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-17 05:42:41&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-20 08:55:41&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-23 12:13:59&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-26 15:32:52&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-29 18:34:31&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-02 01:16:45&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-05 07:58:41&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-08 14:36:54&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-11 20:44:53&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-15 02:40:26&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-18 11:19:45&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-21 17:08:30&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-24 23:48:20&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-28 12:20:41&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-04 01:05:05&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-07 11:09:29&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-10 21:35:19&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-14 07:43:29&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-17 17:47:02&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-21 05:40:59&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-24 16:58:54&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-28 03:53:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-31 14:14:50&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-04 17:36:21&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-08 08:28:13&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-11 19:02:32&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-17 10:51:51&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-22 11:01:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-25 11:27:38&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-30 14:36:08&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-30 14:36:08&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;}]'></div>
<p>That&#8217;s it. That&#8217;s the takeaway I&#8217;ve been trying to distill from my trip to Chicago last week. I was there for a Q4 onsite, working with and meeting new teammates from an additional product zone I’m now leading design for at Sprout Social.</p>
<p>As I’ve been onboarding into the team, it’s been tempting to apply all the same meetings and processes that are currently working well for design on my other 2 product zones. At the same time, I’ve been reluctant to make <em>any changes</em> as that might imply I thought things were wrong or needed fixing. Instead, I had mostly been listening for the last month, feeling a little stuck.</p>
<p>Being there was a breakthrough. <a href="https://www.linkedin.com/in/jebohannon">Jessie Bohannon</a> and I facilitated a UX empathy activity together, I got to introduce a new group to the <a href="https://jasongraphix.com/journal/challenge-coins-cheesy-trophies/" target="_blank" rel="noopener">Spaghetti Marshmallow Challenge</a>, and getting to know all the amazing engineers in the zone was a blast.</p>
<p>In the middle of the onsite week, my wife texted an article she found insightful titled, <a href="https://reneelertzman.substack.com/p/why-we-need-to-shift-from-righting" target="_blank" rel="noopener"><em>Why We Need To Shift From Righting To Guiding</em></a> by Dr. Renee Lertzman. While the target audience of that short Substack read is changemakers in the environmental sustainability space, I highly recommend it as the lesson within is universally applicable.</p>
<p>What is righting? As Dr. Lertzman explains it:</p>
<blockquote><p>This is when we focus on telling people, earnestly, what the problems are, and why it’s the “right” thing to do to change. It is also called the “righting reflex” &#8230; This well-intended yet often ineffective tendency only brings up resistance, as a natural response to being “told.”</p></blockquote>
<div class="imgrightmed"><img loading="lazy" decoding="async" src="https://jasongraphix.com/wp-content/uploads/2024/10/caitlin-presenting.jpg" alt="Caitlin Grogan presenting at the Figma meetup." width="1126" height="1525" /><span class="small-meta">Caitlin presenting her talk to a packed meeting room at the Amazon&#8217;s Chicago Loop office.</span></div>
<p>As people leaders, it’s easy to fall into a pattern of righting instead of truly listening to and guiding positive change within our organizations. While I was in Chicago, I learned that <a href="https://www.linkedin.com/in/caitlingrogan/" target="_blank" rel="noopener">Caitlin Grogan</a>, the group product manager for our UI Foundations zone at Sprout Social was speaking at a <a href="https://events.figma.com/devmeetupchicago" target="_blank" rel="noopener">Figma/AWS Meetup</a>, which I quickly RSVPd for. I wasn’t expecting a reinforcement of the guiding vs. righting approach, but that was exactly what I walked away with from that event.</p>
<p>In her lightning talk, Caitlin explained how actively listening to the needs of our design system users—specifically engineering leaders and product managers—helped create unexpected efficiencies in growing and maturing our <a href="https://seeds.sproutsocial.com/" target="_blank" rel="noopener">Seeds design system</a>. While design systems teams at many organizations struggle with adoption and governance, Caitlin shared how the partnership and proactive conversations about systems at Sprout have led to cross-department shoutouts, component contributions, and enhancements from several product zones.</p>
<p>As I press forward in finding my rhythm and process for leading design within my new zone, I have a week’s worth of in-person observations, insights, and conversations to help me guide, instead of blindly righting, my way forward.</p>
<p>The post <a href="https://jasongraphix.com/journal/more-guiding-less-righting/">More Guiding, Less Righting</a> appeared first on <a href="https://jasongraphix.com">Jasongraphix</a>.</p>
]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>
	</item>
		<item>
		<title>Following Threads on Mastodon</title>
		<link>https://jasongraphix.com/journal/following-threads-on-mastodon/</link>
					<comments>https://jasongraphix.com/journal/following-threads-on-mastodon/#comments</comments>
		
		<dc:creator><![CDATA[Jason Beaird]]></dc:creator>
		<pubDate>Tue, 23 Jul 2024 23:25:49 +0000</pubDate>
				<category><![CDATA[Journal]]></category>
		<category><![CDATA[activitypub]]></category>
		<category><![CDATA[fediverse]]></category>
		<category><![CDATA[mastodon]]></category>
		<category><![CDATA[threads]]></category>
		<guid isPermaLink="false">https://jasongraphix.com/?p=14124</guid>

					<description><![CDATA[<p>Do you want separate chronological feeds for specific sets of profiles on Threads? You're not alone! If you have a Mastodon account and follow Threads users who have Fediverse sharing turned on, you can use the lists feature on Mastodon to achieve this. Back in April, I imported my Threads follows into Mastodon and posted a video showing my list columns there.</p>
<p>The post <a href="https://jasongraphix.com/journal/following-threads-on-mastodon/">Following Threads on Mastodon</a> appeared first on <a href="https://jasongraphix.com">Jasongraphix</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:29,&quot;href&quot;:&quot;https:\/\/www.threads.net\/@jasongraphix\/post\/C9h8uqNOZbH&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20241021164746\/https:\/\/www.threads.net\/@jasongraphix\/post\/C9h8uqNOZbH&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:48:56&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-09 20:32:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-13 09:48:00&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-16 17:55:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-21 07:03:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-24 14:59:45&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-28 02:29:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-02 07:29:47&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-07 22:15:51&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-11 00:57:12&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-16 20:22:12&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-21 21:15:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-25 13:29:45&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-28 18:40:33&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 23:43:20&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-07 02:00:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-10 05:23:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-13 09:40:54&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-16 11:49:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-19 14:01:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-22 17:41:40&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-25 20:00:44&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-28 22:59:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-01 17:43:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-05 08:43:24&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-09 03:45:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-12 19:53:21&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-16 00:40:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-20 03:41:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-23 05:46:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-27 07:56:12&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-01 10:34:48&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-01 10:34:48&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:30,&quot;href&quot;:&quot;https:\/\/docs.joinmastodon.org\/user\/network\/#lists&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251202145245\/https:\/\/docs.joinmastodon.org\/user\/network\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:49:00&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-09 20:32:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-13 09:47:58&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-17 05:34:51&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-21 07:03:17&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-24 14:59:47&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-28 02:29:55&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-02 07:29:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-07 22:15:55&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-11 00:57:08&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-16 20:22:14&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-21 21:15:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-25 13:29:40&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-28 18:40:34&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 23:43:23&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-07 02:00:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-10 05:23:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-13 09:40:54&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-16 11:49:53&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-19 14:01:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-24 23:17:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-28 22:59:17&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-01 17:43:11&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-05 08:43:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-09 03:45:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-12 19:53:25&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-16 00:40:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-20 03:41:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-23 05:46:53&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-27 07:56:11&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-01 10:34:49&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-01 10:34:49&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:31,&quot;href&quot;:&quot;https:\/\/www.threads.net\/@jasongraphix\/post\/C5jE-_wtXhb&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20241030152301\/https:\/\/www.threads.net\/@jasongraphix\/post\/C5jE-_wtXhb&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:49:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-09 20:32:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-13 09:48:00&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-17 05:34:53&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-21 07:03:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-24 14:59:45&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-28 02:29:54&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-02 07:29:41&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-07 22:15:57&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-11 00:57:12&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-16 20:22:14&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-21 21:15:38&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-25 13:29:43&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-28 18:40:33&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 23:43:24&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-07 02:00:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-10 05:23:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-13 09:40:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-16 11:49:51&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-19 14:01:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-24 23:17:12&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-28 22:59:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-01 17:43:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-05 08:43:29&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-09 03:45:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-12 19:53:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-16 00:40:19&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-20 03:41:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-23 05:46:50&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-27 07:56:11&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-01 10:34:51&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-01 10:34:51&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:32,&quot;href&quot;:&quot;https:\/\/www.theverge.com\/24107998\/threads-fediverse-mastodon-how-to&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251218084537\/https:\/\/www.theverge.com\/24107998\/threads-fediverse-mastodon-how-to&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:49:03&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-09 20:32:48&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-13 09:47:54&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-18 22:54:14&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-01-23 01:15:28&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-27 10:08:21&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-02 07:29:49&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-02-07 22:15:58&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-11 00:57:08&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-02-16 20:22:14&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-21 21:15:39&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-25 13:29:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-28 18:40:34&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-03 23:43:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-10 05:23:29&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-13 09:41:00&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-16 11:49:54&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-19 14:01:20&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-03-22 17:41:28&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-25 20:00:45&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-03-28 22:59:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-01 17:43:11&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-05 08:43:54&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-09 03:45:30&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-04-12 19:53:20&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-16 00:40:20&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-20 03:41:41&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-23 05:46:52&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-27 07:56:15&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-01 10:34:52&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-01 10:34:52&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:33,&quot;href&quot;:&quot;https:\/\/accountscenter.instagram.com\/info_and_permissions\/dyi&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20231029204631\/https:\/\/accountscenter.instagram.com\/info_and_permissions\/dyi\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:49:06&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-09 20:32:51&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-13 09:47:58&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-18 22:54:19&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-01-23 01:15:31&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-01-27 10:08:23&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-02-02 07:29:47&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-08 03:27:06&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-02-11 08:19:34&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-02-16 20:22:17&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-21 21:15:47&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-02-25 13:29:41&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-02-28 18:40:38&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 23:43:27&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-03-07 02:00:33&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-03-10 05:23:33&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-03-13 09:40:56&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-16 11:49:54&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-19 14:01:22&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-03-22 17:40:50&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-03-25 20:00:48&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-03-28 22:59:16&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-04-01 17:43:15&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-04-05 08:44:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-09 03:45:34&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-04-12 19:53:21&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-04-16 00:40:22&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-04-20 03:41:38&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-23 17:53:19&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-04-27 07:56:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-01 10:35:06&quot;,&quot;http_code&quot;:429}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-01 10:35:06&quot;,&quot;http_code&quot;:429},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:34,&quot;href&quot;:&quot;https:\/\/code.visualstudio.com&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260105115456\/https:\/\/code.visualstudio.com\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:49:06&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-09 20:32:51&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-13 09:47:58&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-19 01:21:28&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-23 01:15:35&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-27 10:08:21&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-02 07:29:36&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-08 03:27:05&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-12 17:07:25&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-16 20:22:11&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-21 21:15:57&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-25 13:29:38&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-28 18:40:37&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-03 23:43:26&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-07 02:00:32&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-10 05:23:29&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-13 09:40:57&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-16 11:49:50&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-19 14:01:20&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-22 17:41:26&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-25 20:00:46&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-28 22:59:20&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-02 09:40:52&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-05 11:09:17&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-09 03:45:32&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-12 19:53:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-16 00:40:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-20 03:41:39&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-23 17:53:19&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-27 07:56:12&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-01 10:35:06&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-05-01 10:35:06&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:35,&quot;href&quot;:&quot;https:\/\/www.mastodonlistmanager.org&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251117042602\/https:\/\/mastodonlistmanager.org\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-06 14:49:09&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-10 13:17:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-14 00:40:06&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-19 01:21:26&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-23 01:15:38&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-27 10:08:21&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-02 07:29:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-08 03:27:03&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-12 17:07:28&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-16 20:22:16&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-21 21:15:59&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-25 13:29:42&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-28 18:40:37&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-03 23:43:27&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-07 02:00:29&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-10 05:23:28&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-15 00:43:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-19 14:01:24&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-22 17:40:50&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-25 20:00:47&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-28 22:59:19&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-01 17:43:16&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-05 08:44:59&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-09 03:45:33&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-12 19:53:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-16 00:40:24&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-22 10:36:42&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-25 10:38:02&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-25 10:38:02&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;}]'></div>
<p>Do you want separate chronological feeds for specific sets of profiles on Threads? <a href="https://www.threads.net/@jasongraphix/post/C9h8uqNOZbH" target="_blank" rel="noopener">You&#8217;re not alone!</a> If you have a Mastodon account and follow Threads users who have Fediverse sharing turned on, you can use the <a href="https://docs.joinmastodon.org/user/network/#lists" target="_blank" rel="noopener">lists feature</a> on Mastodon to achieve this. Back in April, I imported my Threads follows into Mastodon and posted <a href="https://www.threads.net/@jasongraphix/post/C5jE-_wtXhb" target="_blank" rel="noopener">a video</a> showing my list columns there.</p>
<blockquote id="ig-tp-C5jE-_wtXhb" class="text-post-media" style="background: #FFF; border-radius: 16px; max-width: 780px; margin: 1px; min-width: 270px; padding: 0; width: calc(100% - 2px); border: 1px solid #00000026;" data-text-post-permalink="https://www.threads.net/@jasongraphix/post/C5jE-_wtXhb" data-text-post-version="0"><p>&nbsp;</p>
<div style="padding: 40px; display: flex; flex-direction: column; align-items: center;">
<div style="display: block; height: 32px; width: 32px; padding-bottom: 20px;"></div>
<div style="font-size: 15px; line-height: 21px; color: #999999; font-weight: 400; padding-bottom: 4px;">Post by @jasongraphix</div>
<div style="font-size: 15px; line-height: 21px; color: #000000; font-weight: 600;">View on Threads</div>
</div>
</blockquote>
<p><script async src="https://www.threads.net/embed.js"></script></p>
<p>To achieve that, I exported my Threads data and attempted to import all of my follows into Mastodon. At the time, only ~20% of the accounts (which had <a href="https://www.theverge.com/24107998/threads-fediverse-mastodon-how-to" target="_blank" rel="noopener">Fediverse sharing</a> enabled) imported successfully.</p>
<p>I&#8217;ve seen a recent increase in accounts enabling Fediverse sharing, and encouraging others to turn it on as well, so I thought I&#8217;d run my import again. I figured I&#8217;d write down the steps in case anyone else wants to give it a try, and to save myself some formatting woes for the next time.</p>
<h2>Exporting your Threads Follows</h2>
<div class="imgrightmed"><img loading="lazy" decoding="async" src="https://jasongraphix.com/wp-content/uploads/2024/07/export-settings.jpg" alt="Threads export settings, described in post." width="1126" height="1525" /><span class="small-meta">Threads data export settings</span></div>
<p>The first thing you need to do is request your Threads data:</p>
<ol>
<li>Visit Meta&#8217;s <a href="https://accountscenter.instagram.com/info_and_permissions/dyi/" target="_blank" rel="noopener">download your information page</a></li>
<li>Click &#8220;Download or transfer information&#8221;</li>
<li>Check the box next to your Instagram account, then click Next</li>
<li>Click &#8220;Some of your information&#8230;&#8221;</li>
<li>Scroll down and check only the &#8220;Threads&#8221; box, then click Next</li>
<li>Make sure the &#8220;Download to device&#8221; radio option is checked, and click Next</li>
<li>Choose <strong>All time</strong> as the Date Range, <strong>JSON</strong> as the format, <strong>Low</strong> for the Media Quality, and click &#8220;Create files&#8221;</li>
</ol>
<p>It took about 20 minutes before I got the email that my download was available, but be patient, as I&#8217;m sure it could take longer. Once it&#8217;s ready and you&#8217;ve downloaded the zip file, you&#8217;ll want to find the <code>following.json</code> file in <code>your_instagram_activity/threads</code>.</p>
<h2>Formatting for Mastodon Import</h2>
<p>This is the most challenging part. We have to get all of the usernames out of the JSON file and formatted into a CSV that can be imported into Mastodon. This would take a long time to do manually, but only requires a few steps in an editor like <a href="https://code.visualstudio.com/">VS Code</a>, or any text editing tool with a regular expression find and replace. Just open <code>following.json</code> in your editor of choice and start a find and replace action, ensuring that RegEx search (usually represented as <code>.*</code>) is enabled.</p>
<ol>
<li>Find: <code>"value":\s*"([^"]+)"</code></li>
<li>Replace all with: <code>\n$1@threads.net,true,false,\n</code></li>
<li>Find: <code>^((?!@threads\.net).)*$\n?</code></li>
<li>Replace all with: (leave this blank)</li>
</ol>
<p>The result should be a file where the username for each of your follows is on a new line, followed by <code>@threads.net,true,false,</code>. That&#8217;s the format for importing a following list into Mastodon, with the true value indicating that you want to show boosts for that user, and the false confirming that you do not want to be notified on new posts. Save this somewhere handy as <code>threads-follows.csv</code>.</p>
<h2>Importing Into Mastodon</h2>
<p><img loading="lazy" decoding="async" src="https://jasongraphix.com/wp-content/uploads/2024/07/mastodon-import-screenshot.jpg" alt="Mastodon screenshot" width="1700" height="640" /></p>
<p class="small-meta alignc">Screenshot of Mastodon&#8217;s following list import form.</p>
<p>The next step is to navigate to Preferences from your Mastodon account and look for the Import page. When you import your <code>threads-follows.csv</code> file, Mastodon will attempt to follow each user. Once processing is complete, it&#8217;ll show how many imported successfully, and how many failed. This time, ~31% of my list imported, which means quite a few more folks have turned on Fediverse sharing since my attempt in April.</p>
<div class="imgrightmed"><img loading="lazy" decoding="async" src="https://jasongraphix.com/wp-content/uploads/2024/07/mastodon-list-manager-screenshot-1.jpg" alt="Mastodon List Manager Screenshot" width="488" height="551" /><span class="small-meta">Screenshot from Mastodon List Manager with profile names blurred out.</span></div>
<h2>Managing Mastodon Lists</h2>
<p>Now, the fun part! Because Mastodon is such a large, open-source project, there are many third-party client apps and tools available. My favorite resource for maintaining follow lists is Andrew Beers&#8217; <a href="https://www.mastodonlistmanager.org/" target="_blank" rel="noopener">Mastodon List Manager</a>.</p>
<p>Once you&#8217;ve connected List Manager to your Mastodon account, you can search, sort, and filter your follows in many different ways to quickly add users to lists. The sample screenshot here of the Mastodon List Manager UI only shows about half of my lists. I&#8217;ll often create new lists around events I&#8217;m attending, topics I want to follow, or other interests.</p>
<p>I really hope Meta prioritizes a lists feature like this for Threads eventually. More importantly, I hope that expanding their ActivityPub integration makes enabling Fediverse sharing more mainstream. An open social web creates so many fascinating opportunities, but not if the vast majority of posts stay locked inside a walled garden.</p>
<p>The post <a href="https://jasongraphix.com/journal/following-threads-on-mastodon/">Following Threads on Mastodon</a> appeared first on <a href="https://jasongraphix.com">Jasongraphix</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jasongraphix.com/journal/following-threads-on-mastodon/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
		<friends:post-format>standard</friends:post-format>
	</item>
	</channel>
</rss>