<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Letters To Alfred]]></title><description><![CDATA[This is about me. Or more precisely, an exploration of myself. As a founder, a dad, and someone interested in technology, AI, startups, behavioral science, and design.]]></description><link>https://letters.alfredlua.com</link><image><url>https://substackcdn.com/image/fetch/$s_!OG3w!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png</url><title>Letters To Alfred</title><link>https://letters.alfredlua.com</link></image><generator>Substack</generator><lastBuildDate>Fri, 01 May 2026 04:26:25 GMT</lastBuildDate><atom:link href="https://letters.alfredlua.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Alfred Lua]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[alfredlua@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[alfredlua@substack.com]]></itunes:email><itunes:name><![CDATA[Alfred Lua]]></itunes:name></itunes:owner><itunes:author><![CDATA[Alfred Lua]]></itunes:author><googleplay:owner><![CDATA[alfredlua@substack.com]]></googleplay:owner><googleplay:email><![CDATA[alfredlua@substack.com]]></googleplay:email><googleplay:author><![CDATA[Alfred Lua]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[August recap: Be kind]]></title><description><![CDATA[An unfortunate bite, annual goal progress, and 8 interesting links]]></description><link>https://letters.alfredlua.com/p/august-recap-be-kind</link><guid isPermaLink="false">https://letters.alfredlua.com/p/august-recap-be-kind</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Thu, 11 Sep 2025 15:15:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Sy8e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7e3e69-fb90-4cd3-87ed-2dfc024a2bda_1280x960.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Sy8e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7e3e69-fb90-4cd3-87ed-2dfc024a2bda_1280x960.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Sy8e!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7e3e69-fb90-4cd3-87ed-2dfc024a2bda_1280x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Sy8e!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7e3e69-fb90-4cd3-87ed-2dfc024a2bda_1280x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Sy8e!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7e3e69-fb90-4cd3-87ed-2dfc024a2bda_1280x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Sy8e!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7e3e69-fb90-4cd3-87ed-2dfc024a2bda_1280x960.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Sy8e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7e3e69-fb90-4cd3-87ed-2dfc024a2bda_1280x960.jpeg" width="1280" height="960" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ce7e3e69-fb90-4cd3-87ed-2dfc024a2bda_1280x960.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:960,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:249733,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/173339085?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7e3e69-fb90-4cd3-87ed-2dfc024a2bda_1280x960.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Sy8e!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7e3e69-fb90-4cd3-87ed-2dfc024a2bda_1280x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Sy8e!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7e3e69-fb90-4cd3-87ed-2dfc024a2bda_1280x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Sy8e!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7e3e69-fb90-4cd3-87ed-2dfc024a2bda_1280x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Sy8e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7e3e69-fb90-4cd3-87ed-2dfc024a2bda_1280x960.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This recap is later than usual because, one, I have been busy preparing for Booplet&#8217;s launch (more on this in the next section) and, two, a mosquito bit my son.</p><p><em>What about a mosquito bite?</em> </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y7Gk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7493576-35ff-4d6a-9fc7-7f92f0c3220a_318x92.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y7Gk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7493576-35ff-4d6a-9fc7-7f92f0c3220a_318x92.png 424w, https://substackcdn.com/image/fetch/$s_!y7Gk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7493576-35ff-4d6a-9fc7-7f92f0c3220a_318x92.png 848w, https://substackcdn.com/image/fetch/$s_!y7Gk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7493576-35ff-4d6a-9fc7-7f92f0c3220a_318x92.png 1272w, https://substackcdn.com/image/fetch/$s_!y7Gk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7493576-35ff-4d6a-9fc7-7f92f0c3220a_318x92.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y7Gk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7493576-35ff-4d6a-9fc7-7f92f0c3220a_318x92.png" width="318" height="92" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a7493576-35ff-4d6a-9fc7-7f92f0c3220a_318x92.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:92,&quot;width&quot;:318,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:56245,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/173339085?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7493576-35ff-4d6a-9fc7-7f92f0c3220a_318x92.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!y7Gk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7493576-35ff-4d6a-9fc7-7f92f0c3220a_318x92.png 424w, https://substackcdn.com/image/fetch/$s_!y7Gk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7493576-35ff-4d6a-9fc7-7f92f0c3220a_318x92.png 848w, https://substackcdn.com/image/fetch/$s_!y7Gk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7493576-35ff-4d6a-9fc7-7f92f0c3220a_318x92.png 1272w, https://substackcdn.com/image/fetch/$s_!y7Gk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7493576-35ff-4d6a-9fc7-7f92f0c3220a_318x92.png 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><p>Unfortunately, the mosquito bit my son&#8217;s face near his eye, and his eye became so swollen that he couldn&#8217;t open it. We went to the A&amp;E, and he recovered after a week. But a little incident during that period reminded me about being kind.</p><p>I was carrying my son along the pavement when we walked past three high school boys. One of them saw my son&#8217;s face and gave a shocked expression. After they passed us, I turned back and saw them looking at my son and whispering among themselves. I couldn&#8217;t hear what they said but I didn&#8217;t get a good feeling from their facial expressions. I doubt they had any ill intentions toward a tiny two-year-old but what the receiving party feels usually matters more than what we say, do, or mean.</p><p>The incident was a good reminder to look within myself because I know if I were in high school, I would likely have said something I shouldn&#8217;t have. I remember when my friends made nasty comments about others, I would laugh along and not stop them. I likely made a few too. I only became more sensitive, empathetic, and aware in my 20s. And even then, the fact that I suspected what the high school boys were saying means I have work to do. I was projecting, imagining what I might have done in their place, and holding it against them.  </p><p>Also, how can I teach my son to be kind? I believe modeling the right behaviors and explaining why being kind matters will help. That said, I can create a conducive environment but I cannot force him. Even though I had a great upbringing, it took me more than two decades to mature. </p><p>And the world might not always be kind to him. Even when we have been teaching him to share his toys, others have refused to share theirs and have sometimes snatched his toys. How should he react? What would he learn from such experiences? How would these moments influence his character? This might seem like a trivial example but even adults go through similar scenarios later in life.</p><p>Ultimately, it&#8217;s up to him to decide. Many years back, when I was at Buffer, we did a personality test. People were split on the question &#8220;Would you rather be smart or kind?&#8221; My approach is to be kind until I have a good reason not to, because I don&#8217;t want to be taken advantage of. But I still lean more towards being kind (and trying to raise a kind human being) because <a href="https://letters.alfredlua.com/p/my-2024-annual-review-on-the-shortness">things have gone well for me, all things considered, and I should help create a kinder world</a>. Others have been kind to me, too, and I want to pay it forward where I can.</p><p>I know sharing this would not even make the world budge a bit. But it&#8217;s something I wish someone had taught me earlier. If you want to make my day, go do a kind deed today. You will make their day, too. A two-for-one deal!</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qZvR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f511f46-b7f5-4e49-8ba0-7ba52999f67e_1456x116.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qZvR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f511f46-b7f5-4e49-8ba0-7ba52999f67e_1456x116.png 424w, https://substackcdn.com/image/fetch/$s_!qZvR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f511f46-b7f5-4e49-8ba0-7ba52999f67e_1456x116.png 848w, https://substackcdn.com/image/fetch/$s_!qZvR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f511f46-b7f5-4e49-8ba0-7ba52999f67e_1456x116.png 1272w, https://substackcdn.com/image/fetch/$s_!qZvR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f511f46-b7f5-4e49-8ba0-7ba52999f67e_1456x116.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qZvR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f511f46-b7f5-4e49-8ba0-7ba52999f67e_1456x116.png" width="1456" height="116" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0f511f46-b7f5-4e49-8ba0-7ba52999f67e_1456x116.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:116,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6366,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/173339085?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f511f46-b7f5-4e49-8ba0-7ba52999f67e_1456x116.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qZvR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f511f46-b7f5-4e49-8ba0-7ba52999f67e_1456x116.png 424w, https://substackcdn.com/image/fetch/$s_!qZvR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f511f46-b7f5-4e49-8ba0-7ba52999f67e_1456x116.png 848w, https://substackcdn.com/image/fetch/$s_!qZvR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f511f46-b7f5-4e49-8ba0-7ba52999f67e_1456x116.png 1272w, https://substackcdn.com/image/fetch/$s_!qZvR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f511f46-b7f5-4e49-8ba0-7ba52999f67e_1456x116.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://letters.alfredlua.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">I write about my experiences being a founder-dad and exploring AI. Join me on this adventure!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><h2><strong>How am I doing for my 2025 goals</strong></h2><p>August was quite a struggle but lightened by several happy moments and meaningful milestones.</p><p><strong>Business: Build a meaningful profitable business</strong></p><p>We launched <a href="https://booplet.com/">Booplet</a> (beta)!</p><p>(We technically launched it on 4 September but for this recap, I&#8217;ll consider it &#8220;last month&#8221;.)</p><p>With Booplet, we want to enable everyone to make their own apps. You don&#8217;t need to learn coding or figure out the technical setup; just describe what you want, get the apps, and use them immediately. You can easily create custom apps for your work, your life, and your hobbies. It&#8217;s like your personal app library.</p><div class="comment" data-attrs="{&quot;url&quot;:&quot;https://open.substack.com/home&quot;,&quot;commentId&quot;:152249845,&quot;comment&quot;:{&quot;id&quot;:152249845,&quot;date&quot;:&quot;2025-09-04T05:47:29.977Z&quot;,&quot;edited_at&quot;:null,&quot;body&quot;:&quot;Today, we are launching Booplet (beta)!\n\nBooplet is your personal app library.\n\nDescribe what you want, and Booplet will help you create and edit apps. You can then use the apps immediately.\n\nNo coding or technical setup required.\n\nJust describe, create, use. \n\n&#128073;&#127995; https://booplet.com/&quot;,&quot;body_json&quot;:{&quot;type&quot;:&quot;doc&quot;,&quot;attrs&quot;:{&quot;schemaVersion&quot;:&quot;v1&quot;},&quot;content&quot;:[{&quot;type&quot;:&quot;paragraph&quot;,&quot;content&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;text&quot;:&quot;Today, we are launching Booplet (beta)!&quot;}]},{&quot;type&quot;:&quot;paragraph&quot;,&quot;content&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;marks&quot;:[{&quot;type&quot;:&quot;bold&quot;}],&quot;text&quot;:&quot;Booplet is your personal app library.&quot;}]},{&quot;type&quot;:&quot;paragraph&quot;,&quot;content&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;text&quot;:&quot;Describe what you want, and Booplet will help you create and edit apps. You can then use the apps immediately.&quot;}]},{&quot;type&quot;:&quot;paragraph&quot;,&quot;content&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;text&quot;:&quot;No coding or technical setup required.&quot;}]},{&quot;type&quot;:&quot;paragraph&quot;,&quot;content&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;text&quot;:&quot;Just describe, create, use. &quot;}]},{&quot;type&quot;:&quot;paragraph&quot;,&quot;content&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;marks&quot;:[{&quot;type&quot;:&quot;link&quot;,&quot;attrs&quot;:{&quot;href&quot;:&quot;https://booplet.com/&quot;,&quot;target&quot;:&quot;_blank&quot;,&quot;rel&quot;:&quot;nofollow ugc noopener&quot;,&quot;class&quot;:&quot;note-link&quot;}}],&quot;text&quot;:&quot;https://booplet.com/&quot;}]}]},&quot;restacks&quot;:1,&quot;reaction_count&quot;:4,&quot;attachments&quot;:[{&quot;id&quot;:&quot;d95fd605-8c22-402e-b12d-b8cb281fea70&quot;,&quot;user_id&quot;:2075925,&quot;comment_id&quot;:152249845,&quot;type&quot;:&quot;video&quot;,&quot;media_upload_id&quot;:&quot;d826d731-0324-4731-b4e9-008ed8f7e032&quot;,&quot;mediaUpload&quot;:{&quot;id&quot;:&quot;d826d731-0324-4731-b4e9-008ed8f7e032&quot;,&quot;name&quot;:&quot;launch-1.1.mp4&quot;,&quot;created_at&quot;:&quot;2025-09-04T05:46:26.927Z&quot;,&quot;uploaded_at&quot;:&quot;2025-09-04T05:46:40.688Z&quot;,&quot;publication_id&quot;:null,&quot;state&quot;:&quot;transcoded&quot;,&quot;post_id&quot;:null,&quot;user_id&quot;:2075925,&quot;duration&quot;:198.8,&quot;height&quot;:1080,&quot;width&quot;:1920,&quot;thumbnail_id&quot;:1,&quot;preview_start&quot;:null,&quot;preview_duration&quot;:null,&quot;media_type&quot;:&quot;video&quot;,&quot;primary_file_size&quot;:145162433,&quot;is_mux&quot;:true,&quot;mux_asset_id&quot;:&quot;7hjXUdUyWpX024duqC5epIgmJ02KhAYUUC01Df7OH02F8GU&quot;,&quot;mux_playback_id&quot;:&quot;WLNddLchBI6xoSsTCnQkHTyBEo7yCPv1m022gB8p2qGg&quot;,&quot;mux_preview_asset_id&quot;:null,&quot;mux_preview_playback_id&quot;:null,&quot;mux_rendition_quality&quot;:&quot;high&quot;,&quot;mux_preview_rendition_quality&quot;:null,&quot;explicit&quot;:false,&quot;copyright_infringement&quot;:null,&quot;src_media_upload_id&quot;:null,&quot;live_stream_id&quot;:null}},{&quot;id&quot;:&quot;361f5e7d-45bc-4614-8e1b-c192001d4a30&quot;,&quot;type&quot;:&quot;link&quot;,&quot;linkMetadata&quot;:{&quot;url&quot;:&quot;https://booplet.com/&quot;,&quot;host&quot;:&quot;booplet.com&quot;,&quot;title&quot;:&quot;Booplet - Your personal app library&quot;,&quot;description&quot;:&quot;Booplet is your personal app library. Make yourself some apps, sentence by sentence.&quot;,&quot;image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5dccccfc-d35e-4f48-8906-a894249d4d3c_1200x630.jpeg&quot;,&quot;original_image&quot;:&quot;https://booplet.com/img/social-card.jpg&quot;},&quot;explicit&quot;:false}],&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;user_id&quot;:2075925,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;user_bestseller_tier&quot;:null}}" data-component-name="CommentPlaceholder"></div><p>Give it a try, and let me know what you think. It&#8217;s entirely free during the beta.</p><p>Also, follow us on your favorite platform (<a href="https://www.threads.com/@booplet_apps">Threads</a>, <a href="https://x.com/booplet_apps">X</a>, <a href="https://www.instagram.com/booplet_apps">Instagram</a>, <a href="https://www.tiktok.com/@booplet_apps">TikTok</a>, and <a href="https://www.youtube.com/@booplet_apps">YouTube</a>), and support us!</p><p><strong>Family: Bring my family on a vacation &#9989;</strong></p><p><a href="https://letters.alfredlua.com/p/6-day-trip-in-perth-with-an-18-mo">We went to Perth</a> in March.</p><p><strong>Parenting: Read at least 3 books on parenting</strong></p><p>I completed Good Inside in <a href="https://letters.alfredlua.com/p/april-recap-meta-work">April</a>, picked up Totto-Chan in August, and have been reading The Daily Dad and The Book You Wish Your Parents Had Read.</p><p>Here&#8217;s my favorite entry from The Daily Dad for August:</p><blockquote><p>August 6<br><strong>Seldom Should Be Heard a Discouraging Word</strong></p><p>If you&#8217;re not paying attention, it&#8217;s easy to slip into a kind of casual, thoughtless negativity: <em>Why is your room so dirty? Why are you in such a bad mood today? Hey, stop doing that! Don&#8217;t touch this. No, you can&#8217;t watch TV right now. Why isn&#8217;t your room clean? No, you can&#8217;t have that. I&#8217;m disappointed with how you did on this test. This is just not realistic; shouldn&#8217;t you think about trying something else? I don&#8217;t think so. You already know the answer&#8230; and the answer is &#8220;no.&#8221;</em></p><p>This happens not because you&#8217;re a bad parent but rather because you&#8217;re a good one. You have rules and you enforce them. You have expectations and you push your kids to meet them. You know what&#8217;s best. You want to keep them safe and you have a house to run.</p><p>But still, if you&#8217;re not careful, it can come to be that almost every interaction you have with your kids is negative. It can start to feel, from their perspective, like an endless cascade of disappointment. And then, before you know it, you&#8217;ve become the voice of <em>discouragement</em> without even thinking about it.</p><p>Is that who you are? Is that the kind of relationship you have to have? If it isn&#8217;t, then you need to pay attention. Watch your words, Count your <em>yeses</em> and <em>nos. </em>Be intentional about what you focus on. Let the little things go. Be positive.</p></blockquote><p>There&#8217;s a stereotype that Asian parents are always disappointed, even with our best achievements. While Asians tend to have higher expectations and the stereotype is a funny thing to say, I don&#8217;t think it&#8217;s helpful to make our kids feel they are never enough (or for us to feel that our parents are never proud of us; I&#8217;m grateful that I can immediately think of several occasions when I felt my parents&#8217; genuine pride in me). </p><p><strong>Growth: Write daily, publish monthly</strong></p><p>I continued to journal every night (634-day streak) but only published <a href="https://letters.alfredlua.com/p/july-recap-following-my-curiosity">my July recap</a> in July (a total of 49 essays in 2025 so far). I had wanted to write more but I allocated more time to working on Booplet. Since we just launched Booplet, I want to continue devoting more time to it until I feel like I&#8217;m in a good rhythm. </p><p>As part of continuous improvement, I switched from Apple Notes to Obsidian and started taking notes more diligently (even if I might never refer to them again). I was initially hesitant to use Obsidian because I didn't want to have to pay for being able to use it across my devices. But I realized it works with iCloud Drive, which I already have.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Zcp5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39ceb8a0-19f2-4321-a691-3065a4cbae28_2032x1167.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Zcp5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39ceb8a0-19f2-4321-a691-3065a4cbae28_2032x1167.png 424w, https://substackcdn.com/image/fetch/$s_!Zcp5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39ceb8a0-19f2-4321-a691-3065a4cbae28_2032x1167.png 848w, https://substackcdn.com/image/fetch/$s_!Zcp5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39ceb8a0-19f2-4321-a691-3065a4cbae28_2032x1167.png 1272w, https://substackcdn.com/image/fetch/$s_!Zcp5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39ceb8a0-19f2-4321-a691-3065a4cbae28_2032x1167.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Zcp5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39ceb8a0-19f2-4321-a691-3065a4cbae28_2032x1167.png" width="1456" height="836" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/39ceb8a0-19f2-4321-a691-3065a4cbae28_2032x1167.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:836,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:320354,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/173339085?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39ceb8a0-19f2-4321-a691-3065a4cbae28_2032x1167.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Zcp5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39ceb8a0-19f2-4321-a691-3065a4cbae28_2032x1167.png 424w, https://substackcdn.com/image/fetch/$s_!Zcp5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39ceb8a0-19f2-4321-a691-3065a4cbae28_2032x1167.png 848w, https://substackcdn.com/image/fetch/$s_!Zcp5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39ceb8a0-19f2-4321-a691-3065a4cbae28_2032x1167.png 1272w, https://substackcdn.com/image/fetch/$s_!Zcp5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39ceb8a0-19f2-4321-a691-3065a4cbae28_2032x1167.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I also picked up <a href="https://www.amazon.sg/Different-Kind-Power-Jacinda-Ardern/dp/1035045419">A Different Kind of Power</a> and <a href="https://www.amazon.sg/Michael-Jordan-Life-Roland-Lazenby/dp/031619476X">Michael Jordan: The Life</a> to read. </p><p><strong>Health: Eat healthily, exercise 5x/week, sleep well</strong></p><p>I had a terrible cough for about two weeks, which was bad enough for me to stop exercising for several days. Other than that, I felt pretty okay for the rest of the month.</p><p>We ate out quite a bit, and the food wasn&#8217;t the healthiest. SK has been buying frozen meals from <a href="https://www.yummybros.com/">Yummy Bros</a> and recommended it. I&#8217;ll try it in September.</p><p>On several nights, I could have slept early but ended up watching YouTube for half an hour or an hour before sleeping because I wanted to relax for a while after my son went to bed. I don't really like this habit. (I&#8217;m happy to share that since writing this reflection, I became much more conscious about watching YouTube and managed to cut back on it!)</p><h3><strong>My remaining goals</strong></h3><p><strong>One-year goals (i.e. other 2025 goals)</strong></p><ul><li><p>Help my son develop a night routine and be in bed by 8 p.m. <em>- He has been sleeping close to 10 p.m., and I honestly don&#8217;t know how to bring it earlier. Because he is older and more independent now, I can&#8217;t force him to shift his night route earlier. Advice welcome!</em></p></li><li><p>Take three deep breaths whenever I&#8217;m angry or frustrated - <em>I lost my temper once and later worked to mend the relationship.</em></p></li><li><p>Accompany my parents and uncle to their health appointments <em>- Still four appointments so far but my uncle fell, hit his head, and was warded for a while. I worry this will become more frequent as he gets older.</em></p></li><li><p>Cycle 10x a year - <em>Still 5/10. I didn&#8217;t cycle in August because I didn&#8217;t feel like it. I might not cycle for the rest of the year.</em></p></li><li><p>Switch from kopi (coffee) to kopi siew dai (coffee less sweet) <em>- I mostly drank iced latte and had more cups of kopi siew dai in August than in the previous months. I&#8217;ve started to miss kopi; argh!</em></p></li><li><p>Host five dinners at home - <em>Still 1/5 for now.</em></p></li><li><p>Get a part-time cleaner for our house <em>- I think we are still doing okay.</em></p></li><li><p>No coffee after 3 p.m. <em>- Missed a few days but they weren&#8217;t long after 3 p.m.</em></p></li></ul><p><strong>Five-year goals</strong></p><ul><li><p>Bring my family to Europe and New Zealand</p></li><li><p>Create a library at home for my son - <em>I turned our unused TV console into a mini-library for now.</em></p></li><li><p>Teach my son to cycle and swim <em>- He is back enjoying swimming; we even went to the pool more than once a week.</em></p></li><li><p>Learn to play the piano <em>- My dad salvaged an old piano from the rubbish dump. I might ask for it! Any tips on getting started?</em></p></li><li><p>Complete a triathlon (any distance)</p></li></ul><p><strong>Lifetime goals</strong></p><ul><li><p>Publish a book</p></li><li><p>Get back into drawing</p></li><li><p>Complete an Ironman triathlon</p></li><li><p>Bring my son somewhere to see snow (maybe Japan, Seoul, or Switzerland)</p></li><li><p>Raise kids with integrity, compassion, and agency</p></li><li><p>Build something with my dad</p></li><li><p>Have a workbench for playing with hardware</p></li><li><p>Visit Ghibli Park in Aichi, Japan, and Ghibli Museum in Tokyo, Japan</p></li><li><p>Mentor someone</p></li><li><p>Volunteer somewhere (maybe contribute to healthcare or education)</p></li><li><p>Contribute somehow to Singapore (maybe through my business) - <em><a href="https://mrt.alfredlua.com/">My MRT status tracker</a> is technically a contribution, given that some people in Singapore found it useful.</em></p></li><li><p>Become rich enough to be independent, not to acquire material possessions</p></li><li><p>Live until 100 while being physically fit and mentally sharp</p></li><li><p>Use social media to help others, not just consume content</p></li><li><p>Learn to speak another language (maybe Japanese)</p></li><li><p>Run a sustainable bookstore with a cafe with my wife</p></li></ul><div><hr></div><h2><strong>Links</strong></h2><ul><li><p>[Life] &#8220;<a href="https://x.com/isabelunraveled/status/1958534759463694458">people are so confused when you break a bunch of fake rules and live a way better life in a parallel, adjacent existence that requires just a little bit of independent thinking to achieve</a>&#8221;</p></li><li><p>[Parenting'] &#8220;<a href="https://x.com/BoringBiz_/status/1952043540017561762">The biggest gift in life are parents who believed in you and encouraged your dreams all along. The level of self confidence it provides a child is life changing. More meaningful than any amount of money they can leave you</a>&#8221;</p></li><li><p>[Parenting] </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://x.com/simonsarris/status/1952545164968259965" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jPCU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a342c8-ad9e-41c4-93ef-c33931da0ff4_599x657.png 424w, https://substackcdn.com/image/fetch/$s_!jPCU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a342c8-ad9e-41c4-93ef-c33931da0ff4_599x657.png 848w, https://substackcdn.com/image/fetch/$s_!jPCU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a342c8-ad9e-41c4-93ef-c33931da0ff4_599x657.png 1272w, https://substackcdn.com/image/fetch/$s_!jPCU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a342c8-ad9e-41c4-93ef-c33931da0ff4_599x657.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jPCU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a342c8-ad9e-41c4-93ef-c33931da0ff4_599x657.png" width="599" height="657" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/12a342c8-ad9e-41c4-93ef-c33931da0ff4_599x657.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:657,&quot;width&quot;:599,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:479176,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://x.com/simonsarris/status/1952545164968259965&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/173339085?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a342c8-ad9e-41c4-93ef-c33931da0ff4_599x657.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jPCU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a342c8-ad9e-41c4-93ef-c33931da0ff4_599x657.png 424w, https://substackcdn.com/image/fetch/$s_!jPCU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a342c8-ad9e-41c4-93ef-c33931da0ff4_599x657.png 848w, https://substackcdn.com/image/fetch/$s_!jPCU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a342c8-ad9e-41c4-93ef-c33931da0ff4_599x657.png 1272w, https://substackcdn.com/image/fetch/$s_!jPCU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a342c8-ad9e-41c4-93ef-c33931da0ff4_599x657.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div></li><li><p>[Design &amp; AI] <a href="https://zehfernandes.com/posts/interfaces-that-augment-or-replace">Interfaces That Augment or Replace?</a> by Zeh Fernandes (Founding designer at Resend)</p></li><li><p>[Design] <a href="https://x.com/ryolu_/status/1952759102058242253">how can engineers (or anyone) get better at design?</a> by Ryo Lu (Head of Design at Cursor)</p></li><li><p>[Growth] <a href="https://dx.tips/master-builder">The Master Builder is the most valuable type of DevRel right now</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Latent.Space&quot;,&quot;id&quot;:89230629,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/703cf3dd-3bab-4f7b-86fa-f4443f15f8a4_152x152.jpeg&quot;,&quot;uuid&quot;:&quot;1f787a30-18a9-4a0d-815d-8a35680751f1&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p>[Growth] <a href="https://stephango.com/scars">Scars are beautiful</a> by Steph Ango (CEO of Obsidian)</p></li><li><p>[Career] <a href="https://offmenu.substack.com/p/the-other-kind-of-creative-director">The other kind of creative director</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Elan Miller&quot;,&quot;id&quot;:108943,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/6445cad9-c37e-45eb-877c-3da48ab3c701_1024x1024.jpeg&quot;,&quot;uuid&quot;:&quot;92ce3cf5-7617-4c0f-9706-58a3497e4f71&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul>]]></content:encoded></item><item><title><![CDATA[July recap: Following my curiosity]]></title><description><![CDATA[Building an MRT status tracker, annual goal progress, and 8 interesting links]]></description><link>https://letters.alfredlua.com/p/july-recap-following-my-curiosity</link><guid isPermaLink="false">https://letters.alfredlua.com/p/july-recap-following-my-curiosity</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Thu, 07 Aug 2025 12:30:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tE3n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd12de3f-3965-4f21-b449-33c8638bd6ec_1280x960.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tE3n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd12de3f-3965-4f21-b449-33c8638bd6ec_1280x960.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tE3n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd12de3f-3965-4f21-b449-33c8638bd6ec_1280x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tE3n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd12de3f-3965-4f21-b449-33c8638bd6ec_1280x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tE3n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd12de3f-3965-4f21-b449-33c8638bd6ec_1280x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tE3n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd12de3f-3965-4f21-b449-33c8638bd6ec_1280x960.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tE3n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd12de3f-3965-4f21-b449-33c8638bd6ec_1280x960.jpeg" width="1280" height="960" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cd12de3f-3965-4f21-b449-33c8638bd6ec_1280x960.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:960,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:230945,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/169545244?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd12de3f-3965-4f21-b449-33c8638bd6ec_1280x960.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tE3n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd12de3f-3965-4f21-b449-33c8638bd6ec_1280x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tE3n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd12de3f-3965-4f21-b449-33c8638bd6ec_1280x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tE3n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd12de3f-3965-4f21-b449-33c8638bd6ec_1280x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tE3n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd12de3f-3965-4f21-b449-33c8638bd6ec_1280x960.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A few weeks back, out of curiosity, I tried building a website with Lovable, one of the popular AI app builder.</p><p>Because I was spending a lot of time on Reddit nowadays and the MRT trains kept breaking down, I noticed several redditors complaining about train delays and faults on r/Singapore. And interestingly, the official channels were not reporting them.</p><p>Then, the idea hit me.</p><p><em>Why not build a MRT status dashboard based on reports in r/Singapore?</em></p><p>In about 10 minutes, I managed to create this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PUHx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d415c26-3cf3-4e5d-862d-c20021e171e3_3024x1710.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PUHx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d415c26-3cf3-4e5d-862d-c20021e171e3_3024x1710.png 424w, https://substackcdn.com/image/fetch/$s_!PUHx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d415c26-3cf3-4e5d-862d-c20021e171e3_3024x1710.png 848w, https://substackcdn.com/image/fetch/$s_!PUHx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d415c26-3cf3-4e5d-862d-c20021e171e3_3024x1710.png 1272w, https://substackcdn.com/image/fetch/$s_!PUHx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d415c26-3cf3-4e5d-862d-c20021e171e3_3024x1710.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PUHx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d415c26-3cf3-4e5d-862d-c20021e171e3_3024x1710.png" width="1456" height="823" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6d415c26-3cf3-4e5d-862d-c20021e171e3_3024x1710.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:823,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:718178,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/169545244?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d415c26-3cf3-4e5d-862d-c20021e171e3_3024x1710.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PUHx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d415c26-3cf3-4e5d-862d-c20021e171e3_3024x1710.png 424w, https://substackcdn.com/image/fetch/$s_!PUHx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d415c26-3cf3-4e5d-862d-c20021e171e3_3024x1710.png 848w, https://substackcdn.com/image/fetch/$s_!PUHx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d415c26-3cf3-4e5d-862d-c20021e171e3_3024x1710.png 1272w, https://substackcdn.com/image/fetch/$s_!PUHx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d415c26-3cf3-4e5d-862d-c20021e171e3_3024x1710.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I wanted to launch this while the train lines were still affected to show how the website works. I was also eager for some social media dopamine, so I wanted to publish this on LinkedIn before the weekends. </p><p>It was Friday afternoon, about 4pm. I quickly checked the website was working and hit &#8220;Publish&#8221;&#8230;</p><p>Alas, the website had a major issue. </p><p><a href="https://www.linkedin.com/feed/update/urn:li:activity:7349325916944113664/">A few attentive folks called me out rightfully.</a> </p><p>It hurted. So, I wanted to fix it as soon as possible. </p><p>My website was getting the Reddit posts directly from https://www.reddit.com/r/singapore/new.json?limit=50, which Reddit and browsers don&#8217;t allow. It was &#8220;working&#8221; for me because Chrome somehow allowed that. If you were on your iPhone or using Safari, you would see mock data instead. </p><p>I stayed up that Friday night until midnight trying to fix this. But I couldn&#8217;t. After some rest and time with my son, I found a solution on Saturday afternoon. I moved <a href="https://mrt.alfredlua.com/">the website</a> from Lovable to Vercel and set up an serverless function to fetch the Reddit posts via the Reddit API. </p><p>I thought this would be the end of the project. But the trains kept breaking down in the past few weeks. When I spotted any reports on r/Singapore, I thanked the redditor for sharing because their report helped to update the status on my website. This led to several improvements and lessons:</p><ol><li><p>I was ashamed to promote an ugly website, so I updated the style to match Singapore&#8217;s red and white. <a href="https://www.reddit.com/r/singapore/comments/1mdo6pf/comment/n63b7br/?utm_source=share&amp;utm_medium=web3x&amp;utm_name=web3xcss&amp;utm_term=1&amp;utm_content=share_button">A redditor also shared helpful feedback.</a> </p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BMep!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcca91147-c767-4960-b438-79e71c7ac82c_1624x1056.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BMep!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcca91147-c767-4960-b438-79e71c7ac82c_1624x1056.png 424w, https://substackcdn.com/image/fetch/$s_!BMep!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcca91147-c767-4960-b438-79e71c7ac82c_1624x1056.png 848w, https://substackcdn.com/image/fetch/$s_!BMep!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcca91147-c767-4960-b438-79e71c7ac82c_1624x1056.png 1272w, https://substackcdn.com/image/fetch/$s_!BMep!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcca91147-c767-4960-b438-79e71c7ac82c_1624x1056.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BMep!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcca91147-c767-4960-b438-79e71c7ac82c_1624x1056.png" width="1456" height="947" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cca91147-c767-4960-b438-79e71c7ac82c_1624x1056.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:947,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:339022,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/169545244?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcca91147-c767-4960-b438-79e71c7ac82c_1624x1056.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BMep!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcca91147-c767-4960-b438-79e71c7ac82c_1624x1056.png 424w, https://substackcdn.com/image/fetch/$s_!BMep!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcca91147-c767-4960-b438-79e71c7ac82c_1624x1056.png 848w, https://substackcdn.com/image/fetch/$s_!BMep!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcca91147-c767-4960-b438-79e71c7ac82c_1624x1056.png 1272w, https://substackcdn.com/image/fetch/$s_!BMep!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcca91147-c767-4960-b438-79e71c7ac82c_1624x1056.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol start="2"><li><p>I didn&#8217;t include the LRT lines initially until the Bukit Panjang LRT broke down and someone reported it on r/Singapore. I quickly added the LRT lines.</p></li><li><p>Some redditors mentioned that the website had irrelevant posts (often news articles about train faults several days after the incidents), so I had to figure out how to improve my filters. For example, I now filter out Reddit posts that are links because those are likely not community reports of train faults and delays.</p></li><li><p>On a Reddit post about train fault statistics, <a href="https://www.reddit.com/r/singapore/comments/1mbhes2/comment/n5p6b9y/?context=3">someone asked about delays not officially reported</a>. Sensing an opportunity, I added <a href="https://mrt.alfredlua.com/history">a history of Reddit reports in 2025</a>. This experience was very educational. I wrote a script to fetch all the relevant posts and add them to a Supabase database. I also created a GitHub Action that runs every morning to add relevant posts to my database.  </p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QGyX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1691af-ddd4-4943-a4ff-0184dc282563_1624x1056.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QGyX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1691af-ddd4-4943-a4ff-0184dc282563_1624x1056.png 424w, https://substackcdn.com/image/fetch/$s_!QGyX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1691af-ddd4-4943-a4ff-0184dc282563_1624x1056.png 848w, https://substackcdn.com/image/fetch/$s_!QGyX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1691af-ddd4-4943-a4ff-0184dc282563_1624x1056.png 1272w, https://substackcdn.com/image/fetch/$s_!QGyX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1691af-ddd4-4943-a4ff-0184dc282563_1624x1056.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QGyX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1691af-ddd4-4943-a4ff-0184dc282563_1624x1056.png" width="1456" height="947" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0d1691af-ddd4-4943-a4ff-0184dc282563_1624x1056.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:947,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:362156,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/169545244?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1691af-ddd4-4943-a4ff-0184dc282563_1624x1056.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QGyX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1691af-ddd4-4943-a4ff-0184dc282563_1624x1056.png 424w, https://substackcdn.com/image/fetch/$s_!QGyX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1691af-ddd4-4943-a4ff-0184dc282563_1624x1056.png 848w, https://substackcdn.com/image/fetch/$s_!QGyX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1691af-ddd4-4943-a4ff-0184dc282563_1624x1056.png 1272w, https://substackcdn.com/image/fetch/$s_!QGyX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1691af-ddd4-4943-a4ff-0184dc282563_1624x1056.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol start="4"><li><p>Since there could be multiple reports for an incident, I create a table with the number of days with reports, broken down by the train lines. Styling these two pages was an interesting challenge but it helped that the train lines are colorful.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PqgA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe67d8c8-e139-4ac3-82f7-dfa33f1fcde5_1624x1056.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PqgA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe67d8c8-e139-4ac3-82f7-dfa33f1fcde5_1624x1056.png 424w, https://substackcdn.com/image/fetch/$s_!PqgA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe67d8c8-e139-4ac3-82f7-dfa33f1fcde5_1624x1056.png 848w, https://substackcdn.com/image/fetch/$s_!PqgA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe67d8c8-e139-4ac3-82f7-dfa33f1fcde5_1624x1056.png 1272w, https://substackcdn.com/image/fetch/$s_!PqgA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe67d8c8-e139-4ac3-82f7-dfa33f1fcde5_1624x1056.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PqgA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe67d8c8-e139-4ac3-82f7-dfa33f1fcde5_1624x1056.png" width="1456" height="947" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe67d8c8-e139-4ac3-82f7-dfa33f1fcde5_1624x1056.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:947,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:265556,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/169545244?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe67d8c8-e139-4ac3-82f7-dfa33f1fcde5_1624x1056.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PqgA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe67d8c8-e139-4ac3-82f7-dfa33f1fcde5_1624x1056.png 424w, https://substackcdn.com/image/fetch/$s_!PqgA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe67d8c8-e139-4ac3-82f7-dfa33f1fcde5_1624x1056.png 848w, https://substackcdn.com/image/fetch/$s_!PqgA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe67d8c8-e139-4ac3-82f7-dfa33f1fcde5_1624x1056.png 1272w, https://substackcdn.com/image/fetch/$s_!PqgA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe67d8c8-e139-4ac3-82f7-dfa33f1fcde5_1624x1056.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol start="5"><li><p>For a recent train delay, <a href="https://www.reddit.com/r/singapore/comments/1mdo6pf/comment/n635hpn/?context=3">my reddit comment</a> was upvoted by many redditors and drove over a thousand people to my website. I&#8217;m certain Vercel, Supabase, and Reddit can handle that volume well but I was inspired to add caching to the website. I had never done this before, so I learned. I figured it out after two nights. Now, every website visit doesn&#8217;t call the Reddit API and get data from my database, and the website loads much faster.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lrz6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7881470f-367e-4d01-82e3-c421a0776a1a_772x157.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lrz6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7881470f-367e-4d01-82e3-c421a0776a1a_772x157.png 424w, https://substackcdn.com/image/fetch/$s_!lrz6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7881470f-367e-4d01-82e3-c421a0776a1a_772x157.png 848w, https://substackcdn.com/image/fetch/$s_!lrz6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7881470f-367e-4d01-82e3-c421a0776a1a_772x157.png 1272w, https://substackcdn.com/image/fetch/$s_!lrz6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7881470f-367e-4d01-82e3-c421a0776a1a_772x157.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lrz6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7881470f-367e-4d01-82e3-c421a0776a1a_772x157.png" width="772" height="157" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7881470f-367e-4d01-82e3-c421a0776a1a_772x157.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:157,&quot;width&quot;:772,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:30351,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/169545244?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7881470f-367e-4d01-82e3-c421a0776a1a_772x157.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lrz6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7881470f-367e-4d01-82e3-c421a0776a1a_772x157.png 424w, https://substackcdn.com/image/fetch/$s_!lrz6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7881470f-367e-4d01-82e3-c421a0776a1a_772x157.png 848w, https://substackcdn.com/image/fetch/$s_!lrz6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7881470f-367e-4d01-82e3-c421a0776a1a_772x157.png 1272w, https://substackcdn.com/image/fetch/$s_!lrz6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7881470f-367e-4d01-82e3-c421a0776a1a_772x157.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5_vH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53d4e020-b10b-4741-8346-51787dab091c_1278x642.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5_vH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53d4e020-b10b-4741-8346-51787dab091c_1278x642.png 424w, https://substackcdn.com/image/fetch/$s_!5_vH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53d4e020-b10b-4741-8346-51787dab091c_1278x642.png 848w, https://substackcdn.com/image/fetch/$s_!5_vH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53d4e020-b10b-4741-8346-51787dab091c_1278x642.png 1272w, https://substackcdn.com/image/fetch/$s_!5_vH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53d4e020-b10b-4741-8346-51787dab091c_1278x642.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5_vH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53d4e020-b10b-4741-8346-51787dab091c_1278x642.png" width="1278" height="642" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/53d4e020-b10b-4741-8346-51787dab091c_1278x642.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:642,&quot;width&quot;:1278,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:54472,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/169545244?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53d4e020-b10b-4741-8346-51787dab091c_1278x642.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5_vH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53d4e020-b10b-4741-8346-51787dab091c_1278x642.png 424w, https://substackcdn.com/image/fetch/$s_!5_vH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53d4e020-b10b-4741-8346-51787dab091c_1278x642.png 848w, https://substackcdn.com/image/fetch/$s_!5_vH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53d4e020-b10b-4741-8346-51787dab091c_1278x642.png 1272w, https://substackcdn.com/image/fetch/$s_!5_vH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53d4e020-b10b-4741-8346-51787dab091c_1278x642.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This Friday afternoon project turned into a month-long learning experience. </p><p>I started out just wanting to test Lovable; I don&#8217;t even take the MRT daily. But one thing led to another, and I&#8217;m glad I followed my curiosity. Even though there were several nice compliments about the website, it honestly has insignificant impact on others. But I learned to style the website and hone my taste, write scripts, work with Supabase, use GitHub Actions, and add caching. (As a bonus, I chalked up some Reddit karma.)</p><p>If I had started out wanting to learn all these specifically, I doubt I&#8217;d have made as much progress within such a short period. Working on a project and having both positive and negative feedback drove me better. </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nhLh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48da7fb8-2d43-4856-beef-2e407716cd53_1456x116.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nhLh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48da7fb8-2d43-4856-beef-2e407716cd53_1456x116.png 424w, https://substackcdn.com/image/fetch/$s_!nhLh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48da7fb8-2d43-4856-beef-2e407716cd53_1456x116.png 848w, https://substackcdn.com/image/fetch/$s_!nhLh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48da7fb8-2d43-4856-beef-2e407716cd53_1456x116.png 1272w, https://substackcdn.com/image/fetch/$s_!nhLh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48da7fb8-2d43-4856-beef-2e407716cd53_1456x116.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nhLh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48da7fb8-2d43-4856-beef-2e407716cd53_1456x116.png" width="1456" height="116" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48da7fb8-2d43-4856-beef-2e407716cd53_1456x116.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:116,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6366,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/169545244?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48da7fb8-2d43-4856-beef-2e407716cd53_1456x116.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nhLh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48da7fb8-2d43-4856-beef-2e407716cd53_1456x116.png 424w, https://substackcdn.com/image/fetch/$s_!nhLh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48da7fb8-2d43-4856-beef-2e407716cd53_1456x116.png 848w, https://substackcdn.com/image/fetch/$s_!nhLh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48da7fb8-2d43-4856-beef-2e407716cd53_1456x116.png 1272w, https://substackcdn.com/image/fetch/$s_!nhLh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48da7fb8-2d43-4856-beef-2e407716cd53_1456x116.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://letters.alfredlua.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">I write about my experiences being a founder-dad and exploring AI. Join me on this adventure!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>How am I doing for my 2025 goals</strong></h2><p>You would imagine my July would have been awesome after <a href="https://letters.alfredlua.com/p/june-recap-intentional-living">my reflection in June</a> to be more intentional about my life. But it was more like a J-curve: things get worse first, then much better than the starting point. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XRv0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8d1095-9ebf-4578-b5a9-42b8a46d7491_327x323.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XRv0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8d1095-9ebf-4578-b5a9-42b8a46d7491_327x323.jpeg 424w, https://substackcdn.com/image/fetch/$s_!XRv0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8d1095-9ebf-4578-b5a9-42b8a46d7491_327x323.jpeg 848w, https://substackcdn.com/image/fetch/$s_!XRv0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8d1095-9ebf-4578-b5a9-42b8a46d7491_327x323.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!XRv0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8d1095-9ebf-4578-b5a9-42b8a46d7491_327x323.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XRv0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8d1095-9ebf-4578-b5a9-42b8a46d7491_327x323.jpeg" width="327" height="323" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c8d1095-9ebf-4578-b5a9-42b8a46d7491_327x323.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:323,&quot;width&quot;:327,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;undefined&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="undefined" title="undefined" srcset="https://substackcdn.com/image/fetch/$s_!XRv0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8d1095-9ebf-4578-b5a9-42b8a46d7491_327x323.jpeg 424w, https://substackcdn.com/image/fetch/$s_!XRv0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8d1095-9ebf-4578-b5a9-42b8a46d7491_327x323.jpeg 848w, https://substackcdn.com/image/fetch/$s_!XRv0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8d1095-9ebf-4578-b5a9-42b8a46d7491_327x323.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!XRv0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8d1095-9ebf-4578-b5a9-42b8a46d7491_327x323.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Build a meaningful profitable business</strong></p><p>After working with our beta testers and reflecting as a team, SK and I decided to pivot <a href="https://dewlop.com/">Dewlop</a> to enable everyone to build their personal software with AI. </p><p>Remember the days we would spend hours customizing our blogs? Nowadays, people are just simply using Substack (guilty as charged!) We used to have personal photo galleries; now we all use Instagram. Personal diaries? Notion. Over the years, we have gradually moved towards mass market software, which is efficient yet lacks personality and customizability<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>. </p><p>Mass market software cannot be perfect for everyone because we are all unique. The apps are always missing specific features we want while also having features we don&#8217;t need (yet we have to pay for them). </p><p>AI is now powerful enough to enable everyone, whether you are technical or not, to create unique apps for that single person: Ourselves. </p><p>You want a journal to store your kid&#8217;s photos but also log her sleep and chart her growth? Or you want a personal financial tracker with three specific charts? Or you want a reading tracking for recording not just books but also articles, videos, and podcasts?</p><p>Sure. Instead of paying for bloated-yet-insufficient software or using hacky spreadsheets, you should be able to craft unique personal apps. With the new Dewlop, you can.</p><p>We are still working on the pivot but should have a beta app ready this month (August). Let me know if you are interested in trying it! </p><p><strong>Bring my family on a vacation &#9989;</strong></p><p><a href="https://letters.alfredlua.com/p/6-day-trip-in-perth-with-an-18-mo">We went to Perth</a> in March.</p><p>We also went on two school excursions with our son. I missed our son&#8217;s very first school excursion because <a href="https://letters.alfredlua.com/p/yima">my yima</a> was cremated that same day. Since then, I have gone on every excursion. They are tiring (I won&#8217;t deny it) but so fun.</p><p><strong>Read at least 3 books on parenting</strong></p><p>I completed Good Inside in <a href="https://letters.alfredlua.com/p/april-recap-meta-work">April</a>, picked up Totto-Chan in August, and have been reading The Daily Dad and The Book You Wish Your Parents Had Read.</p><div class="comment" data-attrs="{&quot;url&quot;:&quot;https://open.substack.com/home&quot;,&quot;commentId&quot;:136699671,&quot;comment&quot;:{&quot;id&quot;:136699671,&quot;date&quot;:&quot;2025-07-19T00:10:32.818Z&quot;,&quot;edited_at&quot;:null,&quot;body&quot;:&quot;When I was 14, I had to read Totto-chan for a literature class. I hated reading, so I googled for a summary. \n\nNow, at 33, with a kid, I bought it to read. \n\nThere&#8217;s a right time for each book. &quot;,&quot;body_json&quot;:{&quot;content&quot;:[{&quot;content&quot;:[{&quot;text&quot;:&quot;When I was 14, I had to read Totto-chan for a literature class. I hated reading, so I googled for a summary. &quot;,&quot;type&quot;:&quot;text&quot;}],&quot;type&quot;:&quot;paragraph&quot;},{&quot;content&quot;:[{&quot;text&quot;:&quot;Now, at 33, with a kid, I bought it to read. &quot;,&quot;type&quot;:&quot;text&quot;}],&quot;type&quot;:&quot;paragraph&quot;},{&quot;content&quot;:[{&quot;text&quot;:&quot;There&#8217;s a right time for each book. &quot;,&quot;type&quot;:&quot;text&quot;}],&quot;type&quot;:&quot;paragraph&quot;}],&quot;type&quot;:&quot;doc&quot;,&quot;attrs&quot;:{&quot;schemaVersion&quot;:&quot;v1&quot;}},&quot;restacks&quot;:0,&quot;reaction_count&quot;:4,&quot;attachments&quot;:[{&quot;id&quot;:&quot;b34a7151-abf2-441a-acc8-cbc27d6a88d0&quot;,&quot;type&quot;:&quot;image&quot;,&quot;imageUrl&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19e82b56-9955-4377-98d3-52dbf2c6ff7a_5712x4284.jpeg&quot;,&quot;imageWidth&quot;:4284,&quot;imageHeight&quot;:5712,&quot;explicit&quot;:false},{&quot;id&quot;:&quot;62dbd43e-6275-45d6-99cb-758c2f186d27&quot;,&quot;type&quot;:&quot;image&quot;,&quot;imageUrl&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9198038a-e992-4d26-af44-d04cc12472ca_5712x4284.jpeg&quot;,&quot;imageWidth&quot;:4284,&quot;imageHeight&quot;:5712,&quot;explicit&quot;:false}],&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;user_id&quot;:2075925,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;user_bestseller_tier&quot;:null}}" data-component-name="CommentPlaceholder"></div><p>Here&#8217;s my favorite entry from The Daily Dad for July:</p><blockquote><p>July 11<br><strong>Let Them Decide</strong></p><p><em>If I had one wish for my children, it would be that each of you would dare to do the things&#8230; that have meaning for you as individuals&#8230; but not worrying if you don&#8217;t please everyone. &#8212;LILLIAN CARTER</em></p><p>When Will Ferrell was in middle school, he qualified for the gifted and talented after-school enrichment program, so his mom signed him up. When Will found out, he told her there was a conflict&#8212;he had signed himself up for square dancing. He could only do one or the other.</p><p>To a parent, there is an obvious choice. It&#8217;s not even a discussion. We know which one will teach more, which one will be better for career prospects, which one is &#8220;cooler.&#8221; But our kids, they don&#8217;t know anything about decision-making. They don&#8217;t know about mental models. They don&#8217;t know about long-term consequences or second-order thinking. They don&#8217;t know about weighing pros and cons. They don&#8217;t know what&#8217;s best for them. They know only what they like, what excites them, what they want <em>right now</em>.</p><p>But as actress and fellow SNL cast member Ana Gasteyer tells the story, Will&#8217;s mom put all that aside. She looked at her son and said, &#8220;It&#8217;s up to you. You decide.&#8221; Will chose square dancing. &#8220;And that, to me,&#8221; Gasteyer said, &#8220;sums up why Will is the amazing Will Ferrell.&#8221; It explained, in her mind, how Will Ferrell became one of the greatest comedic actors of all time. His parents had encouraged and <em>allowed</em> him to. They didn&#8217;t intrude with their &#8220;real-world&#8221; priorities&#8212;they let him follow his heart.</p><p>When your kids feel a pull toward something creative or fulfilling, the worst thing you can do as a parent is prevent them from going in that direction. Your job, it&#8217;s worth repeating whenever there&#8217;s a chance, is to encourage them to be who they are, to follow their natural inclinations, to decide what <em>they</em> want to do after school. </p></blockquote><p><strong>Write daily, publish monthly</strong></p><p>My journal streak was 603 days at the end of July. I only published <a href="https://letters.alfredlua.com/p/june-recap-intentional-living">my June recap</a> in July (a total of 48 in 2025 so far) because I have been taking a break from writing. I have started several drafts, so you can expect more essays in August (well, hopefully!)</p><p><strong>Eat healthily, exercise 5x/week, sleep well</strong></p><p>I stayed up several nights for a &#8220;good&#8221; and a &#8220;bad&#8221; reason. The &#8220;good&#8221; reason is I was working on <a href="https://mrt.alfredlua.com/">my MRT status tracker</a>. The &#8220;bad&#8221; reason is I was binge-watching Frieren: Beyond Journey's End. I added the quotation marks because I don&#8217;t think they are entirely good or bad. </p><p>But being more tired than usual caused me to make more poor decisions, such as skipping workouts, drinking coffee after 3 p.m., sleeping late on more days, and misplacing my focus on less important tasks.</p><h3><strong>My remaining goals</strong></h3><p><strong>One-year goals (i.e. other 2025 goals)</strong></p><ul><li><p>Help my son develop a night routine and be in bed by 8 p.m. <em>- As with every parenting things, there are good days and bad days. He slept by 9 p.m. on many days but was also up until 10 to 11 p.m. on several other days.</em></p></li><li><p>Take three deep breaths whenever I&#8217;m angry or frustrated - <em>Fortunately, I don&#8217;t think I had to use this in July.</em></p></li><li><p>Accompany my parents and uncle to their health appointments <em>- One more in July; thankfully the markers are good. Four appointments so far.</em></p></li><li><p>Cycle 10x a year - <em>I didn&#8217;t cycle in July. Still 5/10.</em></p></li><li><p>Switch from kopi (coffee) to kopi siew dai (coffee less sweet) <em>- I had an iced latte almost every day and sometimes two in a day. I&#8217;m okay with my caffeine intake but I want to reduce my sugar intake.</em></p></li><li><p>Host five dinners at home - <em>Still 1/5 for now.</em></p></li><li><p>Get a part-time cleaner for our house <em>- I think we are still doing okay.</em></p></li><li><p>No coffee after 3 p.m. <em>- Missed a few days when I was exceptionally tired.</em></p></li></ul><p><strong>Five-year goals</strong></p><ul><li><p>Bring my family to Europe and New Zealand</p></li><li><p>Create a library at home for my son - <em>I turned our unused TV console into a mini-library for now.</em></p></li><li><p>Teach my son to cycle and swim <em>- He is back enjoying swimming; we even went to the pool more than once a week.</em></p></li><li><p>Learn to play the piano</p></li><li><p>Complete a triathlon (any distance)</p></li></ul><p><strong>Lifetime goals</strong></p><ul><li><p>Publish a book</p></li><li><p>Get back into drawing</p></li><li><p>Complete an Ironman triathlon</p></li><li><p>Bring my son somewhere to see snow (maybe Japan, Seoul, or Switzerland)</p></li><li><p>Raise kids with integrity, compassion, and agency</p></li><li><p>Build something with my dad</p></li><li><p>Have a workbench for playing with hardware</p></li><li><p>Visit Ghibli Park in Aichi, Japan, and Ghibli Museum in Tokyo, Japan</p></li><li><p>Mentor someone</p></li><li><p>Volunteer somewhere (maybe contribute to healthcare or education)</p></li><li><p>Contribute somehow to Singapore (maybe through my business) - <em><a href="https://mrt.alfredlua.com/">My MRT status tracker</a> is technically a contribution, given that some people in Singapore found it useful.</em></p></li><li><p>Become rich enough to be independent, not to acquire material possessions</p></li><li><p>Live until 100 while being physically fit and mentally sharp</p></li><li><p>Use social media to help others, not just consume content</p></li><li><p>Learn to speak another language (maybe Japanese)</p></li></ul><div><hr></div><h2><strong>Links</strong></h2><ul><li><p>[Life] <a href="https://joincolossus.com/article/flounder-mode/">Flounder Mode: Kevin Kelly on a different way to do great work</a> </p></li></ul><blockquote><p>Compared to this, Kelly&#8217;s version of doing his life&#8217;s work seems so joyful, so buoyant. So much less &#8230; angsty. There&#8217;s no suffering or ego. It&#8217;s not about finding a hole in the market or a path to global domination. The yard stick isn&#8217;t based on net worth or shareholder value or number of users or employees. It&#8217;s based on an internal satisfaction meter, but not in a self-indulgent way. He certainly seeks resonance and wants to make an impact, but more in the way of a teacher. He breathes life into products or ideas, not out of a desire to win, but out of a desire to advance our collective thinking or action. His work and its impact unfold slowly, rather than by sheer force of will. Ideas or projects seem to tug at him, rather than reveal themselves on the other end of an internal cattle prod. His range is wide, but all his work somehow rhymes. It clearly comes very naturally for him to work this way, but it&#8217;s certainly not the norm.</p></blockquote><ul><li><p>[Life] <a href="https://maalvika.substack.com/p/why-are-we-lying-to-young-people?ref=DenseDiscovery-346">why are we lying to young people about work?</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;maalvika&quot;,&quot;id&quot;:89793569,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1eb8773a-c586-4b2e-a6de-d56ea45a4e22_1792x1792.jpeg&quot;,&quot;uuid&quot;:&quot;ffd96e88-e52c-4979-b83f-2cbe600956a4&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p>[Life] <a href="https://kevinyien.com/blog/marriage.html">Marriage</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Kevin Yien&quot;,&quot;id&quot;:6524011,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4682aad8-decb-441a-b982-d9ecda4215d8_48x48.png&quot;,&quot;uuid&quot;:&quot;c1ae87db-d7a7-49d0-be0e-4d51c7ec2282&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p>[Life &amp; parenting] &#8220;If you are blessed with a partner that you love, some children that you adore, you&#8217;ve already won the greatest prize that most humans are able to achieve.&#8221;</p></li></ul><div id="youtube2-vagyIcmIGOQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;vagyIcmIGOQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/vagyIcmIGOQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><ul><li><p>[Growth] <a href="https://usefulfictions.substack.com/p/how-to-instantly-be-better-at-anything?r=18hsl&amp;utm_medium=ios&amp;triedRedirect=true">How to instantly be better at things</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Cate Hall&quot;,&quot;id&quot;:29458493,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/398dcb56-3f2e-4018-9a9e-93dc3555fcb5_422x422.jpeg&quot;,&quot;uuid&quot;:&quot;ad9cd535-b36d-4e7b-8cd8-cdff064081fa&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p>[Growth] <a href="https://emilkowal.ski/ui/animating-in-public">Animating in Public</a> by Emil Kowalski</p></li><li><p>[Growth] George Steiner on Learning by Heart</p></li></ul><div id="youtube2-DHqHv5HqZCQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;DHqHv5HqZCQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/DHqHv5HqZCQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><ul><li><p>[Fitness &amp; AI] <a href="https://signull.substack.com/p/how-to-build-an-adaptive-fitness">how to build an adaptive fitness coach that actually works</a> by </p><p>signull</p></li></ul><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Yes, Notion is quite customizable but you still cannot add new features yourself if you want to. To be fair, Obsidian is rather customizable with its themes and plugins. </p></div></div>]]></content:encoded></item><item><title><![CDATA[June recap: Intentional living]]></title><description><![CDATA[Half of 2025 is over. How have you been, really?]]></description><link>https://letters.alfredlua.com/p/june-recap-intentional-living</link><guid isPermaLink="false">https://letters.alfredlua.com/p/june-recap-intentional-living</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Thu, 03 Jul 2025 12:30:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!K5-A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28ddc7f5-b3b4-41f6-96cb-799281ebcdc5_1280x960.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!K5-A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28ddc7f5-b3b4-41f6-96cb-799281ebcdc5_1280x960.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K5-A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28ddc7f5-b3b4-41f6-96cb-799281ebcdc5_1280x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!K5-A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28ddc7f5-b3b4-41f6-96cb-799281ebcdc5_1280x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!K5-A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28ddc7f5-b3b4-41f6-96cb-799281ebcdc5_1280x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!K5-A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28ddc7f5-b3b4-41f6-96cb-799281ebcdc5_1280x960.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K5-A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28ddc7f5-b3b4-41f6-96cb-799281ebcdc5_1280x960.jpeg" width="1280" height="960" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/28ddc7f5-b3b4-41f6-96cb-799281ebcdc5_1280x960.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:960,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:233235,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/167030284?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28ddc7f5-b3b4-41f6-96cb-799281ebcdc5_1280x960.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!K5-A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28ddc7f5-b3b4-41f6-96cb-799281ebcdc5_1280x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!K5-A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28ddc7f5-b3b4-41f6-96cb-799281ebcdc5_1280x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!K5-A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28ddc7f5-b3b4-41f6-96cb-799281ebcdc5_1280x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!K5-A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28ddc7f5-b3b4-41f6-96cb-799281ebcdc5_1280x960.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">I write down the key events with my family and for my work, personal growth, and fitness daily, to remind myself of the most important things in my life. But even this act gradually became another thing I did without much thought.</figcaption></figure></div><p>Despite <a href="https://letters.alfredlua.com/p/my-2024-annual-review-on-the-shortness">my last annual review</a> and <a href="https://letters.alfredlua.com/p/may-recap-high-standards">monthly recaps</a>, I found myself slipping.</p><p>I started the year wanting to be intentional about how I live my life and spend my time. But gradually, I went into autopilot. </p><p>Bad night's sleep.<br>Workout (if I can get up).<br>Send my son to school.<br>Breakfast.<br>Work.<br>Lunch.<br>Work.<br>Pick up my son.<br>Dinner.<br>Urge my son to sleep, so I can rest.<br>Bad night's sleep.</p><p>Sure. I was still spending time with my family, working on our startup, and exercising. But I was just going through the motions. I wasn&#8217;t present. I was often thinking about the next thing. </p><p>Sometime in the middle of June, perhaps because it dawned on me that half the year was almost over, I caught myself drifting through life.</p><div class="comment" data-attrs="{&quot;url&quot;:&quot;https://open.substack.com/home&quot;,&quot;commentId&quot;:127558837,&quot;comment&quot;:{&quot;id&quot;:127558837,&quot;date&quot;:&quot;2025-06-20T01:00:35.630Z&quot;,&quot;edited_at&quot;:null,&quot;body&quot;:&quot;I used to think I don&#8217;t want a conventional life of having a stable job, getting married, getting a house, and having kids, like most Singaporeans seem to do. \n\nBut I realized what I actually don&#8217;t want is going through life without being intentional. \n\nI don&#8217;t have a good solution yet but my annual review and monthly recaps have helped a little so far. &quot;,&quot;body_json&quot;:{&quot;attrs&quot;:{&quot;schemaVersion&quot;:&quot;v1&quot;},&quot;type&quot;:&quot;doc&quot;,&quot;content&quot;:[{&quot;type&quot;:&quot;paragraph&quot;,&quot;content&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;text&quot;:&quot;I used to think I don&#8217;t want a conventional life of having a stable job, getting married, getting a house, and having kids, like most Singaporeans seem to do. &quot;}]},{&quot;content&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;text&quot;:&quot;But I realized what I actually don&#8217;t want is going through life without being intentional. &quot;}],&quot;type&quot;:&quot;paragraph&quot;},{&quot;type&quot;:&quot;paragraph&quot;,&quot;content&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;text&quot;:&quot;I don&#8217;t have a good solution yet but my annual review and monthly recaps have helped a little so far. &quot;}]}]},&quot;restacks&quot;:0,&quot;reaction_count&quot;:2,&quot;attachments&quot;:[],&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;user_id&quot;:2075925,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;user_bestseller_tier&quot;:null}}" data-component-name="CommentPlaceholder"></div><p>I don&#8217;t have a stable job but I&#8217;m married, have a house, and have a kid. I realized this isn&#8217;t a bad thing because I was intentional about all of them. They didn&#8217;t just happen. My wife and I pursued them.</p><p>But once I got into a comfortable state, I became less thoughtful about how I spent my time, my life. </p><p>Instead of playing with my son in the evenings, I sometimes wished he would go to bed, especially after we had played for two to three hours. I craved for some quiet time to read but when I got the time, I mindlessly scrolled Reddit. I created content and posted on social media to promote Dewlop because it&#8217;s what I know, not because it&#8217;s the best thing to do. Often, several days would go by, and I only had a vague idea of what had happened. </p><p>One day, I just decided to do better. Of course, I didn&#8217;t become better immediately and I&#8217;m still working on it. I try to pay attention. And not rush. I try to enjoy <a href="https://letters.alfredlua.com/p/in-praise-of-the-daily-mundane">the daily mundane</a> again. I remind myself that time with my little boy and wife will not come back if I let it slip away. I regularly look at <a href="https://letters.alfredlua.com/p/my-2024-annual-review-on-the-shortness">my 2024 annual review</a> to revisit my life principles. </p><p>Here&#8217;s a fun change as a result of the mindset shift. In the second half of June, I became more deliberate at improving my product skills. Instead of just posting about Dewlop and hoping people would be interested, I contacted my friends and managed to have several insightful conversations with them and their referrals. I practiced and refined my user interviews. I researched and reached out to more experienced folks for advice. These are things I desperately wanted to do in my previous jobs. But when I could do it for my own startup, I had been rather thoughtless. </p><p>But it&#8217;s never too late. If you have been feeling rather sluggish lately, I hope this is the nudge you need! </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Jzeu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a0be329-532f-4c3c-814c-230f42d2c0e0_1456x116.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Jzeu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a0be329-532f-4c3c-814c-230f42d2c0e0_1456x116.png 424w, https://substackcdn.com/image/fetch/$s_!Jzeu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a0be329-532f-4c3c-814c-230f42d2c0e0_1456x116.png 848w, https://substackcdn.com/image/fetch/$s_!Jzeu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a0be329-532f-4c3c-814c-230f42d2c0e0_1456x116.png 1272w, https://substackcdn.com/image/fetch/$s_!Jzeu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a0be329-532f-4c3c-814c-230f42d2c0e0_1456x116.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Jzeu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a0be329-532f-4c3c-814c-230f42d2c0e0_1456x116.png" width="1456" height="116" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8a0be329-532f-4c3c-814c-230f42d2c0e0_1456x116.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:116,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6366,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/167030284?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a0be329-532f-4c3c-814c-230f42d2c0e0_1456x116.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Jzeu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a0be329-532f-4c3c-814c-230f42d2c0e0_1456x116.png 424w, https://substackcdn.com/image/fetch/$s_!Jzeu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a0be329-532f-4c3c-814c-230f42d2c0e0_1456x116.png 848w, https://substackcdn.com/image/fetch/$s_!Jzeu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a0be329-532f-4c3c-814c-230f42d2c0e0_1456x116.png 1272w, https://substackcdn.com/image/fetch/$s_!Jzeu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a0be329-532f-4c3c-814c-230f42d2c0e0_1456x116.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://letters.alfredlua.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">I write about my experiences being a founder-dad and exploring AI. Join me on this adventure!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>How am I doing for my 2025 goals</strong></h2><p>The first half of June felt rather off. I felt I wasn&#8217;t doing my best work, and I was too tired. My son felt sick, and we barely slept for three nights.</p><p>Then, I had the reflection above. To be honest, I&#8217;m not sure how I managed to convince my brain but I suddenly looked at many things much more positively and did much better work. It was a virtuous cycle: I felt better, did better work, felt more recharged, and became excited about my work. </p><p><strong>Build a meaningful profitable business</strong></p><p>We are not generating revenue for our new project <a href="https://dewlop.com/">Dewlop</a> yet but it felt like a month of good progress. </p><p>After <a href="https://www.linkedin.com/posts/alfredlua_today-we-are-launching-dewlop-beta-activity-7335889244135006209-IPNI?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAyx8xgBhkDvGnyKi5mCDQPWZoOYtd5BSB0">launching our closed beta</a> for Dewlop last month, we have been working with a small group of selected beta testers. They have been very kind to jump on calls with me and share their actual workflows and documents (without any sensitive or confidential information) so that we can improve the app to handle more complex work.</p><p>The beta testers, despite being in very different industries, have two similar use cases:</p><ol><li><p>File organization: They have files from clients and colleagues that are poorly named and not sorted. They manually open each file, check the content, rename it, move it into the right folder, and repeat this for every file. Some even hired admin staff to do this.</p></li><li><p>Form filling: They have documents to submit to other departments or third parties and repetitively copying information from various documents and pasting it into the main document. (This turned out to be harder than we had expected because Microsoft Word documents can be so complicated. Tables, nested tables, checkboxes, etc. We were able to improve Dewlop to handle these because our beta testers shared their documents with us.)</p></li></ol><p>For the new month, I&#8217;m opening up our closed beta to a few more people. If you are interested, let's jump on a call to see if Dewlop is suitable for you.</p><p><strong>Bring my family on a vacation &#9989;</strong></p><p><a href="https://letters.alfredlua.com/p/6-day-trip-in-perth-with-an-18-mo">We went to Perth</a> in March.</p><p><strong>Read at least 3 books on parenting</strong></p><p>I completed Good Inside in <a href="https://letters.alfredlua.com/p/april-recap-meta-work">April</a> and have been mostly reading The Daily Dad. I only skimmed a few pages of The Book You Wish Your Parents Had Read.</p><p>I struggled to pick one favorite entry from The Daily Dad for June, so you get two!</p><blockquote><p>June 6<br><strong>It Takes a Team</strong></p><p>It&#8217;s impossible to do this all, isn&#8217;t it? We have all the task, responsibilities, and aspirations we&#8217;ve always had&#8212;eating and sleeping and working and paying our taxes and taking out the trash and following our dreams&#8212;but now we have little people to care for on top of all that. Little helpless people with infinite needs. How can we do it all?</p><p>Ursula Le Guin was a full-time wrier. She was prolific, publishing twenty-three novels, thirteen children&#8217;s books, twelve volumes of short stories, eleven volumes of poetry, five essay collections, and four works of translation. Additionally, she worked as an editor and taught college undergraduate classes.</p><p>Oh&#8230; she was also the mother of three and the wife of a history professor, Charles Le Guin.</p><p>How did she do it all? How did he do it all? They didn&#8217;t.</p><p>&#8220;One person cannot do two full-time jobs,&#8221; Le Guin once explained. &#8220;Writing is a full-time job and so is children. But two people can do three full-time jobs&#8230; That&#8217;s why I&#8217;m so strong on partnership. It can be a great things.&#8221;</p><p>Parenting is so hard to do alone; so hard. For too long, too many mothers had to do it alone, were forced to sacrificed alone. But, of course, we are strong when we, our children&#8217;s parents, parent together. We go farther, together. It&#8217;s one of the only ways to make the math work&#8212;not just for the benefit of the children, but for the parents as well.</p></blockquote><p>I&#8217;m genuinely surprised that most fathers in my dad&#8217;s generation don&#8217;t know how to change a diaper. Let&#8217;s do better, dads.</p><blockquote><p>June 14<br><strong>Keep Your Head Up and Take Another Swing</strong></p><p>No person has a perfect track record. Certainly no parents does. We all mess up. We all fall short. We make mistakes. We lose our temper and our patience. We handle certain situations in ways we wish we hadn&#8217;t.</p><p>Is there anything worse than that feeling? Knowing that you screwed up? That you might have hurt them?</p><p>Shane Parrish, creator of the wildly popular Farnam Street blog, explained:</p><p><em>I remember calling my late mom one night, exhausted and feeling overwhelmed. I had lost my cool on the kids. She gave me a piece of advice that stuck with me, &#8220;If you don&#8217;t learn to let go of your mistakes today, they&#8217;ll compound tomorrow. Get some sleep and start again tomorrow.&#8221; I still remember that when I have bad parenting days. Tomorrow I&#8217;ve got to get up and start all over.</em></p><p>You can&#8217;t go back and undo what you did yesterday. You can&#8217;t erase from their memories that time you lost your cool or that time you said those regrettable things. But what you can do is make this just one memory among many greater, more positive ones. What you can do is show them that this one moment isn&#8217;t who you are. You can strive to get better.</p><p>Keep your head up. Step up. Try again tomorrow. </p></blockquote><p>This applies to you, even if you are not a parent. <a href="https://letters.alfredlua.com/p/keep-showing-up">Just keep showing up.</a></p><p><strong>Write daily, publish monthly</strong></p><p>My journaling streak is at 572 days, as of the end of June. I really enjoy reading my entries from one, two, and sometimes three years ago to see how far I have come. But this is only possible because I kept journaling. So, start asap!</p><p>I &#8220;only&#8221; published four essays in June (a total of 47 for the year). I was rather overwhelmed in the middle of the month when my son felt sick. Of all my commitments, I decided to cut back on publishing because it is meant to help my other commitments. Doing otherwise would be putting the cart before the horse. </p><p><strong>Eat healthily, exercise 5x/week, sleep well</strong></p><p>I skipped a few workouts, and we ate out a bit more. Otherwise, I feel rather healthy (except for the sick days). Like <a href="https://letters.alfredlua.com/p/may-recap-high-standards">last month</a>, I felt energized by thinking about my work, which I shared above.</p><h3><strong>My remaining goals</strong></h3><p><strong>One-year goals (i.e. other 2025 goals)</strong></p><ul><li><p>Help my son develop a night routine and be in bed by 8 p.m. <em>- He has been going to bed even later, at around 10 p.m. Our night routine has been roughly the same but he seems less tired in the evening.</em></p></li><li><p>Take three deep breaths whenever I&#8217;m angry or frustrated <em>- I almost tipped over one night when my son kept screaming in the middle of the night for, I think, no good reason.</em></p></li><li><p>Accompany my parents and uncle to their health appointments <em>- Three so far. </em></p></li><li><p>Cycle 10x a year - <em>I cycle my indoor trainer once in June. 5/10 now.</em></p></li><li><p>Switch from kopi (coffee) to kopi siew dai (coffee less sweet) <em>- Like last month, I had many kopi siew dai and teh siew dai and almost an iced latte every day. I&#8217;m okay with my caffeine intake but I need to reduce my sugar intake through coffee.</em></p></li><li><p>Host five dinners at home - <em>Still 1/5 for now.</em></p></li><li><p>Get a part-time cleaner for our house <em>- I think we are still doing okay.</em></p></li><li><p>No coffee after 3 p.m. <em>- Yep.</em></p></li></ul><p><strong>Five-year goals</strong></p><ul><li><p>Bring my family to Europe and New Zealand</p></li><li><p>Create a library at home for my son - <em>I turned our unused TV console into a mini-library for now.</em></p></li><li><p>Teach my son to cycle and swim <em>- He seems to have lost interest in swimming these few weeks, and I think that&#8217;s perfectly fine. </em></p></li><li><p>Learn to play the piano</p></li><li><p>Complete a triathlon (any distance)</p></li></ul><p><strong>Lifetime goals</strong></p><ul><li><p>Publish a book</p></li><li><p>Get back into drawing</p></li><li><p>Complete an Ironman triathlon</p></li><li><p>Bring my son somewhere to see snow (maybe Japan, Seoul, or Switzerland)</p></li><li><p>Raise kids with integrity, compassion, and agency</p></li><li><p>Build something with my dad</p></li><li><p>Have a workbench for playing with hardware</p></li><li><p>Visit Ghibli Park in Aichi, Japan, and Ghibli Museum in Tokyo, Japan</p></li><li><p>Mentor someone</p></li><li><p>Volunteer somewhere (maybe contribute to healthcare or education)</p></li><li><p>Contribute somehow to Singapore (maybe through my business)</p></li><li><p>Become rich enough to be independent, not to acquire material possessions</p></li><li><p>Live until 100 while being physically fit and mentally sharp</p></li><li><p>Use social media to help others, not just consume content</p></li><li><p>Learn to speak another language (maybe Japanese)</p></li></ul><div><hr></div><h2><strong>Links</strong></h2><ul><li><p>[Life] <a href="https://ryanholiday.net/you-are-what-you-wont-do-for-money/">You Are What You Won&#8217;t Do For Money</a> by Ryan Holiday</p></li><li><p>[Life &amp; AI] <a href="https://blog.samaltman.com/the-gentle-singularity">The Gentle Singularity</a> by Sam Altman</p></li><li><p>[Growth] <a href="https://usefulfictions.substack.com/p/maybe-youre-not-actually-trying">Maybe you&#8217;re not Actually Trying</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Cate Hall&quot;,&quot;id&quot;:29458493,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/890c9cb2-e5f3-4458-b034-59bcdb9fafd0_871x871.png&quot;,&quot;uuid&quot;:&quot;61cb037e-ef96-434c-8d1a-cd348cfb7795&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p>[Design] <a href="https://x.com/ryolu_/status/1932460211945820386">on not changing for the sake of change</a> by Ryo Lu</p></li><li><p>[Branding] <a href="https://www.notboring.co/p/the-great-differentiation">The Great Differentiation</a></p></li></ul>]]></content:encoded></item><item><title><![CDATA[Are you stuck on your default path?]]></title><description><![CDATA[Change when you want to rather than when you are forced to]]></description><link>https://letters.alfredlua.com/p/are-you-stuck-on-your-default-path</link><guid isPermaLink="false">https://letters.alfredlua.com/p/are-you-stuck-on-your-default-path</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Thu, 12 Jun 2025 12:30:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Y_cO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe61d302e-f450-4c5b-8dea-df6f0dd4bf43_2048x1536.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Y_cO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe61d302e-f450-4c5b-8dea-df6f0dd4bf43_2048x1536.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y_cO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe61d302e-f450-4c5b-8dea-df6f0dd4bf43_2048x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Y_cO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe61d302e-f450-4c5b-8dea-df6f0dd4bf43_2048x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Y_cO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe61d302e-f450-4c5b-8dea-df6f0dd4bf43_2048x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Y_cO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe61d302e-f450-4c5b-8dea-df6f0dd4bf43_2048x1536.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Y_cO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe61d302e-f450-4c5b-8dea-df6f0dd4bf43_2048x1536.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e61d302e-f450-4c5b-8dea-df6f0dd4bf43_2048x1536.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;No photo description available.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="No photo description available." title="No photo description available." srcset="https://substackcdn.com/image/fetch/$s_!Y_cO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe61d302e-f450-4c5b-8dea-df6f0dd4bf43_2048x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Y_cO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe61d302e-f450-4c5b-8dea-df6f0dd4bf43_2048x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Y_cO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe61d302e-f450-4c5b-8dea-df6f0dd4bf43_2048x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Y_cO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe61d302e-f450-4c5b-8dea-df6f0dd4bf43_2048x1536.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Throwback to when I was studying accounting and finance. Despite the degree, I never went into finance. </figcaption></figure></div><p>It&#8217;s not that new ideas are hard to come but old ideas are hard to go. </p><p>I have been thinking about this as I reflect on the way I build and market products (but it also applies to life).</p><p>I was &#8220;brought up&#8221; at Buffer where marketing meant delivering value, specifically writing helpful long-form content and giving them away for free. That was how it built a strong brand among marketers, solopreneurs, and small businesses. </p><p>So, when we started working on <a href="https://pebblely.com/">Pebblely</a>, my first instinct was to create helpful long-form content in the same style I had honed at <a href="http://buffer.com/">Buffer</a>. I did a mix of blog posts, YouTube videos, and SEO pages. What I had seen and learned at Buffer was the only way I knew how to build a brand. </p><p>But I quickly realized that wasn&#8217;t going to work for an early startup. Actually, to be precise, it was still only a product. We didn&#8217;t even know if people wanted to use or pay for Pebblely. What worked for Buffer wouldn&#8217;t work for Pebblely. In fact, when Buffer first started in 2013, cofounder Leo wrote hundreds of short articles and guest posts, not the long-form content we were known for later. New startups need to explore new ways of marketing themselves. The tried-and-proven paths for later-stage startups likely wouldn&#8217;t work for early-stage startups. </p><p>Seeing how short videos were going viral on TikTok, I pivoted to creating short videos every day. And it worked (for a while). About a month in, I had <a href="https://www.tiktok.com/@pebblely_ai/video/7199199994853854465">my first viral video of 1 million views</a> (now 1.5 million!) and our revenue chart bent up several degrees.  </p><p>But ultimately, I couldn&#8217;t turn our early success into a strong brand. I suspect it is because once short videos worked well and the product demand was validated, I wasn&#8217;t fast enough to figure out the next step for our branding. (Of course, reality is much more complicated than this and marketing is just a part of it. But I feel responsible for our branding.)</p><p>This is something I have been noodling on for a while, especially as we work on our latest product, <a href="https://dewlop.com/">Dewlop</a>. Since Pebblely&#8217;s little success, I have a system that I repeat for new consumer products, briefly:</p><ul><li><p>Build a beautiful landing page</p></li><li><p>Launch to my existing audiences across platforms</p></li><li><p>Create short videos to extend our reach</p></li><li><p>DM potential ideal customers and chat with existing customers</p></li><li><p>Use insights from those conversations to create more content</p></li></ul><p>But, to be honest, I&#8217;m not sure reusing that template all the time is the best approach. I have also been eager to try out new ways of marketing. A quick brain dump:</p><ul><li><p>It&#8217;s not that long-form content will definitely not work for any early-stage startup. But how you write it matters. Linear writes <a href="https://linear.app/blog">many articles that are nothing like traditional marketing content</a>, and that seems to be doing well for them. (Of course, they also have a great product people love.) Their content also reinforces their brand&#8217;s emphasis on craftsmanship.</p></li><li><p>Similarly, there are many ways to leverage short videos. Besides creating and posting videos ourselves, more and more brands are using creators to create UGC content. Cluely&#8217;s UGC program is apparently generating <a href="https://x.com/katiexsocials/status/1932964236478853393">an average of 1 million views a day</a>. It&#8217;s still early to tell if this is a successful approach but it&#8217;s definitely on-brand for them. <a href="https://www.linkedin.com/posts/karinehsu_anthropic-starting-to-do-influencer-marketing-activity-7308849131312070657-0_NZ/?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAyx8xgBhkDvGnyKi5mCDQPWZoOYtd5BSB0">Anthropic is also working with influencers</a> to create a brand that feels different from OpenAI.</p></li><li><p>The Browser Company launched <a href="https://thebrowser.company/">a unique website</a> and crafted an exclusive invite experience for <a href="https://arc.net/">their Arc brower</a>. They just launched <a href="https://www.diabrowser.com/">their AI browser Dia</a> with a similar waitlist approach&#8212;and a likely very expensive launch video. Similarly, Yutori launched with <a href="https://x.com/deviparikh/status/1907101013179519155">a production-grade parody video</a> on April&#8217;s Fool. So did <a href="https://x.com/im_roy_lee/status/1914061483149001132">Cluely</a>. I can&#8217;t wrap my head around such launches because of how expensive they are but that is what builds their brand and helps them stand out. (I also think there are probably even more companies that tried a similar approach and didn&#8217;t make it. Survivorship bias.)</p></li><li><p>The cofounders at Stan used <a href="https://www.linkedin.com/feed/update/urn:li:activity:7330653549682479104/">a &#8220;build-in-public&#8221; approach</a> on LinkedIn to launch their AI agent for LinkedIn posts. Since companies like Buffer pioneered the transparent way of building, many people have followed. But not many seem to have done well. There are many entrepreneurs posting about their journey on Twitter to little avail. Stan cofounders seemed to have succeeded perhaps because it aligns well with their business. They are showing how they create a business on LinkedIn to creators on LinkedIn who want to build their own businesses.</p></li><li><p>In my opinion, Cursor and Windsurf have largely similar products based on their features but their brands feel wildly different. <a href="https://x.com/levelsio/status/1931395269582565800">Developers on Twitter love Cursor and hate Windsurf</a>, even though Team Windsurf is as active on Twitter as Team Cursor. Subjectively, the reason seems to be that Windsurf&#8217;s approach feels marketing-heavy, which developers hate. Cursor is at <a href="https://x.com/cursor_ai/status/1931032123038945530">$500 million in ARR</a>&#8212;half a billion!&#8212;while Windsurf is at <a href="https://x.com/deedydas/status/1919772346543681549">$40 million</a>.</p></li><li><p>PropertyLimBrothers started <a href="https://www.propertylimbrothers.com/our-story/">producing home tour videos in 2016</a> when most realtors in Singapore were using static photos. That launched their realtor business, and they eventually even created a media arm. It took them two years to hit 5,000 YouTube subscribers but their Signature Home Tours have since been driving their brand.</p></li></ul><p>If you are paying attention, you might have noticed a common theme above is branding. I&#8217;m starting to suspect it is less about what you do but how you do them. </p><p>I&#8217;m still pondering about this. If you have any thoughts, let me know. I&#8217;d love to chat more about this.</p><div><hr></div><p>Even though I was mostly talking about marketing above, thinking and doing things differently applies to many aspects of life, too. </p><p>What we do in a relationship, how we parent, how we spend our time, and so on.</p><p>Often, we get stuck on our default path even if it isn&#8217;t the best&#8212;until something shocks us out of that auto-pilot mode. Near-death experience, cancer, breakup, layoff.</p><p>It&#8217;s better to constantly reflect on whether we should do things differently and then change when we want to rather than when we are forced to.</p><p>Warmly</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D_S6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a19d6f-21f5-46fd-88fb-2c1edd7dc8c0_1456x116.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D_S6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a19d6f-21f5-46fd-88fb-2c1edd7dc8c0_1456x116.png 424w, https://substackcdn.com/image/fetch/$s_!D_S6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a19d6f-21f5-46fd-88fb-2c1edd7dc8c0_1456x116.png 848w, https://substackcdn.com/image/fetch/$s_!D_S6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a19d6f-21f5-46fd-88fb-2c1edd7dc8c0_1456x116.png 1272w, https://substackcdn.com/image/fetch/$s_!D_S6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a19d6f-21f5-46fd-88fb-2c1edd7dc8c0_1456x116.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D_S6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a19d6f-21f5-46fd-88fb-2c1edd7dc8c0_1456x116.png" width="1456" height="116" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71a19d6f-21f5-46fd-88fb-2c1edd7dc8c0_1456x116.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:116,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6366,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/165672824?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a19d6f-21f5-46fd-88fb-2c1edd7dc8c0_1456x116.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!D_S6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a19d6f-21f5-46fd-88fb-2c1edd7dc8c0_1456x116.png 424w, https://substackcdn.com/image/fetch/$s_!D_S6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a19d6f-21f5-46fd-88fb-2c1edd7dc8c0_1456x116.png 848w, https://substackcdn.com/image/fetch/$s_!D_S6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a19d6f-21f5-46fd-88fb-2c1edd7dc8c0_1456x116.png 1272w, https://substackcdn.com/image/fetch/$s_!D_S6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a19d6f-21f5-46fd-88fb-2c1edd7dc8c0_1456x116.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[AI22: Early access to Dewlop, a desktop AI that actually does your office work]]></title><description><![CDATA[I'm looking for eager beta testers to use Dewlop in their daily work and help shape the future of AI at work]]></description><link>https://letters.alfredlua.com/p/ai22-early-access-to-dewlop-a-desktop</link><guid isPermaLink="false">https://letters.alfredlua.com/p/ai22-early-access-to-dewlop-a-desktop</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Sun, 08 Jun 2025 12:30:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tY_H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e308bd6-7489-4a60-9ecd-a213c94eee1d_1024x683.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tY_H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e308bd6-7489-4a60-9ecd-a213c94eee1d_1024x683.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tY_H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e308bd6-7489-4a60-9ecd-a213c94eee1d_1024x683.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tY_H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e308bd6-7489-4a60-9ecd-a213c94eee1d_1024x683.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tY_H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e308bd6-7489-4a60-9ecd-a213c94eee1d_1024x683.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tY_H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e308bd6-7489-4a60-9ecd-a213c94eee1d_1024x683.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tY_H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e308bd6-7489-4a60-9ecd-a213c94eee1d_1024x683.jpeg" width="1024" height="683" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e308bd6-7489-4a60-9ecd-a213c94eee1d_1024x683.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:683,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:325202,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/165237981?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e308bd6-7489-4a60-9ecd-a213c94eee1d_1024x683.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tY_H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e308bd6-7489-4a60-9ecd-a213c94eee1d_1024x683.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tY_H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e308bd6-7489-4a60-9ecd-a213c94eee1d_1024x683.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tY_H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e308bd6-7489-4a60-9ecd-a213c94eee1d_1024x683.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tY_H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e308bd6-7489-4a60-9ecd-a213c94eee1d_1024x683.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p><em>Hello! tl;dr: I&#8217;m looking for people who want to use AI to do tedious office work to test <a href="https://dewlop.com/">Dewlop</a> and work with us to improve it. If you are interested, please let me know <a href="https://forms.gle/9sfJVPf5gztMUukS7">here</a>. </em></p><p><em>For more backstory, read on!</em></p><div><hr></div><p>I once worked as an administrative assistant in the marketing and communications department of a corporation for nine months. </p><p>There were some fun aspects; I got to help with events, taste delicious catered food, and meet interesting people. But most of my days were consumed by mind-numbing, repetitive tasks that made me question my life choices. Sitting in my cubicle at the corner of the office, I would&#8230;</p><ul><li><p>Create and update RSVP lists for events (many, many times)</p></li><li><p>Turn RSVP lists into name tag stickers and check them individually</p></li><li><p>Source for catering vendors and get their menus</p></li><li><p>Research suitable venues for events and create a spreadsheet for my manager to compare</p></li><li><p>Update an inventory spreadsheet for corporate gifts</p></li></ul><p>To be fair, I was an <em>administrative</em> assistant hired to do such <em>administrative</em> tasks. </p><p>What was surprising is that my manager and her colleagues&#8212;senior staff with impressive titles, paid much more to do more important work&#8212;were also burning valuable hours on such tedious tasks. Worse still, most of them are unaware of the advanced and more efficient features in Microsoft Office.</p><p>We often laugh at corporate workers for dealing with such absurdity. But even knowledge workers in modern tech companies have their fair share of this. Notion or Google Sheets might be more user-friendly than Microsoft 365 but we still cannot escape some of the tedious tasks. I heard of a product manager who has to update a single-source-of-truth document every week based on changes in her other documents, something she wishes to automate.</p><p>If we want to unlock real productivity gains for the world, we need to free people from the mindless, soul-sucking grunt work that is eating away at their creative work and strategic thinking.</p><p>Even back then, I was looking for ways to do things more efficiently, such as using mail merge and complicated formulas in Excel. Fast forward to today, AI has improved tremendously to be able to think and act. Yet somehow, most office workers are still drowning in the office tasks that plagued me years ago.</p><p>That&#8217;s why we built <a href="https://dewlop.com/">Dewlop</a>.</p><p><strong>We believe AI should be used to do the grunt work that we don&#8217;t want to do but cannot avoid, so we can focus on the fun work we love.</strong></p><p><a href="https://dewlop.com/">Dewlop</a> is an AI assistant that can do boring, repetitive office tasks on your computer at your request.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QY-M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d89edd-d1ad-4362-be02-d85341cd603b_2170x1356.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QY-M!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d89edd-d1ad-4362-be02-d85341cd603b_2170x1356.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QY-M!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d89edd-d1ad-4362-be02-d85341cd603b_2170x1356.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QY-M!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d89edd-d1ad-4362-be02-d85341cd603b_2170x1356.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QY-M!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d89edd-d1ad-4362-be02-d85341cd603b_2170x1356.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QY-M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d89edd-d1ad-4362-be02-d85341cd603b_2170x1356.jpeg" width="1456" height="910" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/07d89edd-d1ad-4362-be02-d85341cd603b_2170x1356.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1272130,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/165237981?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d89edd-d1ad-4362-be02-d85341cd603b_2170x1356.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QY-M!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d89edd-d1ad-4362-be02-d85341cd603b_2170x1356.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QY-M!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d89edd-d1ad-4362-be02-d85341cd603b_2170x1356.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QY-M!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d89edd-d1ad-4362-be02-d85341cd603b_2170x1356.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QY-M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d89edd-d1ad-4362-be02-d85341cd603b_2170x1356.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Dewlop isn&#8217;t just another chatbot that answers your questions in your browser. It is a desktop app. It works where you work so that it can truly take care of tasks for you. </p><p>It is intelligent enough to figure out how to complete office tasks for you, not just chat with you and answer your questions. </p><p>It can read, understand, and edit your files directly on your computer. </p><p>If you need the latest news and information, it can use the internet.</p><p>These capabilities allow you to use Dewlop for a wide range of tasks:</p><ul><li><p>File organization and management</p><ul><li><p>Rename invoices according to their content</p></li><li><p>Sort documents into folders according to their content</p></li><li><p>Update dates across multiple documents</p></li></ul></li><li><p>Editing and formatting documents</p><ul><li><p>Fix formatting in Word</p></li><li><p>Update the bibliography to a particular style</p></li><li><p>Update an email address in a PDF invoice</p></li><li><p>Check table calculations in Word</p></li><li><p>Compare two documents</p></li></ul></li><li><p>Extracting and processing information</p><ul><li><p>Extract information from multiple PDFs and compile them into Word or Excel</p></li><li><p>Calculate a financial ratio from an annual report</p></li></ul></li><li><p>Research </p><ul><li><p>Ask questions about PDFs</p></li><li><p>Research caterers for a business event and compile their contact details into a spreadsheet</p></li><li><p>Research a particular topic (e.g., how room temperature affects productivity) and write a report in Word</p></li></ul></li><li><p>Image manipulation</p><ul><li><p>Use Python to crop images</p></li></ul></li></ul><p>There are likely many more tasks that even we haven&#8217;t thought of.</p><p>But you might!</p><p>This is where we would love your help.</p><p>Because Dewlop can be used in many different ways, we just launched our beta programme and are looking for a small group eager to test it in their daily work and to work closely with us to improve the product.</p><p>Besides being one of the first few to try Dewlop and use it for free, you&#8217;ll get:</p><ul><li><p>A private chat with me (WhatsApp, iMessage, or Slack) to quickly share feedback or report issues.</p></li><li><p>Early access to new features before anyone else sees them.</p></li><li><p>An inside view of our roadmap, and a say in it and Dewlop&#8217;s pricing.</p></li></ul><p>We are keeping this beta small and exclusive:</p><ol><li><p>We&#8217;re specifically looking for folks ready to put Dewlop through real-world challenges, not just play with a new AI app. We don&#8217;t want to waste your time, too!</p></li><li><p>It is still a beta app, likely filled with bugs and glitches. Things will break; features might not work as expected. Even though we are prepared to fix and improve the app as soon as possible, you have to be comfortable with experiencing issues and be up for testing things repeatedly to pinpoint problems clearly and verify our fixes. </p></li></ol><p>If you are excited to help shape the future of AI at work, let&#8217;s chat. Since you made it all the way here, you are likely more interested than most people. Just let me know (via email or comment), and we can skip the beta registration form and jump on a call together.</p><p>Talk soon!</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8OR4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d79510e-5d71-4a44-b109-c3525df4a38e_1456x116.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8OR4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d79510e-5d71-4a44-b109-c3525df4a38e_1456x116.png 424w, https://substackcdn.com/image/fetch/$s_!8OR4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d79510e-5d71-4a44-b109-c3525df4a38e_1456x116.png 848w, https://substackcdn.com/image/fetch/$s_!8OR4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d79510e-5d71-4a44-b109-c3525df4a38e_1456x116.png 1272w, https://substackcdn.com/image/fetch/$s_!8OR4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d79510e-5d71-4a44-b109-c3525df4a38e_1456x116.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8OR4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d79510e-5d71-4a44-b109-c3525df4a38e_1456x116.png" width="1456" height="116" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d79510e-5d71-4a44-b109-c3525df4a38e_1456x116.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:116,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6366,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/165237981?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d79510e-5d71-4a44-b109-c3525df4a38e_1456x116.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8OR4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d79510e-5d71-4a44-b109-c3525df4a38e_1456x116.png 424w, https://substackcdn.com/image/fetch/$s_!8OR4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d79510e-5d71-4a44-b109-c3525df4a38e_1456x116.png 848w, https://substackcdn.com/image/fetch/$s_!8OR4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d79510e-5d71-4a44-b109-c3525df4a38e_1456x116.png 1272w, https://substackcdn.com/image/fetch/$s_!8OR4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d79510e-5d71-4a44-b109-c3525df4a38e_1456x116.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>P.S. For the next few weeks, my main focus will be to get beta testers for Dewlop, instead of learning AI. I&#8217;m not entirely sure what I&#8217;d write about for Alfred Intelligence yet but if you have any questions or suggestions, let me know!</p><div><hr></div><h2>Technical notes</h2><p>Continuing from last week&#8217;s technical notes, I learned several more frontend concepts.</p><ul><li><p><strong><a href="https://vuejs.org/guide/essentials/template-refs">Template Refs (Vue 3.5)</a>:</strong> With Vue 3.5, we can reference a DOM element with <code>useTemplateRef</code>. This is a bit simpler than something like <code>const input = ref&lt;HTMLElement | null&gt;(null);</code>.</p></li></ul><pre><code>&lt;script setup lang="ts"&gt;
import { useTemplateRef, onMounted } from 'vue'

const input = useTemplateRef('my-input')

onMounted(() =&gt; {
  // `input.value` is automatically typed as `HTMLInputElement | null`
  input.value?.focus()
})
&lt;/script&gt;

&lt;template&gt;
  &lt;input ref="my-input" /&gt;
&lt;/template&gt;
</code></pre><ul><li><p><strong><a href="https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft">scrollLeft</a>:</strong> For Dewlop&#8217;s mobile website, we scroll the demo from left to right so that you can see the full app on the little screen. I hadn&#8217;t realized there&#8217;s a native horizontal scroll property. To scroll horizontally, we can use something like this:</p></li></ul><pre><code>watch(scroll, (scroll) =&gt; {
  # Maximum number of pixels for horizontal scroll
  const maxScroll = demo.scrollWidth - demo.clientWidth
  # Map vertical scroll to horizontal scroll
  demo.scrollLeft = scroll * maxScroll
})

# scroll is a fraction between 0 to 1. We use IntersectionObserver to calculate this.

# So setting demo.scrollLeft as scroll multipled by maxScroll moves the demo horizontally. For example, if scroll is 0.5, 0.5 multipled by maxScroll moves the demo 50% across.</code></pre><ul><li><p><strong><a href="https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API">IntersectionObserver</a> </strong>is a browser API that lets us &#8220;watch&#8221; when an element enters or leaves another element (usually the viewport). For example, it allows us to do something like &#8220;if the demo is 50% visible on the screen, do X.&#8221;</p></li><li><p><strong>Showing a modal:</strong> Here&#8217;s a simple way to show a modal:</p></li></ul><pre><code>&lt;template&gt;
  &lt;div&gt;
    &lt;Modal v-if="showModal" @close="showModal = false" /&gt;
  &lt;/div&gt;
&lt;/template&gt;

&lt;script setup lang="ts"&gt;
const showModal = ref(false)
&lt;/script&gt;

# The modal component could emit a "close" event, which will set showModal to false and hide the modal</code></pre><div><hr></div><h2>Interesting links</h2><ul><li><p><strong><a href="https://chatgpt.com/codex">ChatGPT Codex</a></strong> is now available to ChatGPT Plus subscribers. Just to test it out, I connected the repo for <a href="https://alfredlua.com/">my personal site</a> and asked it to &#8220;Pick a part of the codebase that seems important and find and fix a bug.&#8221; In about a minute, it found a stray space in a <code>&lt;li&gt;</code> tag, which wasn&#8217;t causing an issue. Nevertheless, it felt like a smooth experience. Creating a PR to fix it took only one click. I&#8217;ll play with it a bit more and report back.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gugv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66169775-8cca-4e82-955d-62c70c3bb01a_1858x1156.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gugv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66169775-8cca-4e82-955d-62c70c3bb01a_1858x1156.png 424w, https://substackcdn.com/image/fetch/$s_!gugv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66169775-8cca-4e82-955d-62c70c3bb01a_1858x1156.png 848w, https://substackcdn.com/image/fetch/$s_!gugv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66169775-8cca-4e82-955d-62c70c3bb01a_1858x1156.png 1272w, https://substackcdn.com/image/fetch/$s_!gugv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66169775-8cca-4e82-955d-62c70c3bb01a_1858x1156.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gugv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66169775-8cca-4e82-955d-62c70c3bb01a_1858x1156.png" width="1456" height="906" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/66169775-8cca-4e82-955d-62c70c3bb01a_1858x1156.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:906,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:219043,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/165237981?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66169775-8cca-4e82-955d-62c70c3bb01a_1858x1156.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gugv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66169775-8cca-4e82-955d-62c70c3bb01a_1858x1156.png 424w, https://substackcdn.com/image/fetch/$s_!gugv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66169775-8cca-4e82-955d-62c70c3bb01a_1858x1156.png 848w, https://substackcdn.com/image/fetch/$s_!gugv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66169775-8cca-4e82-955d-62c70c3bb01a_1858x1156.png 1272w, https://substackcdn.com/image/fetch/$s_!gugv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66169775-8cca-4e82-955d-62c70c3bb01a_1858x1156.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div></li><li><p><a href="https://www.latent.space/p/token-data-war">SWE Agents Too Cheap To Meter, The Token Data War, and the rise of Tiny Teams</a></p></li><li><p><a href="https://www.dwarkesh.com/p/timelines-june-2025">Why I don&#8217;t think AGI is right around the corner</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Dwarkesh Patel&quot;,&quot;id&quot;:4281466,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb715ffd1-f7d7-4755-af88-c48efe647f5b_400x400.jpeg&quot;,&quot;uuid&quot;:&quot;32736bdf-ef47-4686-8587-1722ab222747&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul><div><hr></div><h2>Recent issues</h2><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:164861060,&quot;url&quot;:&quot;https://letters.alfredlua.com/p/ai21-how-i-chatgpt&quot;,&quot;publication_id&quot;:1022197,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;title&quot;:&quot;AI21: How I ChatGPT&quot;,&quot;truncated_body_text&quot;:&quot;In January, I wrote about how I use various AI tools, including ChatGPT.&quot;,&quot;date&quot;:&quot;2025-06-01T14:35:17.649Z&quot;,&quot;like_count&quot;:0,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;handle&quot;:&quot;alfredlua&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;profile_set_up_at&quot;:&quot;2022-07-31T02:19:10.096Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-08-07T00:46:33.855Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:968343,&quot;user_id&quot;:2075925,&quot;publication_id&quot;:1022197,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:1022197,&quot;name&quot;:&quot;Letters To Alfred&quot;,&quot;subdomain&quot;:&quot;alfredlua&quot;,&quot;custom_domain&quot;:&quot;letters.alfredlua.com&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;This is about me. Or more precisely, an exploration of myself. As a founder, a dad, and someone interested in technology, AI, startups, behavioral science, and design.&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;author_id&quot;:2075925,&quot;primary_user_id&quot;:2075925,&quot;theme_var_background_pop&quot;:&quot;#25BD65&quot;,&quot;created_at&quot;:&quot;2022-07-31T02:20:16.773Z&quot;,&quot;email_from_name&quot;:&quot;Alfred Lua&quot;,&quot;copyright&quot;:&quot;Alfred Lua&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;magaziney&quot;,&quot;is_personal_mode&quot;:false}},{&quot;id&quot;:2985556,&quot;user_id&quot;:2075925,&quot;publication_id&quot;:2936142,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:false,&quot;publication&quot;:{&quot;id&quot;:2936142,&quot;name&quot;:&quot;Hale Journal&quot;,&quot;subdomain&quot;:&quot;halejournal&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;We have built software products with more than a million users, and we want to bring the same impact to healthcare. Join us on our journey to make healthcare better for people around the world. &quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef07e5dd-7fb0-41ca-bd62-2da433ec88dd_200x200.png&quot;,&quot;author_id&quot;:2075925,&quot;primary_user_id&quot;:null,&quot;theme_var_background_pop&quot;:&quot;#FF6719&quot;,&quot;created_at&quot;:&quot;2024-08-26T09:01:47.425Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;Alfred Lua&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;alfred_lua&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://letters.alfredlua.com/p/ai21-how-i-chatgpt?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!OG3w!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png" loading="lazy"><span class="embedded-post-publication-name">Letters To Alfred</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">AI21: How I ChatGPT</div></div><div class="embedded-post-body">In January, I wrote about how I use various AI tools, including ChatGPT&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">a year ago &#183; Alfred Lua</div></a></div><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:164223242,&quot;url&quot;:&quot;https://letters.alfredlua.com/p/ai20-image-generation-still-feels&quot;,&quot;publication_id&quot;:1022197,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;title&quot;:&quot;AI20: Image generation still feels like gambling&quot;,&quot;truncated_body_text&quot;:&quot;In the past few weeks, as I was designing a website, I generated about 1,000 images across Sora, ChatGPT, Visual Electric, and Google Gemini.&quot;,&quot;date&quot;:&quot;2025-05-25T12:30:52.953Z&quot;,&quot;like_count&quot;:0,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;handle&quot;:&quot;alfredlua&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;profile_set_up_at&quot;:&quot;2022-07-31T02:19:10.096Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-08-07T00:46:33.855Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:968343,&quot;user_id&quot;:2075925,&quot;publication_id&quot;:1022197,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:1022197,&quot;name&quot;:&quot;Letters To Alfred&quot;,&quot;subdomain&quot;:&quot;alfredlua&quot;,&quot;custom_domain&quot;:&quot;letters.alfredlua.com&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;This is about me. Or more precisely, an exploration of myself. As a founder, a dad, and someone interested in technology, AI, startups, behavioral science, and design.&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;author_id&quot;:2075925,&quot;primary_user_id&quot;:2075925,&quot;theme_var_background_pop&quot;:&quot;#25BD65&quot;,&quot;created_at&quot;:&quot;2022-07-31T02:20:16.773Z&quot;,&quot;email_from_name&quot;:&quot;Alfred Lua&quot;,&quot;copyright&quot;:&quot;Alfred Lua&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;magaziney&quot;,&quot;is_personal_mode&quot;:false}},{&quot;id&quot;:2985556,&quot;user_id&quot;:2075925,&quot;publication_id&quot;:2936142,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:false,&quot;publication&quot;:{&quot;id&quot;:2936142,&quot;name&quot;:&quot;Hale Journal&quot;,&quot;subdomain&quot;:&quot;halejournal&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;We have built software products with more than a million users, and we want to bring the same impact to healthcare. Join us on our journey to make healthcare better for people around the world. &quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef07e5dd-7fb0-41ca-bd62-2da433ec88dd_200x200.png&quot;,&quot;author_id&quot;:2075925,&quot;primary_user_id&quot;:null,&quot;theme_var_background_pop&quot;:&quot;#FF6719&quot;,&quot;created_at&quot;:&quot;2024-08-26T09:01:47.425Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;Alfred Lua&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;alfred_lua&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://letters.alfredlua.com/p/ai20-image-generation-still-feels?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!OG3w!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png" loading="lazy"><span class="embedded-post-publication-name">Letters To Alfred</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">AI20: Image generation still feels like gambling</div></div><div class="embedded-post-body">In the past few weeks, as I was designing a website, I generated about 1,000 images across Sora, ChatGPT, Visual Electric, and Google Gemini&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">a year ago &#183; Alfred Lua</div></a></div><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:163689018,&quot;url&quot;:&quot;https://letters.alfredlua.com/p/ai19-using-chatgpt-to-produce-creatives&quot;,&quot;publication_id&quot;:1022197,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;title&quot;:&quot;AI19: Using ChatGPT to produce creatives&quot;,&quot;truncated_body_text&quot;:&quot;I have spent the last two weeks designing landing pages for our upcoming product, an AI agent for office work.&quot;,&quot;date&quot;:&quot;2025-05-18T12:30:43.145Z&quot;,&quot;like_count&quot;:2,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;handle&quot;:&quot;alfredlua&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;profile_set_up_at&quot;:&quot;2022-07-31T02:19:10.096Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-08-07T00:46:33.855Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:968343,&quot;user_id&quot;:2075925,&quot;publication_id&quot;:1022197,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:1022197,&quot;name&quot;:&quot;Letters To Alfred&quot;,&quot;subdomain&quot;:&quot;alfredlua&quot;,&quot;custom_domain&quot;:&quot;letters.alfredlua.com&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;This is about me. Or more precisely, an exploration of myself. As a founder, a dad, and someone interested in technology, AI, startups, behavioral science, and design.&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;author_id&quot;:2075925,&quot;primary_user_id&quot;:2075925,&quot;theme_var_background_pop&quot;:&quot;#25BD65&quot;,&quot;created_at&quot;:&quot;2022-07-31T02:20:16.773Z&quot;,&quot;email_from_name&quot;:&quot;Alfred Lua&quot;,&quot;copyright&quot;:&quot;Alfred Lua&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;magaziney&quot;,&quot;is_personal_mode&quot;:false}},{&quot;id&quot;:2985556,&quot;user_id&quot;:2075925,&quot;publication_id&quot;:2936142,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:false,&quot;publication&quot;:{&quot;id&quot;:2936142,&quot;name&quot;:&quot;Hale Journal&quot;,&quot;subdomain&quot;:&quot;halejournal&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;We have built software products with more than a million users, and we want to bring the same impact to healthcare. Join us on our journey to make healthcare better for people around the world. &quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef07e5dd-7fb0-41ca-bd62-2da433ec88dd_200x200.png&quot;,&quot;author_id&quot;:2075925,&quot;primary_user_id&quot;:null,&quot;theme_var_background_pop&quot;:&quot;#FF6719&quot;,&quot;created_at&quot;:&quot;2024-08-26T09:01:47.425Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;Alfred Lua&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;alfred_lua&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://letters.alfredlua.com/p/ai19-using-chatgpt-to-produce-creatives?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!OG3w!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png" loading="lazy"><span class="embedded-post-publication-name">Letters To Alfred</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">AI19: Using ChatGPT to produce creatives</div></div><div class="embedded-post-body">I have spent the last two weeks designing landing pages for our upcoming product, an AI agent for office work&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">a year ago &#183; 2 likes &#183; Alfred Lua</div></a></div>]]></content:encoded></item><item><title><![CDATA[May Recap: High standards]]></title><description><![CDATA[Trying again and again to create better work, annual goal progress, and 12 interesting links]]></description><link>https://letters.alfredlua.com/p/may-recap-high-standards</link><guid isPermaLink="false">https://letters.alfredlua.com/p/may-recap-high-standards</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Thu, 05 Jun 2025 12:30:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!z9mR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ae91416-388d-41c4-be04-74b1bb3ffe50_1280x960.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!z9mR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ae91416-388d-41c4-be04-74b1bb3ffe50_1280x960.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!z9mR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ae91416-388d-41c4-be04-74b1bb3ffe50_1280x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!z9mR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ae91416-388d-41c4-be04-74b1bb3ffe50_1280x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!z9mR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ae91416-388d-41c4-be04-74b1bb3ffe50_1280x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!z9mR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ae91416-388d-41c4-be04-74b1bb3ffe50_1280x960.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!z9mR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ae91416-388d-41c4-be04-74b1bb3ffe50_1280x960.jpeg" width="1280" height="960" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1ae91416-388d-41c4-be04-74b1bb3ffe50_1280x960.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:960,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:243421,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/164995347?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ae91416-388d-41c4-be04-74b1bb3ffe50_1280x960.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!z9mR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ae91416-388d-41c4-be04-74b1bb3ffe50_1280x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!z9mR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ae91416-388d-41c4-be04-74b1bb3ffe50_1280x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!z9mR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ae91416-388d-41c4-be04-74b1bb3ffe50_1280x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!z9mR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ae91416-388d-41c4-be04-74b1bb3ffe50_1280x960.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="pullquote"><p>Years ago, a mentor said to me: &#8220;It&#8217;s your job to have the highest quality standards of anybody you work with. You&#8217;ll face pressure to lower them every day. Don&#8217;t do it. If you can set a high standard and simply maintain it, you&#8217;ll do very well for yourself.&#8221; &#8212; <a href="https://x.com/david_perell/status/1929236106937004272">David Perell</a> </p></div><p>During my six years at Buffer, I almost always felt like an impostor who wasn&#8217;t supposed to be there. Everyone seemed great at their job, and I was a fresh undergraduate at my first proper job. But I really wanted to be there; I applied three times before I got an offer. So, I worked hard.</p><p>I often reviewed and edited my messages three times or more before publishing in Slack or our company forums to make sure I was communicating well. I reviewed and polished my work probably 10 times more. It wasn&#8217;t only that my manager was (and still is) someone I look up to, and I wanted to meet his standards. Buffer was a startup many looked up to, and everyone in the team seemed to be at the top of their game. I wanted to be in the same league.</p><p>Working that way might sound excessive, unnecessary, and terrible. But that was when I did some of my best work and learned to communicate well. When I moved to ReferralCandy, an engineer I don&#8217;t work with directly told me he appreciated how I communicated with my team on Slack. </p><div><hr></div><p>I wanted to quote from <a href="https://every.to/p/what-i-miss-about-working-at-stripe">Brie Wolfson&#8217;s What I Miss About Working at Stripe</a>, which is about how hard they worked and pushed one another at Stripe. But unless you read the entire essay, you might dismiss it as workaholism or hustle porn. So, read it. Then, come back.</p><div><hr></div><p>One thing I love about working with my cofounder SK is that he has much higher standards than I do and isn&#8217;t shy to enforce them. </p><p>When I started writing more code and submitting pull requests, he would sit me down for two to three hours to go through my code, tell me what was terrible, and explain better solutions. He still looks through every line of my code (even when the app or website is working as expected) and finds ways to write them better&#8212;and then educates me. I&#8217;m grateful for this because I don&#8217;t know what I don&#8217;t know; I might never learn if he doesn&#8217;t point out my mistakes.</p><p>We just <a href="https://www.linkedin.com/posts/alfredlua_today-we-are-launching-dewlop-beta-activity-7335889244135006209-IPNI?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAyx8xgBhkDvGnyKi5mCDQPWZoOYtd5BSB0">launched Dewlop</a>, an AI assistant for mindless office admin work. In the last few weeks, I did about <a href="https://letters.alfredlua.com/p/ai18-bts-of-designing-websites-for">30 iterations of the website</a>. Even when I felt I had made a huge improvement in the design, he would push me to explore how I could make it even better. Of course, it&#8217;s partially because I&#8217;m not a great designer (yet). But it&#8217;s also because we don&#8217;t want to settle without trying hard enough.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dqSW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10b8d9da-76c0-42cc-b092-fa2585c31ed1_1191x355.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dqSW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10b8d9da-76c0-42cc-b092-fa2585c31ed1_1191x355.png 424w, https://substackcdn.com/image/fetch/$s_!dqSW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10b8d9da-76c0-42cc-b092-fa2585c31ed1_1191x355.png 848w, https://substackcdn.com/image/fetch/$s_!dqSW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10b8d9da-76c0-42cc-b092-fa2585c31ed1_1191x355.png 1272w, https://substackcdn.com/image/fetch/$s_!dqSW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10b8d9da-76c0-42cc-b092-fa2585c31ed1_1191x355.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dqSW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10b8d9da-76c0-42cc-b092-fa2585c31ed1_1191x355.png" width="1191" height="355" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/10b8d9da-76c0-42cc-b092-fa2585c31ed1_1191x355.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:355,&quot;width&quot;:1191,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:335384,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/164995347?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10b8d9da-76c0-42cc-b092-fa2585c31ed1_1191x355.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dqSW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10b8d9da-76c0-42cc-b092-fa2585c31ed1_1191x355.png 424w, https://substackcdn.com/image/fetch/$s_!dqSW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10b8d9da-76c0-42cc-b092-fa2585c31ed1_1191x355.png 848w, https://substackcdn.com/image/fetch/$s_!dqSW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10b8d9da-76c0-42cc-b092-fa2585c31ed1_1191x355.png 1272w, https://substackcdn.com/image/fetch/$s_!dqSW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10b8d9da-76c0-42cc-b092-fa2585c31ed1_1191x355.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>To be frank, it is tough. And exhausting. It takes time and effort to <a href="https://letters.alfredlua.com/p/to-develop-taste-first-understand">develop the taste</a> to assess quality. I&#8217;m constantly comparing myself to the high standards and <a href="https://letters.alfredlua.com/p/3-years-of-starting-up">wondering why I&#8217;m not better</a>. Sometimes I doubt myself so much and <a href="https://alfredlua.com/annual-review-2023">lose motivation for a while</a>. But without the high standards, I&#8217;d most likely never improve and do great work. So, I learned to <a href="https://letters.alfredlua.com/p/keep-showing-up">keep showing up</a> and <a href="https://letters.alfredlua.com/p/february-recap-make-a-little-progress">make a little progress every day</a>. I might never reach the standards because I&#8217;ll probably raise them as I go. But I think it&#8217;s this endless pursuit of improvement that leads us to our best selves. </p><p>Warmly</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4NcU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70062dae-7a3c-494b-931c-cfc3e42b8b82_1456x116.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4NcU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70062dae-7a3c-494b-931c-cfc3e42b8b82_1456x116.png 424w, https://substackcdn.com/image/fetch/$s_!4NcU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70062dae-7a3c-494b-931c-cfc3e42b8b82_1456x116.png 848w, https://substackcdn.com/image/fetch/$s_!4NcU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70062dae-7a3c-494b-931c-cfc3e42b8b82_1456x116.png 1272w, https://substackcdn.com/image/fetch/$s_!4NcU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70062dae-7a3c-494b-931c-cfc3e42b8b82_1456x116.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4NcU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70062dae-7a3c-494b-931c-cfc3e42b8b82_1456x116.png" width="1456" height="116" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/70062dae-7a3c-494b-931c-cfc3e42b8b82_1456x116.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:116,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6366,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/164995347?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70062dae-7a3c-494b-931c-cfc3e42b8b82_1456x116.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4NcU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70062dae-7a3c-494b-931c-cfc3e42b8b82_1456x116.png 424w, https://substackcdn.com/image/fetch/$s_!4NcU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70062dae-7a3c-494b-931c-cfc3e42b8b82_1456x116.png 848w, https://substackcdn.com/image/fetch/$s_!4NcU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70062dae-7a3c-494b-931c-cfc3e42b8b82_1456x116.png 1272w, https://substackcdn.com/image/fetch/$s_!4NcU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70062dae-7a3c-494b-931c-cfc3e42b8b82_1456x116.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://letters.alfredlua.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">I write letters to myself, sharing my experiences as a founder dad and my explorations in AI. </p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2><strong>How am I doing for my 2025 goals</strong></h2><p>May was a relatively busy month, compared to the other months before, as we geared up to launch Dewlop (more below).</p><p>I cut back on reading, exercise, and sleep, so that I could work more and still spend time with my family. But May was an exception.</p><p><strong>Build a meaningful profitable business</strong></p><p>After six months of building various AI agents and pivoting, we finally landed on something we are excited about.</p><p><a href="https://dewlop.com/">Dewlop</a> is an AI assistant for mindless, soul-sucking office work. Fixing inconsistent fonts, updating dates across multiple files, checking calculations in Word documents. The things you really don&#8217;t want to do but have to.</p><p>This is also in line with how we think about AI. We should use AI to do the things we don&#8217;t want to so that we can focus on the things we love to do. Also, it&#8217;s a product that most of our family and friends can understand and use.</p><p>Dewlop is currently in beta, and we are looking for 5-10 dedicated beta testers. If you are interested in helping shape the product, please fill out <a href="https://dewlop.com/">the form</a>. I&#8217;d also love to jump on a call to learn about your workflows if you are up for it.</p><p><strong>Bring my family on a vacation &#9989;</strong></p><p><a href="https://letters.alfredlua.com/p/6-day-trip-in-perth-with-an-18-mo">We went to Perth</a> in March.</p><p><strong>Read at least 3 books on parenting</strong></p><p>I completed Good Inside in <a href="https://letters.alfredlua.com/p/april-recap-meta-work">April</a> and have been mostly reading The Daily Dad in May. I only skimmed a few pages of The Book You Wish Your Parents Had Read.</p><p>My favorite entry from The Daily Dad:</p><blockquote><p>May 6<br><strong>Teach Them to Sweep the Sheds</strong></p><p>The New Zealand All Blacks are the most successful rugby franchise of all time. They have a legacy that rivals the great teams in nearly every other sport, from the San Antonio Spurs to the New England Patriots to the U.S. women&#8217;s national soccer team. How have they done this?</p><p>By being tough, of course. By being extremely talented, obviously. But there is a lesser-known and counterintuitive element to their success as well: they clean up after themselves. In his book, <em>Legacy</em>, Kames Kerr portrays the team tidying up the locker room after a game:</p><p>Sweeping the sheds.<br>Doing it properly.<br>So no one else has to.<br>Because no one looks after the All Blacks.<br>The All Blacks look after themselves</p><p>If you want your kids to clean up after themselves, you have to teach them why it matters. If you want them to look after themselves, you have to teach them to find pride and satisfaction in that. If you want them to sweep the sheds, you have to teach them it isn&#8217;t just a chore. It&#8217;s a statement of priority. A statement of character and commitment and self-sufficiency&#8212;an illustration of who you are.</p><p><em>How we do anything is how we do everything </em>is the lesson parents have to pass along to their kids. Leaving a mess isn&#8217;t just a mess&#8212;it shows that <em>you&#8217;re a mess</em>.</p></blockquote><p><strong>Write daily, publish monthly</strong></p><p>I had written 542 journal entries at the end of May. Several entries were quick scribbles of what happened during the day because it was late by the time I stopped working for the day.</p><p>I published nine essays in May (a total of 43 as of May). They were all short essays of about 500 words because I didn&#8217;t allocate much time to writing in May but I still wanted to publish. My favorite piece is <a href="https://letters.alfredlua.com/p/3-years-of-starting-up">3 years of starting up</a>, a quick reflection of my startup journey so far.</p><p><strong>Eat healthily, exercise 5x/week, sleep well</strong></p><p>I felt better in May than in April and thankfully didn&#8217;t fall sick. But I was still tired most days. I was sleeping much less, which I want to change in June. Food and exercise remained roughly the same; I ate a little less healthily and skipped a few workouts when I worked late the night before.</p><p>What I&#8217;m glad about is that there were several days when I woke up feeling energized just by thinking about the work I was about to do (which is <a href="https://letters.alfredlua.com/p/looking-for-the-alfred-of-2018">precious</a>!). </p><h3><strong>My remaining goals</strong></h3><p><strong>One-year goals (i.e. other 2025 goals)</strong></p><ul><li><p>Help my son develop a night routine and be in bed by 8 p.m. <em>- He has been going to bed later, at around 9 p.m. We haven&#8217;t been that disciplined with following a night routine because sometimes he would ask for a night walk and we would bring him out. </em></p></li><li><p>Take three deep breaths whenever I&#8217;m angry or frustrated <em>- I don&#8217;t remember being angry but I felt rather anxious a few times, which I think was mostly because I hadn&#8217;t slept well.</em></p></li><li><p>Accompany my parents and uncle to their health appointments <em>- Three so far. My uncle, who cannot understand English, saw a doctor who could only speak English. Thankfully, his daughter and I were there. This made me wonder how often this happens in health appointments and critical information is miscommunicated.</em></p></li><li><p>Cycle 10x a year - <em>I cycle once in May. 4/10 now.</em></p></li><li><p>Switch from kopi (coffee) to kopi siew dai (coffee less sweet) <em>- I had many kopi siew dai and teh siew dai and almost an iced latte every day. I&#8217;m okay with my caffeine intake but I need to reduce my sugar intake through coffee. </em></p></li><li><p>Host five dinners at home - <em>Still 1/5 for now.</em></p></li><li><p>Get a part-time cleaner for our house <em>- I think we are still doing okay. </em></p></li><li><p>No coffee after 3 p.m. <em>- Yep.</em></p></li></ul><p><strong>Five-year goals</strong></p><ul><li><p>Bring my family to Europe and New Zealand</p></li><li><p>Create a library at home for my son - <em>I turned our unused TV console into a mini-library for now.</em></p></li><li><p>Teach my son to cycle and swim <em>- He is becoming even more comfortable in the pool. If he slips and falls, he knows how to stand up and wipe his face.</em></p></li><li><p>Learn to play the piano</p></li><li><p>Complete a triathlon (any distance)</p></li></ul><p><strong>Lifetime goals</strong></p><ul><li><p>Publish a book</p></li><li><p>Get back into drawing</p></li><li><p>Complete an Ironman triathlon</p></li><li><p>Bring my son somewhere to see snow (maybe Japan, Seoul, or Switzerland)</p></li><li><p>Raise kids with integrity, compassion, and agency</p></li><li><p>Build something with my dad</p></li><li><p>Have a workbench for playing with hardware</p></li><li><p>Visit Ghibli Park in Aichi, Japan, and Ghibli Museum in Tokyo, Japan</p></li><li><p>Mentor someone</p></li><li><p>Volunteer somewhere (maybe contribute to healthcare or education)</p></li><li><p>Contribute somehow to Singapore (maybe through my business)</p></li><li><p>Become rich enough to be independent, not to acquire material possessions</p></li><li><p>Live until 100 while being physically fit and mentally sharp</p></li><li><p>Use social media to help others, not just consume content</p></li><li><p>Learn to speak another language (maybe Japanese)</p></li></ul><div><hr></div><h2><strong>Links</strong></h2><ul><li><p>[Life] <a href="https://marginalrevolution.com/marginalrevolution/2025/05/how-will-ai-change-what-it-means-to-be-human.html">How will AI change what it means to be human?</a> I&#8217;m not sure we would reach AGI and never have to work in the next few years but I often wonder what my son&#8217;s life would be like in the future. </p></li><li><p>[Life] <a href="https://www.workingtheorys.com/p/the-job-isnt-just-the-job">The Relationship Is the Job</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Anu Atluru&quot;,&quot;id&quot;:5514669,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bc884943-1df3-4cfd-8d66-1c04d001cdd1_500x500.jpeg&quot;,&quot;uuid&quot;:&quot;ba816a9c-08c6-4e4c-bdb4-7a73422b3e68&quot;}" data-component-name="MentionToDOM"></span>: This provides a possible scenario if and when AI becomes much smarter than us.</p></li><li><p>[Life] <a href="https://newsletter.pathlesspath.com/p/eight-years-pathless-and-money-reflections">Eight Years Pathless &amp; Money Reflections | #299</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Paul Millerd&quot;,&quot;id&quot;:327469,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/a781ac52-7174-4fe3-a435-9b8aada1ddf6_4565x3013.jpeg&quot;,&quot;uuid&quot;:&quot;3db02159-e039-4c2e-801f-5135f2d3c5e7&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p>[Parenting] <a href="https://goodanger.substack.com/p/on-whether-having-a-baby-ruins-your">On whether having a baby ruins your life or not</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Sam Parker&quot;,&quot;id&quot;:502605,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/75d6a8db-7194-4469-ae41-0281ae31a8b3_1170x1170.jpeg&quot;,&quot;uuid&quot;:&quot;88a4406b-9f9f-4bcd-b0e4-fb2810c4991c&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p>[Startup] <a href="https://www.gettheleverage.com/p/in-defense-of-starting-a-bad-business">In Defense of Starting a Bad Business</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Evan Armstrong&quot;,&quot;id&quot;:2458849,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6e0071b8-d32d-44f6-909c-bb9cc1a0ac38_3024x3024.jpeg&quot;,&quot;uuid&quot;:&quot;47ab2e51-8cc7-431f-a975-9890959fdadf&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p>[Taste] <a href="https://review.firstround.com/stripe-square-linear-product-taste/">The Unsung Ingredient in Stripe, Square and Linear&#8217;s Success: Taste</a></p></li><li><p>[Design] <a href="https://www.tiktok.com/@hidesign99?_t=ZS-8wYf6klXVIG&amp;_r=1">hidesign99 on TikTok</a>: Hat-tip to <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Jet New&quot;,&quot;id&quot;:10779802,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/edae893d-f4d8-4486-a089-8b95134f0458_400x400.jpeg&quot;,&quot;uuid&quot;:&quot;b2746a36-c867-4051-9469-cb4a3cab3f0f&quot;}" data-component-name="MentionToDOM"></span> for sharing this account that shares design tips via short educational videos.</p></li><li><p>[Design] <a href="https://www.threads.com/@designero.co/post/DJ_2XwaqJK6?xmt=AQF0-2p6WYjtyYmhmSgg0xMCD-S3H4uHoKSsfojZkipY6Q">Stop using Poppins and try these instead</a>: Guilty!</p></li><li><p>[Marketing] <a href="https://adrian518.substack.com/p/ai-is-rewriting-the-rules-of-marketing">AI is Rewriting the Rules of Brand Strategy</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Adrian Barrow&quot;,&quot;id&quot;:34916981,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/12c54162-225e-4bd6-87fe-2d827a97c211_2400x2193.jpeg&quot;,&quot;uuid&quot;:&quot;00261304-f688-40a4-881c-91b32b14726c&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p>[Marketing] <a href="https://www.threads.com/@electra75/post/DJfQQV5OPjr?xmt=AQF0lImebhqMotjR5l_2_w5TyWwRMy0OrvxQw7RvAY7wpQ">The New Yorker&#8217;s &#8220;Elements of Style, 2025&#8221;</a></p></li><li><p>[Writing] <a href="https://miloandthecalf.substack.com/p/three-reasons-to-write-more-in-an">Three Reasons to Write More in an Age When Writing Means Less.</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Sean Sullivan&quot;,&quot;id&quot;:3800152,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b489c1d5-211b-46af-ac1a-e70bc8787f54_400x400.jpeg&quot;,&quot;uuid&quot;:&quot;014a2db5-0964-42c7-a850-268742a3c125&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p>[Innovation] Call me silly but I am so impressed by <a href="https://x.com/TrungTPhan/status/1926822698287497483">Dyson&#8217;s upcoming vacuum</a>. </p><p></p></li></ul>]]></content:encoded></item><item><title><![CDATA[AI21: How I ChatGPT]]></title><description><![CDATA[I have been paying for ChatGPT Plus for several months, and I think I'll keep subscribing.]]></description><link>https://letters.alfredlua.com/p/ai21-how-i-chatgpt</link><guid isPermaLink="false">https://letters.alfredlua.com/p/ai21-how-i-chatgpt</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Sun, 01 Jun 2025 14:35:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!rjyH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20276034-a68f-49b5-87f3-c68e4e20a027_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rjyH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20276034-a68f-49b5-87f3-c68e4e20a027_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rjyH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20276034-a68f-49b5-87f3-c68e4e20a027_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!rjyH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20276034-a68f-49b5-87f3-c68e4e20a027_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!rjyH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20276034-a68f-49b5-87f3-c68e4e20a027_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!rjyH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20276034-a68f-49b5-87f3-c68e4e20a027_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rjyH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20276034-a68f-49b5-87f3-c68e4e20a027_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/20276034-a68f-49b5-87f3-c68e4e20a027_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4169299,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/164861060?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20276034-a68f-49b5-87f3-c68e4e20a027_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rjyH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20276034-a68f-49b5-87f3-c68e4e20a027_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!rjyH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20276034-a68f-49b5-87f3-c68e4e20a027_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!rjyH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20276034-a68f-49b5-87f3-c68e4e20a027_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!rjyH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20276034-a68f-49b5-87f3-c68e4e20a027_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In January, I wrote about how I use various AI tools, including ChatGPT.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;f8f724c6-84f7-458a-9891-1d360fa3ace6&quot;,&quot;caption&quot;:&quot;I was born in the 1990s. Kids in my generation grew up with the internet and the smartphone, two pieces of technology that changed the world. We were amazed and curious about them; we learned how to use them as they became increasingly sophisticated. The older generations struggle with them because they have spent mos&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI is not about solving common problems for many people but solving unique problems that only you have&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-01-30T10:31:01.351Z&quot;,&quot;cover_image&quot;:&quot;https://images.unsplash.com/photo-1605263398767-d6926493723c?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxMjZ8fGFsb25lfGVufDB8fHx8MTczNzk2NTQyOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai-is-not-about-solving-common-problems&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:149236391,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Since then, I subscribed to ChatGPT Plus and thought it would be fun to share an update on how I have been using the paid subscription.</p><p><strong>o3</strong></p><p>My favorite part of ChatGPT Plus is the o3 model. It feels like a powerful research assistant to me. For a given request, it will search through multiple websites, reflect on the results, and try other search queries or approaches until it finds a suitable answer.</p><p>Here are a few times it impressed me:</p><ul><li><p>I vaguely remembered <a href="https://letters.alfredlua.com/p/keep-showing-up">Olympian Alexi Pappas&#8217; quote</a> about feeling good a third of the time, okay a third of the time, and bad a third of the time. o3 searched through 104 sources within three minutes to find it.</p></li></ul><div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a03a9ca0-a677-4712-8ccd-b8d320dfa13f_824x797.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/de389360-c9fd-4bda-bf5a-b7303f91bc2a_670x826.png&quot;}],&quot;caption&quot;:&quot;&quot;,&quot;alt&quot;:&quot;&quot;,&quot;staticGalleryImage&quot;:{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/db57abc0-0218-4483-9618-48915e455760_1456x720.png&quot;}},&quot;isEditorNode&quot;:true}"></div><ul><li><p>I tried asking o3 to &#8220;extract the table&#8221; in a file called &#8220;Apple Products and Services Performance.pdf&#8221;. It couldn&#8217;t extract the content because of the encoding. After a few failed attempts, based on the filename, it searched online for a version it could read (the HTML version) and extracted the data. It did that all by itself.</p></li><li><p>I asked it to verify whether a list of 20 references is real. Within three minutes, it gave me a table of the results and links to the references that exist and a brief description for each of those that don&#8217;t seem to (e.g. &#8220;Only secondary citations located; original 2001 source not quickly traceable&#8221;).</p></li><li><p>During <a href="https://letters.alfredlua.com/p/ai18-bts-of-designing-websites-for">my recent website design project</a>, I used it to find websites similar to the styles I&#8217;m looking for. It again visited many websites and gave me a table of the websites and a description of their style. </p></li></ul><p><strong>Projects</strong></p><p>The annoying thing about the free plan is that I cannot pin chats. So I either have to scroll through past chats to find and continue a particular chat, or start a new one and lose the context in that chat.</p><p>With ChatGPT Plus, I could create projects, which can contain multiple chats. I find I get more relevant responses when I reuse a chat than when I start new ones.</p><p>Here are some of my projects:</p><ul><li><p>Desktop AI: For our upcoming product, I have a chat for branding, one for copywriting, and one for image generation.</p></li><li><p>Letters: For this newsletter, I have a chat for generating the cover image.</p></li><li><p>Self-improvement: I set up <a href="https://letters.alfredlua.com/p/april-recap-meta-work">an accountability buddy</a>.</p></li><li><p>Hai Wee: For my parents&#8217; business, I have a chat for generating marketing copy in Chinese.</p></li></ul><p>I have not tried using files or instructions for projects yet. Let me know if there&#8217;s anything I should try!</p><p><strong>CustomGPT</strong></p><p>Two things I often use ChatGPT for are checking my language and translating English to Chinese. I used to retype my medium-to-long instructions every time. Now I can just dump a sentence and get feedback or a translation with an explanation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!doZ4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8221418-4d3d-42e4-8b86-adf6b9b0b59c_1664x928.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!doZ4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8221418-4d3d-42e4-8b86-adf6b9b0b59c_1664x928.png 424w, https://substackcdn.com/image/fetch/$s_!doZ4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8221418-4d3d-42e4-8b86-adf6b9b0b59c_1664x928.png 848w, https://substackcdn.com/image/fetch/$s_!doZ4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8221418-4d3d-42e4-8b86-adf6b9b0b59c_1664x928.png 1272w, https://substackcdn.com/image/fetch/$s_!doZ4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8221418-4d3d-42e4-8b86-adf6b9b0b59c_1664x928.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!doZ4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8221418-4d3d-42e4-8b86-adf6b9b0b59c_1664x928.png" width="1456" height="812" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a8221418-4d3d-42e4-8b86-adf6b9b0b59c_1664x928.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:812,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:230019,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/164861060?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8221418-4d3d-42e4-8b86-adf6b9b0b59c_1664x928.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!doZ4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8221418-4d3d-42e4-8b86-adf6b9b0b59c_1664x928.png 424w, https://substackcdn.com/image/fetch/$s_!doZ4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8221418-4d3d-42e4-8b86-adf6b9b0b59c_1664x928.png 848w, https://substackcdn.com/image/fetch/$s_!doZ4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8221418-4d3d-42e4-8b86-adf6b9b0b59c_1664x928.png 1272w, https://substackcdn.com/image/fetch/$s_!doZ4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8221418-4d3d-42e4-8b86-adf6b9b0b59c_1664x928.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>CustomGPTs can be pinned on the sidebar, which makes them easily accessible too.</p><p><strong>Memory (Reference chat history)</strong></p><p>I don&#8217;t actively &#8220;use&#8221; this feature per se because it&#8217;s automated. But I quite like it.</p><p>Since a few months ago, ChatGPT would <a href="https://help.openai.com/en/articles/8590148-memory-faq">refer to past chats</a> even in new chats. It actually made most chats a lot easier. For example, it remembers I&#8217;m working on a desktop AI and details about it. I don&#8217;t have to re-describe what I&#8217;m working on every time.</p><p>But sometimes it doesn&#8217;t work as smoothly. For instance, if I start on a new project, it might still think I&#8217;m working on the desktop AI and explain things based on that. Previously, I could start a new chat and have a blank slate. This requires some getting used to.</p><p><strong>Customization</strong></p><p>Inspired by <a href="https://www.youtube.com/watch?v=EWvNQjAaOHw&amp;ab_channel=AndrejKarpathy">Andrej Karpathy&#8217;s How I use LLMs video</a>, I tried personalizing ChatGPT. Honestly, I&#8217;m not 100% sure this has made a significant difference, especially since OpenAI seems to tweak ChatGPT regularly. But this feels like something that can&#8217;t make the experience worse, so I have kept it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iO-b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08b9534e-1627-4cd3-bbb0-7e47ba8e3566_2020x1706.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iO-b!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08b9534e-1627-4cd3-bbb0-7e47ba8e3566_2020x1706.png 424w, https://substackcdn.com/image/fetch/$s_!iO-b!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08b9534e-1627-4cd3-bbb0-7e47ba8e3566_2020x1706.png 848w, https://substackcdn.com/image/fetch/$s_!iO-b!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08b9534e-1627-4cd3-bbb0-7e47ba8e3566_2020x1706.png 1272w, https://substackcdn.com/image/fetch/$s_!iO-b!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08b9534e-1627-4cd3-bbb0-7e47ba8e3566_2020x1706.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iO-b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08b9534e-1627-4cd3-bbb0-7e47ba8e3566_2020x1706.png" width="1456" height="1230" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/08b9534e-1627-4cd3-bbb0-7e47ba8e3566_2020x1706.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1230,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:329386,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/164861060?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08b9534e-1627-4cd3-bbb0-7e47ba8e3566_2020x1706.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!iO-b!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08b9534e-1627-4cd3-bbb0-7e47ba8e3566_2020x1706.png 424w, https://substackcdn.com/image/fetch/$s_!iO-b!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08b9534e-1627-4cd3-bbb0-7e47ba8e3566_2020x1706.png 848w, https://substackcdn.com/image/fetch/$s_!iO-b!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08b9534e-1627-4cd3-bbb0-7e47ba8e3566_2020x1706.png 1272w, https://substackcdn.com/image/fetch/$s_!iO-b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08b9534e-1627-4cd3-bbb0-7e47ba8e3566_2020x1706.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Images</strong></p><p>Because of my recent website design project, I have been <a href="https://letters.alfredlua.com/p/ai20-image-generation-still-feels">generating a lot of images</a>. I was initially using Sora more than ChatGPT to generate images. But I seem to get better results with ChatGPT, likely because it helps me create the image prompt. Editing also feels a little easier (it&#8217;s still incredibly hard), and I suspect it&#8217;s because of the chat history.</p><p>If you are also using ChatGPT Plus, please share your tips and tricks with me. I&#8217;d love to get more out of my subscription.</p><p>If you are considering whether you should subscribe to ChatGPT (or others), two things tipped the scales for me.</p><ol><li><p>Andrej Karpathy, in his video, talked about paying to use the best models. I&#8217;m glad I subscribed because I can use o3.</p></li><li><p>&#8220;The man who needs a new machine tool, and hasn&#8217;t bought it, is already paying for it.&#8221; Charlie Munger mentioned this advertisement tagline by Warner &amp; Swasey&#8217;s in his talks.</p></li></ol><div><hr></div><h2>Technical notes</h2><p>This section used to be called &#8220;Jargon explained&#8221; but I think &#8220;Technical notes&#8221; is more accurate and direct. </p><p>I have mostly been designing and coding our website this week, so my notes are on frontend rather than AI.</p><ul><li><p><strong>Nuxt: </strong>I am building our fourth website since starting up (<a href="https://dashibase.com/">Dashibase</a>, <a href="https://pebblely.com/">Pebblely</a>, <a href="https://stores-tools.vercel.app/">Stores</a>). I find Nuxt to be the easiest framework to use, especially when I also want to have a blog; <a href="https://content.nuxt.com/">Nuxt Content</a> makes it pretty simple. NextJS seemed to have gotten way too complicated.</p></li><li><p><strong>Tailwind, image, and SVGs:</strong> Tailwind&#8217;s stroke-* classes only work on inline SVGs, not &lt;img&gt; elements. I tried to change the color of an SVG but failed.</p></li><li><p><strong>Prettier:</strong> I have been using the <a href="https://prettier.io/">Prettier</a> extension and &#8220;Format on save&#8221; in Windsurf to automatically format my code. </p></li></ul><div><hr></div><h2>Interesting links</h2><p>No links for this week, sorry! It has been a busy one. Check out my recent issues below :) </p><div><hr></div><h2>Recent issues</h2><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;e3d200b8-8e19-4853-a739-8f00fca581be&quot;,&quot;caption&quot;:&quot;In the past few weeks, as I was designing a website, I generated about 1,000 images across Sora, ChatGPT, Visual Electric, and Google Gemini.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI20: Image generation still feels like gambling&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-05-25T12:30:52.953Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc41db7ea-f05b-4c1f-ad5d-4d7015bae38c_1536x1024.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai20-image-generation-still-feels&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:164223242,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;13de2474-3976-4cb2-9b39-6c62a01ad6c7&quot;,&quot;caption&quot;:&quot;I have spent the last two weeks designing landing pages for our upcoming product, an AI agent for office work.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI19: Using ChatGPT to produce creatives&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-05-18T12:30:43.145Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07538a42-3d20-41cc-a510-7d0741055d74_1536x1024.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai19-using-chatgpt-to-produce-creatives&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:163689018,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;7d260826-12e7-4033-9b20-3001a9379bae&quot;,&quot;caption&quot;:&quot;For the past week, I have been designing a website for our upcoming product.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI18: BTS of designing websites for AI products&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-05-11T12:30:28.391Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc086e1d-1732-4e31-978f-ae21cc86070a_1536x1024.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai18-bts-of-designing-websites-for&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:163194126,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div>]]></content:encoded></item><item><title><![CDATA[In relationships, don't be efficient]]></title><description><![CDATA[What we should be doing is the opposite.]]></description><link>https://letters.alfredlua.com/p/in-relationships-dont-be-efficient</link><guid isPermaLink="false">https://letters.alfredlua.com/p/in-relationships-dont-be-efficient</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Thu, 29 May 2025 12:31:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hoyz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7910bbb6-8bfa-4e8b-9111-6c96ac651806_5120x3413.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hoyz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7910bbb6-8bfa-4e8b-9111-6c96ac651806_5120x3413.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hoyz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7910bbb6-8bfa-4e8b-9111-6c96ac651806_5120x3413.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hoyz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7910bbb6-8bfa-4e8b-9111-6c96ac651806_5120x3413.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hoyz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7910bbb6-8bfa-4e8b-9111-6c96ac651806_5120x3413.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hoyz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7910bbb6-8bfa-4e8b-9111-6c96ac651806_5120x3413.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hoyz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7910bbb6-8bfa-4e8b-9111-6c96ac651806_5120x3413.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7910bbb6-8bfa-4e8b-9111-6c96ac651806_5120x3413.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1105637,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/164644757?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7910bbb6-8bfa-4e8b-9111-6c96ac651806_5120x3413.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hoyz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7910bbb6-8bfa-4e8b-9111-6c96ac651806_5120x3413.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hoyz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7910bbb6-8bfa-4e8b-9111-6c96ac651806_5120x3413.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hoyz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7910bbb6-8bfa-4e8b-9111-6c96ac651806_5120x3413.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hoyz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7910bbb6-8bfa-4e8b-9111-6c96ac651806_5120x3413.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>My son just fell asleep. Tonight, my wife and I spent about an hour in the dark room with him before he fell asleep. Sometimes, it could be two hours. Unless one of us is not at home, which is rare, we both accompany him until he falls asleep. </p><p>Some of our parent friends take turns to do that: 1, 3, 5, and 2, 4, 6, for example. I&#8217;d admit that is much more efficient and allows one of us to rest and do whatever we want. Or wash the milk bottles. But we aren&#8217;t trying to be efficient. I actually <a href="https://letters.alfredlua.com/p/in-praise-of-the-daily-mundane">love doing such mundane stuff with my wife and son</a>. </p><p>This isn&#8217;t a judgment of other parents, though. We take turns showering our son so that the other can shower (but not on any specific schedule). I&#8217;m sure other parents do other mundane little things together that we don&#8217;t. </p><p>Being a parent has taught me a lot about doing things inefficiently. Well, for one, you cannot give birth to a healthy kid in fewer than nine months by being efficient. Neither can you make a kid get ready for school or eat her meal faster. </p><p>It&#8217;s tempting to rush a child to eat or change their clothes faster, the boring routine stuff, so that they can get to the fun stuff, like going to the zoo or attending a birthday party. But we forget they just want to spend time with us, regardless of whether we are &#8220;just&#8221; eating or watching the sea lion perform.</p><p>In <a href="https://www.netflix.com/title/81681535">When Life Gives You Tangerines</a>, there was a heart-tugging conversation between the main character and her daughter:</p><blockquote><p>Mom: Sweetie, why does it take you forever to get changed every morning?</p><p>Daughter: Because once I&#8217;m dressed, you&#8217;ll go to work.</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!A62B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb4513b-7c5b-480f-9810-1fe075274717_1919x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!A62B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb4513b-7c5b-480f-9810-1fe075274717_1919x941.png 424w, https://substackcdn.com/image/fetch/$s_!A62B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb4513b-7c5b-480f-9810-1fe075274717_1919x941.png 848w, https://substackcdn.com/image/fetch/$s_!A62B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb4513b-7c5b-480f-9810-1fe075274717_1919x941.png 1272w, https://substackcdn.com/image/fetch/$s_!A62B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb4513b-7c5b-480f-9810-1fe075274717_1919x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!A62B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb4513b-7c5b-480f-9810-1fe075274717_1919x941.png" width="1456" height="714" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5fb4513b-7c5b-480f-9810-1fe075274717_1919x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:714,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1128789,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/164644757?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb4513b-7c5b-480f-9810-1fe075274717_1919x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!A62B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb4513b-7c5b-480f-9810-1fe075274717_1919x941.png 424w, https://substackcdn.com/image/fetch/$s_!A62B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb4513b-7c5b-480f-9810-1fe075274717_1919x941.png 848w, https://substackcdn.com/image/fetch/$s_!A62B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb4513b-7c5b-480f-9810-1fe075274717_1919x941.png 1272w, https://substackcdn.com/image/fetch/$s_!A62B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb4513b-7c5b-480f-9810-1fe075274717_1919x941.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This exchange melted my heart and made me cherish the mornings with my son before school even more. I still try to get him to school by 8:30 so that he doesn&#8217;t miss breakfast in school but I try not to rush him. In the worst case, we can get breakfast together before he goes to school. </p><p>The beauty of inefficiency in relationships is everywhere:</p><ul><li><p>A boyfriend sends his girlfriend home even though he has to make a detour.</p></li><li><p>A partner stays up and waits for his partner to come home from a late shift so that they can spend a bit more time together.</p></li><li><p>A mother brings his son on a train ride in the evening because he wants to, instead of rushing him to sleep so that she could rest.</p></li><li><p>A friend makes a birthday card and writes a heartfelt message, even though sending a WhatsApp message is easier and faster.</p></li><li><p>A young man walks an elderly neighbour home to make sure she gets home safely. </p></li><li><p>A team leader doesn&#8217;t shut everyone down and simply does things his way, even if he thinks he might be right because the long-term relationship and learning how to work together are more important.</p></li></ul><p>All too often, we optimize for the wrong things in relationships. We are taught to do things quickly, save time, be efficient. But what matters in relationships is the opposite.</p><p>Do things together slowly, spend lots of time together, and be inefficient.</p><p>Warmly</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YdlP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd3878cf-3e0e-4e14-9954-6c347f06fe3b_1456x116.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YdlP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd3878cf-3e0e-4e14-9954-6c347f06fe3b_1456x116.png 424w, https://substackcdn.com/image/fetch/$s_!YdlP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd3878cf-3e0e-4e14-9954-6c347f06fe3b_1456x116.png 848w, https://substackcdn.com/image/fetch/$s_!YdlP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd3878cf-3e0e-4e14-9954-6c347f06fe3b_1456x116.png 1272w, https://substackcdn.com/image/fetch/$s_!YdlP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd3878cf-3e0e-4e14-9954-6c347f06fe3b_1456x116.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YdlP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd3878cf-3e0e-4e14-9954-6c347f06fe3b_1456x116.png" width="1456" height="116" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fd3878cf-3e0e-4e14-9954-6c347f06fe3b_1456x116.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:116,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6366,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/164644757?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd3878cf-3e0e-4e14-9954-6c347f06fe3b_1456x116.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YdlP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd3878cf-3e0e-4e14-9954-6c347f06fe3b_1456x116.png 424w, https://substackcdn.com/image/fetch/$s_!YdlP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd3878cf-3e0e-4e14-9954-6c347f06fe3b_1456x116.png 848w, https://substackcdn.com/image/fetch/$s_!YdlP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd3878cf-3e0e-4e14-9954-6c347f06fe3b_1456x116.png 1272w, https://substackcdn.com/image/fetch/$s_!YdlP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd3878cf-3e0e-4e14-9954-6c347f06fe3b_1456x116.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9epG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43b8c5b0-81ed-4b31-b203-58ea928bf8b0_728x90.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9epG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43b8c5b0-81ed-4b31-b203-58ea928bf8b0_728x90.png 424w, https://substackcdn.com/image/fetch/$s_!9epG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43b8c5b0-81ed-4b31-b203-58ea928bf8b0_728x90.png 848w, https://substackcdn.com/image/fetch/$s_!9epG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43b8c5b0-81ed-4b31-b203-58ea928bf8b0_728x90.png 1272w, https://substackcdn.com/image/fetch/$s_!9epG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43b8c5b0-81ed-4b31-b203-58ea928bf8b0_728x90.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9epG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43b8c5b0-81ed-4b31-b203-58ea928bf8b0_728x90.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/43b8c5b0-81ed-4b31-b203-58ea928bf8b0_728x90.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2878,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/164644757?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43b8c5b0-81ed-4b31-b203-58ea928bf8b0_728x90.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9epG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43b8c5b0-81ed-4b31-b203-58ea928bf8b0_728x90.png 424w, https://substackcdn.com/image/fetch/$s_!9epG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43b8c5b0-81ed-4b31-b203-58ea928bf8b0_728x90.png 848w, https://substackcdn.com/image/fetch/$s_!9epG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43b8c5b0-81ed-4b31-b203-58ea928bf8b0_728x90.png 1272w, https://substackcdn.com/image/fetch/$s_!9epG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43b8c5b0-81ed-4b31-b203-58ea928bf8b0_728x90.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Pwtl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a4ec83-c87c-4abb-8560-7b310bbf20a2_728x90.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Pwtl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a4ec83-c87c-4abb-8560-7b310bbf20a2_728x90.png 424w, https://substackcdn.com/image/fetch/$s_!Pwtl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a4ec83-c87c-4abb-8560-7b310bbf20a2_728x90.png 848w, https://substackcdn.com/image/fetch/$s_!Pwtl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a4ec83-c87c-4abb-8560-7b310bbf20a2_728x90.png 1272w, https://substackcdn.com/image/fetch/$s_!Pwtl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a4ec83-c87c-4abb-8560-7b310bbf20a2_728x90.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Pwtl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a4ec83-c87c-4abb-8560-7b310bbf20a2_728x90.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/28a4ec83-c87c-4abb-8560-7b310bbf20a2_728x90.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2886,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/164644757?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a4ec83-c87c-4abb-8560-7b310bbf20a2_728x90.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Pwtl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a4ec83-c87c-4abb-8560-7b310bbf20a2_728x90.png 424w, https://substackcdn.com/image/fetch/$s_!Pwtl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a4ec83-c87c-4abb-8560-7b310bbf20a2_728x90.png 848w, https://substackcdn.com/image/fetch/$s_!Pwtl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a4ec83-c87c-4abb-8560-7b310bbf20a2_728x90.png 1272w, https://substackcdn.com/image/fetch/$s_!Pwtl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a4ec83-c87c-4abb-8560-7b310bbf20a2_728x90.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Xy30!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d561916-53fb-46d5-8670-cb80138d332d_728x90.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Xy30!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d561916-53fb-46d5-8670-cb80138d332d_728x90.png 424w, https://substackcdn.com/image/fetch/$s_!Xy30!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d561916-53fb-46d5-8670-cb80138d332d_728x90.png 848w, https://substackcdn.com/image/fetch/$s_!Xy30!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d561916-53fb-46d5-8670-cb80138d332d_728x90.png 1272w, https://substackcdn.com/image/fetch/$s_!Xy30!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d561916-53fb-46d5-8670-cb80138d332d_728x90.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Xy30!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d561916-53fb-46d5-8670-cb80138d332d_728x90.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d561916-53fb-46d5-8670-cb80138d332d_728x90.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2886,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/164644757?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d561916-53fb-46d5-8670-cb80138d332d_728x90.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Xy30!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d561916-53fb-46d5-8670-cb80138d332d_728x90.png 424w, https://substackcdn.com/image/fetch/$s_!Xy30!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d561916-53fb-46d5-8670-cb80138d332d_728x90.png 848w, https://substackcdn.com/image/fetch/$s_!Xy30!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d561916-53fb-46d5-8670-cb80138d332d_728x90.png 1272w, https://substackcdn.com/image/fetch/$s_!Xy30!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d561916-53fb-46d5-8670-cb80138d332d_728x90.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uBa4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe2fcf31-58e7-410f-a160-1690cacd0561_728x90.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uBa4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe2fcf31-58e7-410f-a160-1690cacd0561_728x90.png 424w, https://substackcdn.com/image/fetch/$s_!uBa4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe2fcf31-58e7-410f-a160-1690cacd0561_728x90.png 848w, https://substackcdn.com/image/fetch/$s_!uBa4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe2fcf31-58e7-410f-a160-1690cacd0561_728x90.png 1272w, https://substackcdn.com/image/fetch/$s_!uBa4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe2fcf31-58e7-410f-a160-1690cacd0561_728x90.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uBa4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe2fcf31-58e7-410f-a160-1690cacd0561_728x90.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be2fcf31-58e7-410f-a160-1690cacd0561_728x90.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2886,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/164644757?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe2fcf31-58e7-410f-a160-1690cacd0561_728x90.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uBa4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe2fcf31-58e7-410f-a160-1690cacd0561_728x90.png 424w, https://substackcdn.com/image/fetch/$s_!uBa4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe2fcf31-58e7-410f-a160-1690cacd0561_728x90.png 848w, https://substackcdn.com/image/fetch/$s_!uBa4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe2fcf31-58e7-410f-a160-1690cacd0561_728x90.png 1272w, https://substackcdn.com/image/fetch/$s_!uBa4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe2fcf31-58e7-410f-a160-1690cacd0561_728x90.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[AI20: Image generation still feels like gambling]]></title><description><![CDATA[Some thoughts after generating about 1,000 images in the past few weeks]]></description><link>https://letters.alfredlua.com/p/ai20-image-generation-still-feels</link><guid isPermaLink="false">https://letters.alfredlua.com/p/ai20-image-generation-still-feels</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Sun, 25 May 2025 12:30:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!TGBu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc41db7ea-f05b-4c1f-ad5d-4d7015bae38c_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TGBu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc41db7ea-f05b-4c1f-ad5d-4d7015bae38c_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TGBu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc41db7ea-f05b-4c1f-ad5d-4d7015bae38c_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!TGBu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc41db7ea-f05b-4c1f-ad5d-4d7015bae38c_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!TGBu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc41db7ea-f05b-4c1f-ad5d-4d7015bae38c_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!TGBu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc41db7ea-f05b-4c1f-ad5d-4d7015bae38c_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TGBu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc41db7ea-f05b-4c1f-ad5d-4d7015bae38c_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c41db7ea-f05b-4c1f-ad5d-4d7015bae38c_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3130536,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/164223242?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc41db7ea-f05b-4c1f-ad5d-4d7015bae38c_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!TGBu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc41db7ea-f05b-4c1f-ad5d-4d7015bae38c_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!TGBu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc41db7ea-f05b-4c1f-ad5d-4d7015bae38c_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!TGBu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc41db7ea-f05b-4c1f-ad5d-4d7015bae38c_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!TGBu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc41db7ea-f05b-4c1f-ad5d-4d7015bae38c_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In the past few weeks, as I was designing a website, I generated about 1,000 images across Sora, ChatGPT, Visual Electric, and Google Gemini. </p><p>About a year ago, my cofounder SK and I tried building <a href="https://www.youtube.com/playlist?list=PLDThsO-JemlGwh45ZG0Ueze2nuHgiUdzJ">an AI-first Photoshop, Vispunk</a>. Besides text-to-image generation, it has tools for selecting parts of an image for re-generation, drawing shapes and sketches, and generating images with images, to allow you to create the composition you want.</p><div id="youtube2-fg3Why0vyr8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;fg3Why0vyr8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/fg3Why0vyr8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>I&#8217;m surprised how little AI image generation has changed since then. </p><p>Sure, the image models have gotten better. They can generate more realistic faces, hands, and text but still distort eyes, fingers, and small letters regularly. But more importantly, even though they can generate nicer images, getting what you want is still hard. </p><p>Image generation is still like rolling the dice. </p><p>You keep trying until you get what you want.</p><p>I was reminded of this after burning through about 500 credits on Visual Electric within a day.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h7uC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b760569-5768-473c-893d-d6a3b5555243_3024x1708.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h7uC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b760569-5768-473c-893d-d6a3b5555243_3024x1708.png 424w, https://substackcdn.com/image/fetch/$s_!h7uC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b760569-5768-473c-893d-d6a3b5555243_3024x1708.png 848w, https://substackcdn.com/image/fetch/$s_!h7uC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b760569-5768-473c-893d-d6a3b5555243_3024x1708.png 1272w, https://substackcdn.com/image/fetch/$s_!h7uC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b760569-5768-473c-893d-d6a3b5555243_3024x1708.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!h7uC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b760569-5768-473c-893d-d6a3b5555243_3024x1708.png" width="1456" height="822" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b760569-5768-473c-893d-d6a3b5555243_3024x1708.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:822,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2365384,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/164223242?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b760569-5768-473c-893d-d6a3b5555243_3024x1708.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!h7uC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b760569-5768-473c-893d-d6a3b5555243_3024x1708.png 424w, https://substackcdn.com/image/fetch/$s_!h7uC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b760569-5768-473c-893d-d6a3b5555243_3024x1708.png 848w, https://substackcdn.com/image/fetch/$s_!h7uC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b760569-5768-473c-893d-d6a3b5555243_3024x1708.png 1272w, https://substackcdn.com/image/fetch/$s_!h7uC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b760569-5768-473c-893d-d6a3b5555243_3024x1708.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Text as the only input interface is terrible.</p><p>One, it&#8217;s hard to describe exactly the image we want. Often, we have to write a long paragraph to describe not just every object in the image but also the style, feeling, mood, and so on. Even then, we might not get exactly what we want. A term like &#8220;retro&#8221; can be interpreted in many different ways. Appending &#8220;Grainy analog, retro, 50mm&#8221; to the image prompt doesn&#8217;t mean the same &#8220;filter&#8221; for every image.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uM27!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4191484b-1128-43a2-b7ea-036b5d977916_1678x1578.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uM27!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4191484b-1128-43a2-b7ea-036b5d977916_1678x1578.png 424w, https://substackcdn.com/image/fetch/$s_!uM27!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4191484b-1128-43a2-b7ea-036b5d977916_1678x1578.png 848w, https://substackcdn.com/image/fetch/$s_!uM27!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4191484b-1128-43a2-b7ea-036b5d977916_1678x1578.png 1272w, https://substackcdn.com/image/fetch/$s_!uM27!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4191484b-1128-43a2-b7ea-036b5d977916_1678x1578.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uM27!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4191484b-1128-43a2-b7ea-036b5d977916_1678x1578.png" width="1456" height="1369" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4191484b-1128-43a2-b7ea-036b5d977916_1678x1578.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1369,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3134815,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/164223242?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4191484b-1128-43a2-b7ea-036b5d977916_1678x1578.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uM27!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4191484b-1128-43a2-b7ea-036b5d977916_1678x1578.png 424w, https://substackcdn.com/image/fetch/$s_!uM27!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4191484b-1128-43a2-b7ea-036b5d977916_1678x1578.png 848w, https://substackcdn.com/image/fetch/$s_!uM27!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4191484b-1128-43a2-b7ea-036b5d977916_1678x1578.png 1272w, https://substackcdn.com/image/fetch/$s_!uM27!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4191484b-1128-43a2-b7ea-036b5d977916_1678x1578.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Two, if the generated image looks great except for one tiny part, it is impossible to pinpoint only that part and edit it with a text input. How do you describe a particular crayon in an image full of scattered crayons? What ends up happening is we would generate more images and pray one of them is better.</p><p>We built Vispunk because we thought (and still think) visual creation should be visual. Midjourney, which is notoriously known for having only a textbox in Discord, now has a <a href="https://docs.midjourney.com/hc/en-us/articles/32764383466893-Editor">visual editor</a>. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bjKF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21529e28-0895-4e19-b9a8-909a0688ca93_1800x675.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bjKF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21529e28-0895-4e19-b9a8-909a0688ca93_1800x675.png 424w, https://substackcdn.com/image/fetch/$s_!bjKF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21529e28-0895-4e19-b9a8-909a0688ca93_1800x675.png 848w, https://substackcdn.com/image/fetch/$s_!bjKF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21529e28-0895-4e19-b9a8-909a0688ca93_1800x675.png 1272w, https://substackcdn.com/image/fetch/$s_!bjKF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21529e28-0895-4e19-b9a8-909a0688ca93_1800x675.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bjKF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21529e28-0895-4e19-b9a8-909a0688ca93_1800x675.png" width="1456" height="546" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/21529e28-0895-4e19-b9a8-909a0688ca93_1800x675.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:546,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;editor-header.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="editor-header.png" title="editor-header.png" srcset="https://substackcdn.com/image/fetch/$s_!bjKF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21529e28-0895-4e19-b9a8-909a0688ca93_1800x675.png 424w, https://substackcdn.com/image/fetch/$s_!bjKF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21529e28-0895-4e19-b9a8-909a0688ca93_1800x675.png 848w, https://substackcdn.com/image/fetch/$s_!bjKF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21529e28-0895-4e19-b9a8-909a0688ca93_1800x675.png 1272w, https://substackcdn.com/image/fetch/$s_!bjKF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21529e28-0895-4e19-b9a8-909a0688ca93_1800x675.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">From Midjourney. Notice how much the cat changed.</figcaption></figure></div><p>Sora allows me to select an area of a generated image and describe the changes I want. But it seems to change more than the selected area. Here&#8217;s a funny example where I selected the eyes and asked Sora to &#8220;fix the eyes&#8221;:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-A5z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b43a55-9b89-421e-9cb1-d2e593ee5525_1536x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-A5z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b43a55-9b89-421e-9cb1-d2e593ee5525_1536x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!-A5z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b43a55-9b89-421e-9cb1-d2e593ee5525_1536x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!-A5z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b43a55-9b89-421e-9cb1-d2e593ee5525_1536x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!-A5z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b43a55-9b89-421e-9cb1-d2e593ee5525_1536x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-A5z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b43a55-9b89-421e-9cb1-d2e593ee5525_1536x1024.webp" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f1b43a55-9b89-421e-9cb1-d2e593ee5525_1536x1024.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Generated image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Generated image" title="Generated image" srcset="https://substackcdn.com/image/fetch/$s_!-A5z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b43a55-9b89-421e-9cb1-d2e593ee5525_1536x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!-A5z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b43a55-9b89-421e-9cb1-d2e593ee5525_1536x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!-A5z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b43a55-9b89-421e-9cb1-d2e593ee5525_1536x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!-A5z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b43a55-9b89-421e-9cb1-d2e593ee5525_1536x1024.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Before</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WV-n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18c51858-f792-480f-9f34-2c5b7394a823_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WV-n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18c51858-f792-480f-9f34-2c5b7394a823_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!WV-n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18c51858-f792-480f-9f34-2c5b7394a823_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!WV-n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18c51858-f792-480f-9f34-2c5b7394a823_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!WV-n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18c51858-f792-480f-9f34-2c5b7394a823_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WV-n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18c51858-f792-480f-9f34-2c5b7394a823_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/18c51858-f792-480f-9f34-2c5b7394a823_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2308283,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/164223242?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18c51858-f792-480f-9f34-2c5b7394a823_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WV-n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18c51858-f792-480f-9f34-2c5b7394a823_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!WV-n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18c51858-f792-480f-9f34-2c5b7394a823_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!WV-n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18c51858-f792-480f-9f34-2c5b7394a823_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!WV-n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18c51858-f792-480f-9f34-2c5b7394a823_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">After. Notice how, besides the eyes, the head was enlarged and the image became warmer.</figcaption></figure></div><p>Given that <a href="https://letters.alfredlua.com/p/alfred-intelligence-issue-1">I started this newsletter to learn more about AI, particularly AI agents</a>, I wonder if an automatic multi-step workflow can make image generation easier. </p><ol><li><p>Writing long, detailed prompts is challenging. I often look at images by other users in the galleries and edit the prompts to match what I want. An agent could chat with me back and forth to understand what I want and then create an image prompt. I guess <a href="https://letters.alfredlua.com/p/ai19-using-chatgpt-to-produce-creatives">ChatGPT does this</a>.</p></li><li><p>For Pebblely Fashion, we added several post-processing steps to make the images, especially the faces, better, because we knew every image would have a face but it would almost always require upscaling to look more realistic. An agent could automatically pick up distorted faces or hands and fix them. </p></li><li><p>Generating one image in a preferred style is relatively easy but creating a set of images in the same style is not. Just slapping the same &#8220;filter&#8221; on different images doesn&#8217;t always give a consistent feel because the original image might already have different styles. An agent could take the original style into account and edit the images to look and feel the same aesthetically.</p></li><li><p>Whether an image is good or &#8220;correct&#8221; is subjective. Sometimes I might actually want distorted images. The recent models can probably assess images according to the image prompt like I would, identify areas for improvement, and inform me or make edits directly. </p></li></ol><p>But unless the end result is exactly what I want, I would still prefer a visual way to pinpoint the parts of the image I&#8217;d like to edit. </p><p>Photoshop has many of the things I described above right. But it has such a steep learning curve. An innovative solution that I saw on X/Twitter<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> is generative onboarding: You chat with an AI assistant to edit your image. As it makes the edits, the button for the respective feature is added to the user interface. The user interface won&#8217;t be overwhelming because it is empty at the start and becomes richer as you learn.</p><p>Playground had many of Vispunk&#8217;s features and more, such as creating with ControlNet. But I just noticed that they <a href="https://x.com/playground_ai/status/1830977370305778032">pivoted to a much, much simpler interface and experience</a>. Perhaps they learned that the previous paradigm doesn&#8217;t work, though many of their customers seemed upset about the change.</p><p>Maybe we should bring back Vispunk someday. Let&#8217;s see.</p><div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d084a3fd-2e6d-4dc9-82ab-0a7d450f6675_1536x1024.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b29242d0-887c-4d25-bfce-d0ee2e4cb425_1536x1024.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fbd8a7b8-f5d7-4d20-8193-360eb580e03c_1536x1024.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9adcac30-a3d8-445b-a9ed-7837490c4e70_1280x896.png&quot;}],&quot;caption&quot;:&quot;Some of my favorites from my recent generations&quot;,&quot;alt&quot;:&quot;&quot;,&quot;staticGalleryImage&quot;:{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/edb82629-4802-45c3-901f-e52e9145fa5a_1456x1456.png&quot;}},&quot;isEditorNode&quot;:true}"></div><div><hr></div><h2>Jargon explained</h2><p>(Nothing for this week because I was mostly generating images and writing copy.)</p><div><hr></div><h2>Interesting links</h2><ul><li><p><strong><a href="https://www.anthropic.com/news/claude-4">Claude 4</a>:</strong> Anthropic released Claude 4 Opus and Claude 4 Sonnet. I have yet to test them enough to have a comment but from my reading, I chanced upon <a href="https://github.com/anthropics/anthropic-cookbook/blob/main/tool_use/memory_cookbook.ipynb">Anthropic&#8217;s recommendations for managing memory</a>, which is an important component for AI agents. </p></li><li><p><strong><a href="https://www.strangeloopcanon.com/p/working-with-llms-a-few-lessons">Working with LLMs: A Few Lessons</a>:</strong> &#8220;Unlike with traditional software there is no way to get better at using AI than using AI.&#8221; and &#8220;Mostly, the way to make sure you have the skills and the people to jump into a longer-term project is to build many things. Repeatedly. Until those who would build it have enough muscle memory to be able to do more complicated projects.&#8221;</p></li><li><p><strong><a href="https://nousresearch.com/">Nous Research</a>:</strong> I love the style of the website: A simple blue and white theme, monospaced fonts, and AI images.</p></li></ul><div><hr></div><h2>Recent issues</h2><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;6e4dbbc3-c796-43d9-9793-98c47dde97f2&quot;,&quot;caption&quot;:&quot;I have spent the last two weeks designing landing pages for our upcoming product, an AI agent for office work.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI19: Using ChatGPT to produce creatives&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-05-18T12:30:43.145Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07538a42-3d20-41cc-a510-7d0741055d74_1536x1024.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai19-using-chatgpt-to-produce-creatives&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:163689018,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;6c95bd54-214f-499a-b8db-aff2b4377acc&quot;,&quot;caption&quot;:&quot;For the past week, I have been designing a website for our upcoming product.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI18: BTS of designing websites for AI products&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-05-11T12:30:28.391Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc086e1d-1732-4e31-978f-ae21cc86070a_1536x1024.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai18-bts-of-designing-websites-for&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:163194126,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;60ab2e43-daf6-4ff7-97b0-ae8110133d19&quot;,&quot;caption&quot;:&quot;When I create an AI agent, I would usually print the LLM&#8217;s responses, tool calls, tool results, and other logs to the Terminal. This is so that I know what is happening while the agent is running.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI17: Designing for humans vs AI agents&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-05-04T12:30:59.977Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4934eca7-7d78-4904-b92c-4ffc92405df9_1024x608.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai17-designing-for-humans-vs-ai-agents&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:162680703,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>I can&#8217;t find the tweet now, and neither could o3. I was disappointed!</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[The last 10%]]></title><description><![CDATA[What my dad taught me about craftsmanship]]></description><link>https://letters.alfredlua.com/p/the-last-10</link><guid isPermaLink="false">https://letters.alfredlua.com/p/the-last-10</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Thu, 22 May 2025 13:05:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8osN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe135b244-70e2-4827-bca2-f21e69d14fe4_1920x1080.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8osN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe135b244-70e2-4827-bca2-f21e69d14fe4_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8osN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe135b244-70e2-4827-bca2-f21e69d14fe4_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8osN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe135b244-70e2-4827-bca2-f21e69d14fe4_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8osN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe135b244-70e2-4827-bca2-f21e69d14fe4_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8osN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe135b244-70e2-4827-bca2-f21e69d14fe4_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8osN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe135b244-70e2-4827-bca2-f21e69d14fe4_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e135b244-70e2-4827-bca2-f21e69d14fe4_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:466379,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/164044991?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe135b244-70e2-4827-bca2-f21e69d14fe4_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8osN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe135b244-70e2-4827-bca2-f21e69d14fe4_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8osN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe135b244-70e2-4827-bca2-f21e69d14fe4_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8osN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe135b244-70e2-4827-bca2-f21e69d14fe4_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8osN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe135b244-70e2-4827-bca2-f21e69d14fe4_1920x1080.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">My parents&#8217; 37-year-old workshop</figcaption></figure></div><p>A few years ago, my dad came to my place to help me repaint a door. </p><p>I learned that we had to first strip the old paint. We started with a paint scraper, which could remove relatively big chunks of paint. But it still took us a while. It turns out, a door feels a lot bigger when I have to scrape every inch of it by hand.</p><p>He then switched to a penknife blade to remove the small areas we missed with the scraper. Honestly, I was tired by this point.</p><p>&#8220;Didn&#8217;t we remove most of the paint already? Can&#8217;t we just leave the rest and paint over them?&#8221; I asked in Mandarin. </p><p>&#8220;No, that&#8217;s not good enough. The paint will come off.&#8221;</p><p>Without saying more and with sweat all over his face, he continued to scrape off the old paint, sand the door, and then paint a few new layers. </p><div><hr></div><p>My dad and mum have been running <a href="https://www.facebook.com/HaiWeeEnterprise/">their small car audio and accessories workshop</a> longer than I have been alive. It was there that I spent most of my school holidays. </p><p>I would sometimes watch him install new devices in their customers&#8217; cars. Even though all of the wiring is hidden behind the interior panels and the customers will never see it, he would always manage the wires beautifully. He would carefully strip the wires, connect them tightly with a heat shrink and sometimes solder them, and route them cleanly. If he caught his technicians stuffing the wires and leaving a mess, he would reprimand them.</p><p>That the business has been around for 37 years, four more years than I have, is a testament to his craftsmanship (and my mum&#8217;s salesmanship).</p><p>He is still so meticulous at 66. I suspect he simply loves the craft because he does the same at home. And he does a lot of DIY at home.</p><div class="pullquote"><p>&#8220;If you&#8217;re going to make something, it doesn&#8217;t take any more energy &#8212;and rarely does it take more money &#8212;to make it really great. All it takes is a little more time. Not that much more. And a willingness to persevere until it&#8217;s really great.&#8221;&#8212;<a href="https://book.stevejobsarchive.com/">Steve Jobs</a></p></div><p>This is something I&#8217;m still working on. </p><p>Be it working on <a href="https://letters.alfredlua.com/p/ai18-bts-of-designing-websites-for">website designs</a> or <a href="https://letters.alfredlua.com/p/the-unlikely-writer">writing essays</a>, I&#8217;m often tempted to think they are good enough and ship them. They might be okay but are probably only about 80% there. Recently, I have been pushing myself to refine and improve my work further. </p><p>It is hard. The last 10-20% can take as much time as the first 80-90%. For example, I took a week to go through four iterations of a website design and more than two weeks refining the &#8220;final&#8221; iteration. Revising the copy and <a href="https://letters.alfredlua.com/p/ai19-using-chatgpt-to-produce-creatives">generating better images</a> alone took me several days. One of the images I generated looks 99% okay. But the eyes of the person, just a few pixels, were distorted, and the entire photo just didn&#8217;t feel right. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qeeC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef4bf895-8917-4282-bab4-7db818496d6d_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qeeC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef4bf895-8917-4282-bab4-7db818496d6d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!qeeC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef4bf895-8917-4282-bab4-7db818496d6d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!qeeC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef4bf895-8917-4282-bab4-7db818496d6d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!qeeC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef4bf895-8917-4282-bab4-7db818496d6d_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qeeC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef4bf895-8917-4282-bab4-7db818496d6d_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef4bf895-8917-4282-bab4-7db818496d6d_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2183279,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/164044991?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef4bf895-8917-4282-bab4-7db818496d6d_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qeeC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef4bf895-8917-4282-bab4-7db818496d6d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!qeeC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef4bf895-8917-4282-bab4-7db818496d6d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!qeeC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef4bf895-8917-4282-bab4-7db818496d6d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!qeeC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef4bf895-8917-4282-bab4-7db818496d6d_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>When something doesn&#8217;t feel right, I get a nagging sensation. But I don&#8217;t always know what is wrong exactly. Because of that, I used to sweep this feeling under the rug and move on; I didn&#8217;t know what to do! </p><p>Now, I try to sit with it and even lean into it. </p><p><em>Something feels off. Why?</em></p><p><em>What could it be?</em></p><p><em>What if I try this other thing? Or that? Any difference?</em></p><p><em>What would X person or brand do instead? Why would they not do what I did?</em></p><p>My cofounder SK has been a helpful critic and thought partner. Sometimes he can articulate what feels wrong; sometimes he can only point out &#8220;hints&#8221; of what feels off and I&#8217;d try to figure it out. Either way, I find it useful to dissect the issue with someone else (which <a href="https://letters.alfredlua.com/p/rigor-and-ai">sometimes is ChatGPT</a>).</p><p>Taking a step back, the nagging sensation is actually a good sign. When I first started writing or designing or coding, I didn&#8217;t even get that feeling. Maybe because my senses were not developed yet. With more practice and feedback, I have become more sensitive to issues. </p><p>Perhaps that&#8217;s how <a href="https://letters.alfredlua.com/p/to-develop-taste-first-understand">taste is developed</a>. By leaning into the awkwardness, despite not knowing what is wrong and what to fix. By asking questions and trying different things, even if most would fail. By taking a bit more time and persevering until it feels great. </p>]]></content:encoded></item><item><title><![CDATA[AI19: Using ChatGPT to produce creatives]]></title><description><![CDATA[How to create icons and images of the same style to emphasize a style and elevate the entire design's aesthetic]]></description><link>https://letters.alfredlua.com/p/ai19-using-chatgpt-to-produce-creatives</link><guid isPermaLink="false">https://letters.alfredlua.com/p/ai19-using-chatgpt-to-produce-creatives</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Sun, 18 May 2025 12:30:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!BBtu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07538a42-3d20-41cc-a510-7d0741055d74_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BBtu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07538a42-3d20-41cc-a510-7d0741055d74_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BBtu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07538a42-3d20-41cc-a510-7d0741055d74_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!BBtu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07538a42-3d20-41cc-a510-7d0741055d74_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!BBtu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07538a42-3d20-41cc-a510-7d0741055d74_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!BBtu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07538a42-3d20-41cc-a510-7d0741055d74_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BBtu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07538a42-3d20-41cc-a510-7d0741055d74_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/07538a42-3d20-41cc-a510-7d0741055d74_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4314284,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/163689018?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07538a42-3d20-41cc-a510-7d0741055d74_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BBtu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07538a42-3d20-41cc-a510-7d0741055d74_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!BBtu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07538a42-3d20-41cc-a510-7d0741055d74_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!BBtu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07538a42-3d20-41cc-a510-7d0741055d74_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!BBtu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07538a42-3d20-41cc-a510-7d0741055d74_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I have spent the last two weeks <a href="https://letters.alfredlua.com/p/ai18-bts-of-designing-websites-for">designing landing pages for our upcoming product</a>, an AI agent for office work. </p><p>As a tiny bootstrapped company of two, SK and I often try to do as much as we can ourselves. This allows us to stay lean, move fast, and keep costs low. </p><p>But sometimes, that would mean a compromise in the quality. For example, we often use <a href="https://heroicons.com/">Heroicons</a> icons and <a href="https://unsplash.com/">Unsplash</a> images because they are nice enough and free.</p><p>Heroicons icons are beautiful. But they are all in a single style and are limited.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LSUw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa06b7f7e-b8c1-4325-8bd9-1486a72e3bf1_1285x830.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LSUw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa06b7f7e-b8c1-4325-8bd9-1486a72e3bf1_1285x830.png 424w, https://substackcdn.com/image/fetch/$s_!LSUw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa06b7f7e-b8c1-4325-8bd9-1486a72e3bf1_1285x830.png 848w, https://substackcdn.com/image/fetch/$s_!LSUw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa06b7f7e-b8c1-4325-8bd9-1486a72e3bf1_1285x830.png 1272w, https://substackcdn.com/image/fetch/$s_!LSUw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa06b7f7e-b8c1-4325-8bd9-1486a72e3bf1_1285x830.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LSUw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa06b7f7e-b8c1-4325-8bd9-1486a72e3bf1_1285x830.png" width="1285" height="830" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a06b7f7e-b8c1-4325-8bd9-1486a72e3bf1_1285x830.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:830,&quot;width&quot;:1285,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:67701,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/163689018?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa06b7f7e-b8c1-4325-8bd9-1486a72e3bf1_1285x830.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LSUw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa06b7f7e-b8c1-4325-8bd9-1486a72e3bf1_1285x830.png 424w, https://substackcdn.com/image/fetch/$s_!LSUw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa06b7f7e-b8c1-4325-8bd9-1486a72e3bf1_1285x830.png 848w, https://substackcdn.com/image/fetch/$s_!LSUw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa06b7f7e-b8c1-4325-8bd9-1486a72e3bf1_1285x830.png 1272w, https://substackcdn.com/image/fetch/$s_!LSUw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa06b7f7e-b8c1-4325-8bd9-1486a72e3bf1_1285x830.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>While the photos on Unsplash are amazing, they are overused. Anyone who needs a photo of a lady working on a laptop has probably used this Unsplash image.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iv0k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200c7169-8392-45f4-9778-2e0d2cfea818_5128x3419.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iv0k!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200c7169-8392-45f4-9778-2e0d2cfea818_5128x3419.jpeg 424w, https://substackcdn.com/image/fetch/$s_!iv0k!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200c7169-8392-45f4-9778-2e0d2cfea818_5128x3419.jpeg 848w, https://substackcdn.com/image/fetch/$s_!iv0k!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200c7169-8392-45f4-9778-2e0d2cfea818_5128x3419.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!iv0k!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200c7169-8392-45f4-9778-2e0d2cfea818_5128x3419.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iv0k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200c7169-8392-45f4-9778-2e0d2cfea818_5128x3419.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/200c7169-8392-45f4-9778-2e0d2cfea818_5128x3419.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1824319,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/163689018?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200c7169-8392-45f4-9778-2e0d2cfea818_5128x3419.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!iv0k!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200c7169-8392-45f4-9778-2e0d2cfea818_5128x3419.jpeg 424w, https://substackcdn.com/image/fetch/$s_!iv0k!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200c7169-8392-45f4-9778-2e0d2cfea818_5128x3419.jpeg 848w, https://substackcdn.com/image/fetch/$s_!iv0k!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200c7169-8392-45f4-9778-2e0d2cfea818_5128x3419.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!iv0k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200c7169-8392-45f4-9778-2e0d2cfea818_5128x3419.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Even if you find a nice photo after scrolling through 200 photos on Unsplash, it is almost impossible to find another photo, say a man working on a laptop, in the same style. </p><h2>ChatGPT has entered the chat</h2><p>Using ChatGPT (Plus), I was able to generate various icons in the specific styles and different images with a consistent style. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DSNz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6cb856-797d-4769-8c3c-7ea9a306b165_1164x508.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DSNz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6cb856-797d-4769-8c3c-7ea9a306b165_1164x508.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DSNz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6cb856-797d-4769-8c3c-7ea9a306b165_1164x508.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DSNz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6cb856-797d-4769-8c3c-7ea9a306b165_1164x508.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DSNz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6cb856-797d-4769-8c3c-7ea9a306b165_1164x508.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DSNz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6cb856-797d-4769-8c3c-7ea9a306b165_1164x508.jpeg" width="1164" height="508" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/de6cb856-797d-4769-8c3c-7ea9a306b165_1164x508.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:508,&quot;width&quot;:1164,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:199619,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/163689018?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6cb856-797d-4769-8c3c-7ea9a306b165_1164x508.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DSNz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6cb856-797d-4769-8c3c-7ea9a306b165_1164x508.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DSNz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6cb856-797d-4769-8c3c-7ea9a306b165_1164x508.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DSNz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6cb856-797d-4769-8c3c-7ea9a306b165_1164x508.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DSNz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6cb856-797d-4769-8c3c-7ea9a306b165_1164x508.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5f38b17f-8928-4d6a-a00d-6bea0fc590e6_1536x1024.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/957be532-0558-4817-93a7-65e49fe70259_1536x1024.png&quot;}],&quot;caption&quot;:&quot;&quot;,&quot;alt&quot;:&quot;&quot;,&quot;staticGalleryImage&quot;:{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3813ec0e-c63b-45ef-a2c1-01a2261533cd_1456x720.png&quot;}},&quot;isEditorNode&quot;:true}"></div><p>They might not seem like much on their own. But when I combined them with the other elements on a design, they helped to emphasize the style further and elevate the design aesthetic overall.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XWZ5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cde49eb-8eee-4bb7-bb7b-f097b6aff63d_1514x1038.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XWZ5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cde49eb-8eee-4bb7-bb7b-f097b6aff63d_1514x1038.jpeg 424w, https://substackcdn.com/image/fetch/$s_!XWZ5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cde49eb-8eee-4bb7-bb7b-f097b6aff63d_1514x1038.jpeg 848w, https://substackcdn.com/image/fetch/$s_!XWZ5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cde49eb-8eee-4bb7-bb7b-f097b6aff63d_1514x1038.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!XWZ5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cde49eb-8eee-4bb7-bb7b-f097b6aff63d_1514x1038.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XWZ5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cde49eb-8eee-4bb7-bb7b-f097b6aff63d_1514x1038.jpeg" width="1456" height="998" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9cde49eb-8eee-4bb7-bb7b-f097b6aff63d_1514x1038.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:998,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:619086,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/163689018?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cde49eb-8eee-4bb7-bb7b-f097b6aff63d_1514x1038.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XWZ5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cde49eb-8eee-4bb7-bb7b-f097b6aff63d_1514x1038.jpeg 424w, https://substackcdn.com/image/fetch/$s_!XWZ5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cde49eb-8eee-4bb7-bb7b-f097b6aff63d_1514x1038.jpeg 848w, https://substackcdn.com/image/fetch/$s_!XWZ5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cde49eb-8eee-4bb7-bb7b-f097b6aff63d_1514x1038.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!XWZ5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cde49eb-8eee-4bb7-bb7b-f097b6aff63d_1514x1038.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Rsh0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca2403f-b88f-4027-a8df-0208c7a2f4c7_1510x1233.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Rsh0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca2403f-b88f-4027-a8df-0208c7a2f4c7_1510x1233.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Rsh0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca2403f-b88f-4027-a8df-0208c7a2f4c7_1510x1233.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Rsh0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca2403f-b88f-4027-a8df-0208c7a2f4c7_1510x1233.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Rsh0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca2403f-b88f-4027-a8df-0208c7a2f4c7_1510x1233.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Rsh0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca2403f-b88f-4027-a8df-0208c7a2f4c7_1510x1233.jpeg" width="1456" height="1189" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7ca2403f-b88f-4027-a8df-0208c7a2f4c7_1510x1233.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1189,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:354755,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/163689018?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca2403f-b88f-4027-a8df-0208c7a2f4c7_1510x1233.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Rsh0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca2403f-b88f-4027-a8df-0208c7a2f4c7_1510x1233.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Rsh0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca2403f-b88f-4027-a8df-0208c7a2f4c7_1510x1233.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Rsh0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca2403f-b88f-4027-a8df-0208c7a2f4c7_1510x1233.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Rsh0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca2403f-b88f-4027-a8df-0208c7a2f4c7_1510x1233.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!whkO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38fd4c9-0bb9-45fd-848a-8f1f2a8ad0ba_1501x2860.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!whkO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38fd4c9-0bb9-45fd-848a-8f1f2a8ad0ba_1501x2860.jpeg 424w, https://substackcdn.com/image/fetch/$s_!whkO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38fd4c9-0bb9-45fd-848a-8f1f2a8ad0ba_1501x2860.jpeg 848w, https://substackcdn.com/image/fetch/$s_!whkO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38fd4c9-0bb9-45fd-848a-8f1f2a8ad0ba_1501x2860.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!whkO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38fd4c9-0bb9-45fd-848a-8f1f2a8ad0ba_1501x2860.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!whkO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38fd4c9-0bb9-45fd-848a-8f1f2a8ad0ba_1501x2860.jpeg" width="1456" height="2774" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b38fd4c9-0bb9-45fd-848a-8f1f2a8ad0ba_1501x2860.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2774,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2450445,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/163689018?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38fd4c9-0bb9-45fd-848a-8f1f2a8ad0ba_1501x2860.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!whkO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38fd4c9-0bb9-45fd-848a-8f1f2a8ad0ba_1501x2860.jpeg 424w, https://substackcdn.com/image/fetch/$s_!whkO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38fd4c9-0bb9-45fd-848a-8f1f2a8ad0ba_1501x2860.jpeg 848w, https://substackcdn.com/image/fetch/$s_!whkO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38fd4c9-0bb9-45fd-848a-8f1f2a8ad0ba_1501x2860.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!whkO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38fd4c9-0bb9-45fd-848a-8f1f2a8ad0ba_1501x2860.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>How I use ChatGPT &amp; Sora</h3><p>I use both ChatGPT and Sora to generate images. Both of which are included in the subscription. It isn&#8217;t clear how ChatGPT and Sora are different but it seems that:</p><ul><li><p>They are using the same underlying model to generate images.</p></li><li><p><a href="https://help.openai.com/en/articles/10877094-creating-images-on-sora">Sora is like a power tool</a>. It has various configurations and allows you to turn your images into videos.</p></li><li><p>ChatGPT might generate an image prompt based on your message to help you get a nice image while Sora would take your input as the image prompt.</p></li><li><p>Images generated in Sora will be published to the public feed automatically, unless you turn it off under the settings. ChatGPT images should be private.</p></li></ul><p>Here&#8217;s how I have been using them:</p><p><strong>ChatGPT: Images that I&#8217;m not sure how to describe, and icons</strong></p><p>I often ask ChatGPT to suggest what a good visual might be for my idea. For icons, once I get my desired style, I can simply add to the chat something like &#8220;Now generate (another object) in the same style&#8221;.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0-D0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f281310-6429-40b0-b0a3-90799a6af0ad_830x738.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0-D0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f281310-6429-40b0-b0a3-90799a6af0ad_830x738.png 424w, https://substackcdn.com/image/fetch/$s_!0-D0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f281310-6429-40b0-b0a3-90799a6af0ad_830x738.png 848w, https://substackcdn.com/image/fetch/$s_!0-D0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f281310-6429-40b0-b0a3-90799a6af0ad_830x738.png 1272w, https://substackcdn.com/image/fetch/$s_!0-D0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f281310-6429-40b0-b0a3-90799a6af0ad_830x738.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0-D0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f281310-6429-40b0-b0a3-90799a6af0ad_830x738.png" width="830" height="738" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9f281310-6429-40b0-b0a3-90799a6af0ad_830x738.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:738,&quot;width&quot;:830,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:103461,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/163689018?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f281310-6429-40b0-b0a3-90799a6af0ad_830x738.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0-D0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f281310-6429-40b0-b0a3-90799a6af0ad_830x738.png 424w, https://substackcdn.com/image/fetch/$s_!0-D0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f281310-6429-40b0-b0a3-90799a6af0ad_830x738.png 848w, https://substackcdn.com/image/fetch/$s_!0-D0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f281310-6429-40b0-b0a3-90799a6af0ad_830x738.png 1272w, https://substackcdn.com/image/fetch/$s_!0-D0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f281310-6429-40b0-b0a3-90799a6af0ad_830x738.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Sora: Images that I can already roughly visualize in my mind</strong></p><p>Honestly, I haven&#8217;t explored all of Sora&#8217;s features yet. But I have been able to get what I wanted in just a few tries. The Explore tab is a good place to get inspiration for what to generate.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D7_c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd39b5418-d282-46ec-a830-b05493e0a99b_1696x973.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D7_c!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd39b5418-d282-46ec-a830-b05493e0a99b_1696x973.png 424w, https://substackcdn.com/image/fetch/$s_!D7_c!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd39b5418-d282-46ec-a830-b05493e0a99b_1696x973.png 848w, https://substackcdn.com/image/fetch/$s_!D7_c!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd39b5418-d282-46ec-a830-b05493e0a99b_1696x973.png 1272w, https://substackcdn.com/image/fetch/$s_!D7_c!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd39b5418-d282-46ec-a830-b05493e0a99b_1696x973.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D7_c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd39b5418-d282-46ec-a830-b05493e0a99b_1696x973.png" width="1456" height="835" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d39b5418-d282-46ec-a830-b05493e0a99b_1696x973.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:835,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1481830,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/163689018?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd39b5418-d282-46ec-a830-b05493e0a99b_1696x973.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!D7_c!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd39b5418-d282-46ec-a830-b05493e0a99b_1696x973.png 424w, https://substackcdn.com/image/fetch/$s_!D7_c!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd39b5418-d282-46ec-a830-b05493e0a99b_1696x973.png 848w, https://substackcdn.com/image/fetch/$s_!D7_c!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd39b5418-d282-46ec-a830-b05493e0a99b_1696x973.png 1272w, https://substackcdn.com/image/fetch/$s_!D7_c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd39b5418-d282-46ec-a830-b05493e0a99b_1696x973.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Some of the generated images can still be creepy or odd, such as super short legs or laptop screens facing outwards. But as a whole, the images are so much better than just a year ago and seem as good as Midjourney&#8217;s.</p><p>Have you been using ChatGPT or other AI tools to generate creatives? I&#8217;d love to hear how you have been doing it or if you have any tips to share!</p><div><hr></div><h2>Jargon explained</h2><ul><li><p><strong>python-docx:</strong> This week I learned about and played with <a href="https://python-docx.readthedocs.io/en/latest/">a Python library for reading and editing Microsoft Word documents</a>. Specifically, I was trying to read tables. I hadn&#8217;t thought about how complicated it could be; for example, I couldn&#8217;t simply read and store the data cell by cell because some cells could be merged. The recommendation is to repeat the merged cell value for each layout-grid cell occupied by the merged cell.</p></li><li><p><strong>Encoder and decoder:</strong> An encoder turns text or images into tokens (or embeddings) to be fed into the main transformer of the model to generate more tokens. A decoder then turns the generated tokens into text or an image as the output. </p></li></ul><div><hr></div><h2>Interesting links</h2><ul><li><p><strong><a href="https://openai.com/index/introducing-codex/">Open AI launched Codex, a coding agent</a>:</strong> I have been using Windsurf but I&#8217;ll be keen to try this once it&#8217;s available to Plus users. I want to see how integrated it is with my local development environment because I probably won&#8217;t want to be approving PRs for changes. Latent Space shared <a href="https://www.latent.space/p/codex">some suggestions on making the most of Codex</a> by the Codex team.</p></li><li><p><strong><a href="https://lg.substack.com/p/conversational-interfaces-the-good">Conversational Interfaces: the Good, the Ugly &amp; the Billion-Dollar Opportunity</a></strong> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Julie Zhuo&quot;,&quot;id&quot;:4039637,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/0b568695-42f5-4f5b-a0dc-77870d89e6df_2629x2520.png&quot;,&quot;uuid&quot;:&quot;c2ae8131-0836-4290-a8b2-cc8463d7a6e3&quot;}" data-component-name="MentionToDOM"></span>: I hope years from now, when the hype dust settles, we will not be using AI via a chatbox only. SK and I <a href="https://letters.alfredlua.com/p/3-years-of-starting-up">made several UI explorations</a> ourselves; Pebblely is a good example of how people don&#8217;t only want a textbox. </p></li></ul><ul><li><p><strong><a href="https://newsletter.pragmaticengineer.com/p/chatgpt-images">Building, launching, and scaling ChatGPT Images</a></strong> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Gergely Orosz&quot;,&quot;id&quot;:30107029,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F802a32bb-2048-428b-bdb5-d6acd1e2b2d5_48x48.png&quot;,&quot;uuid&quot;:&quot;033953b4-4ee8-45ef-bc94-5afd4cf2dcb4&quot;}" data-component-name="MentionToDOM"></span>: I like <a href="https://newsletter.pragmaticengineer.com/i/163483933/how-chatgpt-images-works">the section on how ChatGPT Images work</a>.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!N_CU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff87b5823-2482-466c-be94-d519d1b8aca0_1398x1036.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N_CU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff87b5823-2482-466c-be94-d519d1b8aca0_1398x1036.png 424w, https://substackcdn.com/image/fetch/$s_!N_CU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff87b5823-2482-466c-be94-d519d1b8aca0_1398x1036.png 848w, https://substackcdn.com/image/fetch/$s_!N_CU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff87b5823-2482-466c-be94-d519d1b8aca0_1398x1036.png 1272w, https://substackcdn.com/image/fetch/$s_!N_CU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff87b5823-2482-466c-be94-d519d1b8aca0_1398x1036.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!N_CU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff87b5823-2482-466c-be94-d519d1b8aca0_1398x1036.png" width="1398" height="1036" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f87b5823-2482-466c-be94-d519d1b8aca0_1398x1036.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1036,&quot;width&quot;:1398,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!N_CU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff87b5823-2482-466c-be94-d519d1b8aca0_1398x1036.png 424w, https://substackcdn.com/image/fetch/$s_!N_CU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff87b5823-2482-466c-be94-d519d1b8aca0_1398x1036.png 848w, https://substackcdn.com/image/fetch/$s_!N_CU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff87b5823-2482-466c-be94-d519d1b8aca0_1398x1036.png 1272w, https://substackcdn.com/image/fetch/$s_!N_CU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff87b5823-2482-466c-be94-d519d1b8aca0_1398x1036.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>Recent issues</h2><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;f4276b2c-6a78-43f5-b3aa-9f883a9956de&quot;,&quot;caption&quot;:&quot;For the past week, I have been designing a website for our upcoming product.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI18: BTS of designing websites for AI products&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-05-11T12:30:28.391Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc086e1d-1732-4e31-978f-ae21cc86070a_1536x1024.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai18-bts-of-designing-websites-for&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:163194126,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;3cf2972f-b0c5-40bd-936b-c74ffff2c503&quot;,&quot;caption&quot;:&quot;When I create an AI agent, I would usually print the LLM&#8217;s responses, tool calls, tool results, and other logs to the Terminal. This is so that I know what is happening while the agent is running.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI17: Designing for humans vs AI agents&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-05-04T12:30:59.977Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4934eca7-7d78-4904-b92c-4ffc92405df9_1024x608.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai17-designing-for-humans-vs-ai-agents&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:162680703,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;3a7aebed-e0be-44d5-9757-bed5f9326017&quot;,&quot;caption&quot;:&quot;While I have benefited from using AI in various aspects of my life, from general curiosity to writing to coding, most people around me haven&#8217;t been using the latest wave of AI technologies as much as I think would benefit them.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI16: Building an AI workspace app&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-04-27T12:30:34.855Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63de6f2d-f21e-440b-ba89-83f77a17d9b1_1024x608.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai16-building-an-ai-workspace-app&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:162104587,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div>]]></content:encoded></item><item><title><![CDATA[3 years of starting up]]></title><description><![CDATA[14 product ideas, 93% failure rate, and lots of personal growth]]></description><link>https://letters.alfredlua.com/p/3-years-of-starting-up</link><guid isPermaLink="false">https://letters.alfredlua.com/p/3-years-of-starting-up</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Thu, 15 May 2025 12:31:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!byOU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b2e259-7acf-4c5a-a999-e4b3da353926_2048x1536.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!byOU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b2e259-7acf-4c5a-a999-e4b3da353926_2048x1536.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!byOU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b2e259-7acf-4c5a-a999-e4b3da353926_2048x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!byOU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b2e259-7acf-4c5a-a999-e4b3da353926_2048x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!byOU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b2e259-7acf-4c5a-a999-e4b3da353926_2048x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!byOU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b2e259-7acf-4c5a-a999-e4b3da353926_2048x1536.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!byOU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b2e259-7acf-4c5a-a999-e4b3da353926_2048x1536.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/74b2e259-7acf-4c5a-a999-e4b3da353926_2048x1536.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:845292,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/163514359?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b2e259-7acf-4c5a-a999-e4b3da353926_2048x1536.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!byOU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b2e259-7acf-4c5a-a999-e4b3da353926_2048x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!byOU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b2e259-7acf-4c5a-a999-e4b3da353926_2048x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!byOU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b2e259-7acf-4c5a-a999-e4b3da353926_2048x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!byOU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b2e259-7acf-4c5a-a999-e4b3da353926_2048x1536.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Brainstorming at a friend&#8217;s house three years ago</figcaption></figure></div><p>This week marks the third anniversary of leaving my full-time job to found a startup with my high school friend SK. </p><p>In the past three years, we built and launched 14 product ideas. Of which, only one (Pebblely) had significant traction. </p><ul><li><p><a href="https://catche.co/">Catche</a>, your personal search engine for your bookmarks</p></li><li><p><a href="https://dashibase.com/">Dashibase</a>, a Notion-like internal tool builder</p></li><li><p><a href="https://app.tryalfie.com/signin">Alfie</a>, an AI editor for content marketers</p></li><li><p><a href="https://pebblely.com/">Pebblely</a>, an AI product photo app</p></li><li><p>Pebblely Fashion, an AI model photo app</p></li><li><p><a href="https://www.youtube.com/watch?v=fg3Why0vyr8">Vispunk</a>, an AI-first Photoshop</p></li><li><p><a href="https://vispunk.com/image">Vispunk Visions</a>, an AI image generator that matched Midjourney&#8217;s quality (back then)</p></li><li><p><a href="https://vispunk.com/video">Vispunk Motion</a>, an AI video generator (there was also a video editor that we didn&#8217;t launch)</p></li><li><p><a href="https://alfredlua.com/magic-blocks">Magic Blocks</a>, an LLM app for creating mini-LLM apps</p></li><li><p><a href="https://health-screening-sg.vercel.app/">Health screening recommendation app</a> for Singaporeans</p></li><li><p><a href="https://health-insurance-sg.vercel.app/">Health insurance AI assistant</a> for Singapore&#8217;s MediShield and Integrated Shield Plans</p></li><li><p><a href="https://chromewebstore.google.com/detail/muse/ocfggipjheechaccbfddpdngogombpgb?authuser=0&amp;hl=en">Muse</a>, an AI writing companion Chrome extension</p></li><li><p><a href="https://silanthro.github.io/otaro/">Otaro</a>, an open-source library for prompt optimization</p></li><li><p><a href="https://stores-tools.vercel.app/">Stores</a>, an open-source library for agent tooling</p></li><li><p>Dewlap, an AI agent for office work (coming soon!)</p></li></ul><p>We built several more but killed them before launching for various reasons. </p><p>Over the years, the way we start up has gradually changed from wanting to build any business to make money to learning to stop doing things we felt we &#8220;had&#8221; to do as a startup, to now working on our interests and doing things for fun. Along the way, I grew from a marketer to a jack of all trades: I can code frontends and simple Python backends, design websites and interfaces, come up with product ideas, handle bookkeeping and payroll, and create occasionally viral short-form videos. I&#8217;m still terrible at sales and business development, though.</p><p>We have not raised any money. Initially, we were burning through our savings until Pebblely&#8217;s little success gave us an income that has sustained us for a while and will for a little while more. Being bootstrapped has given us the freedom that I&#8217;m thankful for and that many of our VC-backed founder friends crave. But I would admit I sometimes envy their 10x larger business bank accounts. (We applied to <a href="https://dashibase.com/blog/our-short-yc-experience/">YC thrice</a> and <a href="https://dashibase.com/blog/our-second-short-yc-experience/">interviewed twice</a> but never got in.)</p><p>On the personal side, over the three years, I moved into a new house, had a kid, and took some time off to be with <a href="https://letters.alfredlua.com/p/yima">my aunt</a> in her final days. Becoming a founder-dad wasn&#8217;t in my cards but perhaps I was subconsciously influenced by my own founder-dad. Having two babies&#8212;an actual human baby and a figurative startup baby&#8212;isn&#8217;t the easiest. But my wife has made it easier with her constant belief and support, delicious home-cooked dinners, and a stable job that eases any financial worries. I could be getting substantially larger paychecks if I had stayed in a job but she encourages me to pursue my dream of doing my own thing since I can.</p><p>Some friends said I&#8217;m their goal because my life looks great. Married, with a kid, an okay house, and a seemingly successful business. But that&#8217;s just from the outside. Without a doubt, I am grateful for all I have now and am enjoying most of my day-to-day. But if I could be greedy, I would love to get better at building products people love, develop my skills and craft further, and have more money in my bank account. Most of my agonies are self-inflicted, though: Why am I not better?</p><p>Would I do this again if I had the choice? Definitely. I might do some things differently (mostly around prioritization) but I would jump at the opportunity to try and build something impactful with SK any day. I have made many decisions in my life but only a few truly mattered; taking this leap was one of the few. </p>]]></content:encoded></item><item><title><![CDATA[AI18: BTS of designing websites for AI products]]></title><description><![CDATA[From meh designs to a few that I'm proud of.]]></description><link>https://letters.alfredlua.com/p/ai18-bts-of-designing-websites-for</link><guid isPermaLink="false">https://letters.alfredlua.com/p/ai18-bts-of-designing-websites-for</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Sun, 11 May 2025 12:30:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-TfX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc086e1d-1732-4e31-978f-ae21cc86070a_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-TfX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc086e1d-1732-4e31-978f-ae21cc86070a_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-TfX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc086e1d-1732-4e31-978f-ae21cc86070a_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!-TfX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc086e1d-1732-4e31-978f-ae21cc86070a_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!-TfX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc086e1d-1732-4e31-978f-ae21cc86070a_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!-TfX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc086e1d-1732-4e31-978f-ae21cc86070a_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-TfX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc086e1d-1732-4e31-978f-ae21cc86070a_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc086e1d-1732-4e31-978f-ae21cc86070a_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3749552,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/163194126?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc086e1d-1732-4e31-978f-ae21cc86070a_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-TfX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc086e1d-1732-4e31-978f-ae21cc86070a_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!-TfX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc086e1d-1732-4e31-978f-ae21cc86070a_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!-TfX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc086e1d-1732-4e31-978f-ae21cc86070a_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!-TfX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc086e1d-1732-4e31-978f-ae21cc86070a_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>For the past week, I have been designing a website for <a href="https://letters.alfredlua.com/p/ai16-building-an-ai-workspace-app">our upcoming product</a>. </p><p>I&#8217;m not a designer by trade, and frankly I&#8217;m still developing my <a href="https://letters.alfredlua.com/p/to-develop-taste-first-understand">taste</a>. But in the spirit of &#8220;you can just do things&#8221;, I dove in head first, like I always do. </p><p>Over the past few years, I have been able to improve my designs and create websites that don&#8217;t look too ugly, such <a href="https://dashibase.com/">dashibase.com</a> and <a href="https://pebblely.com/">pebblely.com</a>, thanks to SK&#8217;s feedback. </p><p>I love watching professional designers share their thought process as they are designing and improving designs, such as <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Brian Lovin&quot;,&quot;id&quot;:2602779,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/79449315-5099-44b6-8577-241e2d8090e5_460x460.jpeg&quot;,&quot;uuid&quot;:&quot;ee91c5e0-c761-4881-9188-560e7b2a4f31&quot;}" data-component-name="MentionToDOM"></span>&#8217;s <a href="https://www.youtube.com/playlist?list=PLJu44Klx1pB_8GSOUeDNDllPICvMJKSut">Crits</a>. So, I thought it might be valuable to document our process for my future self and others.</p><p>My initial designs were terrible but thankfully after several iterations, I created some that I&#8217;m proud to share. If you are impatient, you can scroll to the end for the latest iteration.</p><p>(Sadly, Substack compresses the images, so the images don&#8217;t look as sharp.)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xP19!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4506cb02-1253-411d-a4de-3b8bc9354caf_2048x1536.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xP19!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4506cb02-1253-411d-a4de-3b8bc9354caf_2048x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xP19!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4506cb02-1253-411d-a4de-3b8bc9354caf_2048x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xP19!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4506cb02-1253-411d-a4de-3b8bc9354caf_2048x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xP19!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4506cb02-1253-411d-a4de-3b8bc9354caf_2048x1536.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xP19!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4506cb02-1253-411d-a4de-3b8bc9354caf_2048x1536.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4506cb02-1253-411d-a4de-3b8bc9354caf_2048x1536.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!xP19!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4506cb02-1253-411d-a4de-3b8bc9354caf_2048x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xP19!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4506cb02-1253-411d-a4de-3b8bc9354caf_2048x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xP19!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4506cb02-1253-411d-a4de-3b8bc9354caf_2048x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xP19!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4506cb02-1253-411d-a4de-3b8bc9354caf_2048x1536.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A high-quality website should work well on all devices. </figcaption></figure></div><h2>Behind the scenes of my creative work</h2><p>Before jumping into Figma, SK and I had a quick chat about the styles and vibes we might want. As a starting point, we wanted the brand to feel more human than mechanical or digital, even though we are building an AI product. We believe in AI augmenting humans rather than replacing humans. Humans are the craftspeople; AI is the tool. Visually, we don&#8217;t want the overly-used minimalistic black-and-white design that most software companies use nowadays. </p><p>Based on that, I searched the internet for references. <a href="https://godly.website/">Godly</a> and <a href="https://httpster.net/">Httpster</a> have a good collection of websites. I also tried ChatGPT o3. While it went through many websites, it didn&#8217;t bring up websites with the styles I had in mind, even when I shared some examples. But it could articulate the styles in ways I couldn&#8217;t, and that helped me in the third iteration.</p><h3>First iteration: Explore 9 possible directions</h3><p>I have a bad habit of focusing on only one design and failing to explore alternatives. So, this time I forced myself to first come up with nine quick designs with fairly different directions.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7MQr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfc82b59-f597-4b10-81d9-1e8d35abb6f2_4616x5266.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7MQr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfc82b59-f597-4b10-81d9-1e8d35abb6f2_4616x5266.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7MQr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfc82b59-f597-4b10-81d9-1e8d35abb6f2_4616x5266.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7MQr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfc82b59-f597-4b10-81d9-1e8d35abb6f2_4616x5266.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7MQr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfc82b59-f597-4b10-81d9-1e8d35abb6f2_4616x5266.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7MQr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfc82b59-f597-4b10-81d9-1e8d35abb6f2_4616x5266.jpeg" width="1456" height="1661" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bfc82b59-f597-4b10-81d9-1e8d35abb6f2_4616x5266.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1661,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:8488450,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/163194126?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfc82b59-f597-4b10-81d9-1e8d35abb6f2_4616x5266.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7MQr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfc82b59-f597-4b10-81d9-1e8d35abb6f2_4616x5266.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7MQr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfc82b59-f597-4b10-81d9-1e8d35abb6f2_4616x5266.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7MQr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfc82b59-f597-4b10-81d9-1e8d35abb6f2_4616x5266.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7MQr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfc82b59-f597-4b10-81d9-1e8d35abb6f2_4616x5266.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>One and three look promising. Two a little; the metaphor in the design might be lost. Four, seven, and eight look like cheap Apple. Five is too bland. Six&#8217;s colors don&#8217;t work. Nine&#8217;s colors are okay but not great.</p><p>But these were just a small chunk of a website and the full website could look and feel very different.</p><p>So, from here, I created the full website designs for one, two, and three.</p><h3>Second iteration: Focus on 3 promising directions</h3><p>I was supposed to focus on three directions (simple, analog, neobrutalism). </p><p>But I mixed them. The designs, as you can see below, felt neither here nor there. One and two are supposed to be simple but I added illustrations (analog) and random shapes that aren&#8217;t analog. Three and four are a mix of analog and neobrutalism. Four and five look okay but don&#8217;t actually match any of the directions.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L_0H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9dcb0eb-605a-42e2-8af8-fc914a7587dc_9272x7986.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset image2-full-screen"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L_0H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9dcb0eb-605a-42e2-8af8-fc914a7587dc_9272x7986.jpeg 424w, https://substackcdn.com/image/fetch/$s_!L_0H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9dcb0eb-605a-42e2-8af8-fc914a7587dc_9272x7986.jpeg 848w, https://substackcdn.com/image/fetch/$s_!L_0H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9dcb0eb-605a-42e2-8af8-fc914a7587dc_9272x7986.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!L_0H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9dcb0eb-605a-42e2-8af8-fc914a7587dc_9272x7986.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L_0H!,w_5760,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9dcb0eb-605a-42e2-8af8-fc914a7587dc_9272x7986.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b9dcb0eb-605a-42e2-8af8-fc914a7587dc_9272x7986.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;full&quot;,&quot;height&quot;:1254,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:22823301,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/163194126?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9dcb0eb-605a-42e2-8af8-fc914a7587dc_9272x7986.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-fullscreen" alt="" srcset="https://substackcdn.com/image/fetch/$s_!L_0H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9dcb0eb-605a-42e2-8af8-fc914a7587dc_9272x7986.jpeg 424w, https://substackcdn.com/image/fetch/$s_!L_0H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9dcb0eb-605a-42e2-8af8-fc914a7587dc_9272x7986.jpeg 848w, https://substackcdn.com/image/fetch/$s_!L_0H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9dcb0eb-605a-42e2-8af8-fc914a7587dc_9272x7986.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!L_0H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9dcb0eb-605a-42e2-8af8-fc914a7587dc_9272x7986.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Disappointed by these designs, SK advised me to push the styles to the extreme. Upon reflection, I realized I was using conventional website designs and adding tiny elements of the desired style.</p><p>They look ugly.</p><h3>Third iteration: Go to the extreme</h3><p>After <a href="https://substack.com/@alfredlua/note/c-115208154">a walk and lunch with my wife</a>, I identified four styles and researched what they really mean:</p><ul><li><p>Minimalistic and human-centic</p></li><li><p>Analog and organic</p></li><li><p>Retro digital</p></li><li><p>Neobrutalism</p></li></ul><p>Like I mentioned above, ChatGPT was helpful in describing the styles and highlighting the key elements, which allowed me to emphasize them in my designs. For example, for retro digital, I used pixelated fonts, pixel art icons, and recreated the early Mac window frame.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qDIn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd83164c2-5ffb-458e-8f22-aa4876f67bb6_7720x7650.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset image2-full-screen"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qDIn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd83164c2-5ffb-458e-8f22-aa4876f67bb6_7720x7650.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qDIn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd83164c2-5ffb-458e-8f22-aa4876f67bb6_7720x7650.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qDIn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd83164c2-5ffb-458e-8f22-aa4876f67bb6_7720x7650.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qDIn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd83164c2-5ffb-458e-8f22-aa4876f67bb6_7720x7650.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qDIn!,w_5760,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd83164c2-5ffb-458e-8f22-aa4876f67bb6_7720x7650.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d83164c2-5ffb-458e-8f22-aa4876f67bb6_7720x7650.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;full&quot;,&quot;height&quot;:1443,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:19118370,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/163194126?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd83164c2-5ffb-458e-8f22-aa4876f67bb6_7720x7650.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-fullscreen" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qDIn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd83164c2-5ffb-458e-8f22-aa4876f67bb6_7720x7650.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qDIn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd83164c2-5ffb-458e-8f22-aa4876f67bb6_7720x7650.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qDIn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd83164c2-5ffb-458e-8f22-aa4876f67bb6_7720x7650.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qDIn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd83164c2-5ffb-458e-8f22-aa4876f67bb6_7720x7650.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Two is too analog and doesn&#8217;t feel right for a software product. Three is nice and likely attractive to a niche group of people but it might be hard to evolve the brand later. Five feels way too much. </p><p>One and four are the better ones from this iteration. But one feels too plain and four feels too playful.</p><h3>Fourth iteration: Create variants of the better options</h3><p>Throughout the process, we slowly defined the branding and visual identity we want with more specificity. </p><ul><li><p>Human-centric, friendly, and welcoming</p></li><li><p>Professional but not corporate</p></li><li><p>Playful but not too casual</p></li><li><p>Not just black and white</p></li></ul><p>In this iteration, I experimented with adding some colors to the minimalistic and human design and toning back on the extreme colors and shapes for the neobrutalism design.</p><p>In case it&#8217;s not obvious, all the photos, pixel art icons, and illustrations in the third and fourth iterations were generated using ChatGPT. For photos, I used Canva to add the same filter so that they give the same vibe. For pixel art icons and illustrations, I used PhotoPea to remove the background.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qN3t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf452858-33d4-46a4-8c30-e1a11df6ef50_6168x8177.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset image2-full-screen"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qN3t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf452858-33d4-46a4-8c30-e1a11df6ef50_6168x8177.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qN3t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf452858-33d4-46a4-8c30-e1a11df6ef50_6168x8177.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qN3t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf452858-33d4-46a4-8c30-e1a11df6ef50_6168x8177.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qN3t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf452858-33d4-46a4-8c30-e1a11df6ef50_6168x8177.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qN3t!,w_5760,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf452858-33d4-46a4-8c30-e1a11df6ef50_6168x8177.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cf452858-33d4-46a4-8c30-e1a11df6ef50_6168x8177.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;full&quot;,&quot;height&quot;:1930,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:14181417,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/163194126?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf452858-33d4-46a4-8c30-e1a11df6ef50_6168x8177.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-fullscreen" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qN3t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf452858-33d4-46a4-8c30-e1a11df6ef50_6168x8177.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qN3t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf452858-33d4-46a4-8c30-e1a11df6ef50_6168x8177.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qN3t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf452858-33d4-46a4-8c30-e1a11df6ef50_6168x8177.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qN3t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf452858-33d4-46a4-8c30-e1a11df6ef50_6168x8177.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>My favorite at this stage is four because it&#8217;s less conventional and has a distinct style. It feels playful but also serious enough. That said, one feels the safest, albeit plain.</p><p>Which is your favorite, and why?</p><p>(P.S. The copy still needs a lot of work. But I&#8217;m curious if any phrases stand out to you!)</p><div><hr></div><h2>Jargon explained</h2><p><strong>Missing logs</strong></p><p>This week, I ran into a bug but there were no logs for me to debug the issue. </p><p>The reason was that the function was run in a subprocess, not the main Python process. So any logs were printed in that child process and wouldn&#8217;t show in the main console, unless I pipe the logs out of the subprocess and then read and print them.</p><p>I still need to try this out. For future reference, <a href="https://chatgpt.com/share/681e08e2-d5a4-8001-8a8b-ffc288b79b14">here&#8217;s my conversation with ChatGPT on this</a>.</p><div><hr></div><h2>Interesting links</h2><p>I was mostly reading about design and branding this week.</p><ul><li><p><a href="https://www.notion.com/blog/the-thinking-behind-our-latest-brand-campaign">The thinking behind our latest brand campaign</a> (Notion)</p></li><li><p><a href="https://www.figma.com/blog/bringing-new-life-to-figmas-brand/">Bringing new life to Figma&#8217;s brand</a></p></li><li><p><a href="https://www.design.studio/work/air-bnb">Creating the world&#8217;s first community-driven superbrand</a> (Airbnb)</p></li><li><p><a href="https://www.basicagency.com/case-studies/wilson">Wilson &#8212; Helping a century-old sports brand find its place in culture and step into an all-new category</a></p></li><li><p><a href="https://abduzeedo.com/seamlessly-crafting-ai-branding-and-visual-identity-anthropic">Seamlessly crafting AI branding and visual identity for Anthropic</a></p></li><li><p><a href="https://daylightcomputer.com/">Daylight Computer</a></p></li><li><p><a href="https://www.goodside.studio/work/superorganism">Superorganism</a></p></li><li><p><a href="https://basement.studio/showcase/calcom-time-well-spent">Cal.com</a></p></li><li><p><a href="https://www.nngroup.com/articles/neobrutalism/">Neobrutalism</a></p></li></ul><div><hr></div><h2>Recent issues</h2><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;1a06cb06-1fef-4a8e-91d9-d9a5fa5794c2&quot;,&quot;caption&quot;:&quot;When I create an AI agent, I would usually print the LLM&#8217;s responses, tool calls, tool results, and other logs to the Terminal. This is so that I know what is happening while the agent is running.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI17: Designing for humans vs AI agents&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-05-04T12:30:59.977Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4934eca7-7d78-4904-b92c-4ffc92405df9_1024x608.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai17-designing-for-humans-vs-ai-agents&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:162680703,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;5ef86a46-3824-44c6-b03c-b30530a571ec&quot;,&quot;caption&quot;:&quot;While I have benefited from using AI in various aspects of my life, from general curiosity to writing to coding, most people around me haven&#8217;t been using the latest wave of AI technologies as much as I think would benefit them.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI16: Building an AI workspace app&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-04-27T12:30:34.855Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63de6f2d-f21e-440b-ba89-83f77a17d9b1_1024x608.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai16-building-an-ai-workspace-app&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:162104587,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;270f217d-9e50-4c11-8e7f-d25b019d4e93&quot;,&quot;caption&quot;:&quot;Most arguments against a chat interface for AI compare AI with the invention of the Graphical User Interface (GUI). We used to enter commands in the command line until the GUI was invented. Instead of having to remember and type specific commands, we can select text, move files, and open documents visually. Consequently, we shouldn&#8217;t be typing specific &#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI15: Using LLMs with actions, not only text&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-04-20T12:30:41.441Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff437a0ee-25dd-4d16-b9fd-fa42b7e9faac_1024x608.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai15-using-llms-with-actions-not&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:161647357,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div>]]></content:encoded></item><item><title><![CDATA[Rigor & AI]]></title><description><![CDATA[Have a question? Ask ChatGPT first. Even if you might not get the answer, you will be more informed and look smarter.]]></description><link>https://letters.alfredlua.com/p/rigor-and-ai</link><guid isPermaLink="false">https://letters.alfredlua.com/p/rigor-and-ai</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Thu, 08 May 2025 12:30:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!GfY8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25b5d105-01d7-45a8-9058-60d27ed51e86_1208x805.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GfY8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25b5d105-01d7-45a8-9058-60d27ed51e86_1208x805.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GfY8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25b5d105-01d7-45a8-9058-60d27ed51e86_1208x805.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GfY8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25b5d105-01d7-45a8-9058-60d27ed51e86_1208x805.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GfY8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25b5d105-01d7-45a8-9058-60d27ed51e86_1208x805.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GfY8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25b5d105-01d7-45a8-9058-60d27ed51e86_1208x805.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GfY8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25b5d105-01d7-45a8-9058-60d27ed51e86_1208x805.jpeg" width="1208" height="805" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/25b5d105-01d7-45a8-9058-60d27ed51e86_1208x805.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:805,&quot;width&quot;:1208,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:231594,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/162755536?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25b5d105-01d7-45a8-9058-60d27ed51e86_1208x805.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GfY8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25b5d105-01d7-45a8-9058-60d27ed51e86_1208x805.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GfY8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25b5d105-01d7-45a8-9058-60d27ed51e86_1208x805.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GfY8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25b5d105-01d7-45a8-9058-60d27ed51e86_1208x805.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GfY8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25b5d105-01d7-45a8-9058-60d27ed51e86_1208x805.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>When SK and I left our jobs to found a startup in 2022, I could barely code. I knew HTML, CSS, and a little React (but we were and have been using Vue). But it didn&#8217;t stop me from wanting to learn and help out on the engineering side. SK was (and still is) supportive and patient with me. He answered all my questions, however dumb they were, and explained concepts thoroughly. </p><p>But we both knew the difference in our technical knowledge. Asking him for help when I&#8217;m stuck is often a better use of our time than spending hours or days scouring the internet for solutions and figuring it out myself. Ultimately, we need to ship and launch. We are a startup, not a school.</p><p>Things have changed since then, though. AI tools like ChatGPT and Windsurf have enabled semi-technical people like me to <a href="https://letters.alfredlua.com/p/ai12-how-i-ai-code">code more complex projects, fix tricky bugs, and learn along the way</a>. </p><p>While I used to drop him a message when I was stuck, it&#8217;s now more appropriate to ask ChatGPT or Windsurf first. Sometimes, I could fix the issue &#8220;myself&#8221;. Even if I couldn&#8217;t, I would usually have more information to share with him than &#8220;X isn&#8217;t working&#8221; so that he can debug more quickly. Either way, I learned more than I could have previously and we move faster overall.</p><p>Because of this, the expectations are higher now. With such powerful tools to assist me, there is little excuse to drop a vague &#8220;X isn&#8217;t working&#8221; message without trying to fix it myself first. And if I wonder why something is done this way or I think I might have a better idea, I try to stop asking &#8220;why not do this?&#8221; without using ChatGPT or Windsurf to help me think through it rigorously first.</p><p>I push myself to find out as much as possible before reaching out. Not just my original question but as many followup questions as possible. </p><p>Admittedly, I&#8217;m still finding the balance because I sometimes get stuck with ChatGPT and Windsurf. I would spend hours trying to debug an issue and have no additional useful information to share with SK, all while having other important tasks to work on. </p><div><hr></div><p>Using AI tools to think also applies to almost everything outside of coding. </p><p>For example, I was preparing our financial statements recently. I used to ask my accountant friend when I had questions about bookkeeping and accounting. Now I first ask ChatGPT, which can refer to the FRS used in Singapore.</p><p>Most questions we used to ask others should probably be asked to ChatGPT (and friends) first. Only if they, for whatever reason, cannot provide the answer or helpful information, should we ask our friends, colleagues, managers, or mentors. </p><ul><li><p>Can you help me read my draft?</p></li><li><p>Why is this thing done this way?</p></li><li><p>How should I tackle this problem?</p></li><li><p>Where did you find that thing?</p></li><li><p>How does this sound?</p></li></ul><p>I have changed my mind about &#8220;no silly questions&#8221;. Many of my silly questions should go to ChatGPT first. Even if ChatGPT can&#8217;t help, I'll be more informed. And sometimes, just typing the question helps me think through and understand it better.</p><p>The danger, though, is outsourcing the entire thinking process to ChatGPT. Avoid that.</p><div class="pullquote"><p>&#8220;The man who needs a new machine tool, and hasn&#8217;t bought it, is already paying for it.&#8221;&#8212;Warner &amp; Swasey&#8217;s advertisement tagline</p></div><p>After reading about this tagline in Poor Charlie&#8217;s Almanack, I subscribed to ChatGPT Plus. I had already been <a href="https://letters.alfredlua.com/p/ai-is-not-about-solving-common-problems">using ChatGPT a lot</a> but on the free plan. The free plan is pretty sufficient but I wanted to use the best models (o3 is my favorite model nowadays for more complex questions) and use them more intentionally. I recently set up custom instructions and custom GPTs to customize ChatGPT more to my needs. </p><p>As clich&#233; as this might sound, this is one simple trick to look a lot smarter to others.</p><p>Whenever you have a question, pause. Open ChatGPT and ask the question. </p><p>It only takes a few seconds. Even a few minutes is a worthy investment.</p><p>We don&#8217;t only have the world&#8217;s information a search away. We have the world&#8217;s knowledge an ask away.</p><p>There are no excuses.</p>]]></content:encoded></item><item><title><![CDATA[AI17: Designing for humans vs AI agents]]></title><description><![CDATA[What we need is different from what LLMs need]]></description><link>https://letters.alfredlua.com/p/ai17-designing-for-humans-vs-ai-agents</link><guid isPermaLink="false">https://letters.alfredlua.com/p/ai17-designing-for-humans-vs-ai-agents</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Sun, 04 May 2025 12:30:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8MMH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4934eca7-7d78-4904-b92c-4ffc92405df9_1024x608.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8MMH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4934eca7-7d78-4904-b92c-4ffc92405df9_1024x608.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8MMH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4934eca7-7d78-4904-b92c-4ffc92405df9_1024x608.png 424w, https://substackcdn.com/image/fetch/$s_!8MMH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4934eca7-7d78-4904-b92c-4ffc92405df9_1024x608.png 848w, https://substackcdn.com/image/fetch/$s_!8MMH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4934eca7-7d78-4904-b92c-4ffc92405df9_1024x608.png 1272w, https://substackcdn.com/image/fetch/$s_!8MMH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4934eca7-7d78-4904-b92c-4ffc92405df9_1024x608.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8MMH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4934eca7-7d78-4904-b92c-4ffc92405df9_1024x608.png" width="1024" height="608" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4934eca7-7d78-4904-b92c-4ffc92405df9_1024x608.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:608,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8MMH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4934eca7-7d78-4904-b92c-4ffc92405df9_1024x608.png 424w, https://substackcdn.com/image/fetch/$s_!8MMH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4934eca7-7d78-4904-b92c-4ffc92405df9_1024x608.png 848w, https://substackcdn.com/image/fetch/$s_!8MMH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4934eca7-7d78-4904-b92c-4ffc92405df9_1024x608.png 1272w, https://substackcdn.com/image/fetch/$s_!8MMH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4934eca7-7d78-4904-b92c-4ffc92405df9_1024x608.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>When I create an AI agent, I would usually print the LLM&#8217;s responses, tool calls, tool results, and other logs to the Terminal. This is so that I know what is happening while the agent is running.</p><p>For example, I recently wrote <a href="https://stores-tools.vercel.app/docs/cookbook/browse-to-slack">a script to browse Product Hunt for the recent top launches and message me the summary in Slack</a>. When the LLM uses <a href="https://stores-tools.vercel.app/tools/silanthro/basic-browser-use">the Browser Use tool</a> to browse the web, I would print each completed step and the final result:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!r5aD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feadde96e-2085-495f-adf1-084a705fe08e_1031x788.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!r5aD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feadde96e-2085-495f-adf1-084a705fe08e_1031x788.jpeg 424w, https://substackcdn.com/image/fetch/$s_!r5aD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feadde96e-2085-495f-adf1-084a705fe08e_1031x788.jpeg 848w, https://substackcdn.com/image/fetch/$s_!r5aD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feadde96e-2085-495f-adf1-084a705fe08e_1031x788.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!r5aD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feadde96e-2085-495f-adf1-084a705fe08e_1031x788.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!r5aD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feadde96e-2085-495f-adf1-084a705fe08e_1031x788.jpeg" width="1031" height="788" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eadde96e-2085-495f-adf1-084a705fe08e_1031x788.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:788,&quot;width&quot;:1031,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:151410,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/162680703?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feadde96e-2085-495f-adf1-084a705fe08e_1031x788.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!r5aD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feadde96e-2085-495f-adf1-084a705fe08e_1031x788.jpeg 424w, https://substackcdn.com/image/fetch/$s_!r5aD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feadde96e-2085-495f-adf1-084a705fe08e_1031x788.jpeg 848w, https://substackcdn.com/image/fetch/$s_!r5aD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feadde96e-2085-495f-adf1-084a705fe08e_1031x788.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!r5aD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feadde96e-2085-495f-adf1-084a705fe08e_1031x788.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If something goes wrong somehow, I can terminate the script immediately and fix the issue.</p><p>But the printed logs are for <em>human</em>s. </p><p>Are they necessary for <em>agents? </em>In other words, should they be included in the chat history to generate the next response from the LLM? </p><p>Initially, I had thought it is useful to add all these logs into the chat history so that the LLM has full context. The more information, the better, right? </p><p>No. That&#8217;s not always true.</p><p>Here are some considerations: </p><ul><li><p>Most importantly, will this information be useful to the agent? If the information doesn&#8217;t help with generating the next response, we should leave it out. </p></li><li><p>A long context can confuse the LLM. It might focus on the wrong part of the context and return an incorrect response.</p></li><li><p>The longer the context, the more tokens there are, and the higher the cost. If we want to save money, we should exclude unnecessary information from the context.</p></li></ul><p>In the example above, the final result (the list of top launches on Product Hunt) is the only information the LLM needs to generate the next response, which is to call <a href="https://stores-tools.vercel.app/tools/silanthro/slack">the Slack tool</a> with the information to send the Slack message. The steps taken to get the result are arguably unnecessary. So, I should append the final result but not the steps to the chat history for generating the next response.</p><p>But if there was an error and the Browser Use tool cannot get the requested information, I should append the error to the chat history. For example, the error might be that the website that it visited blocks bots and it cannot get the required information. The error message can then help the LLM generate a better response, such as using another tool that could visit the website.</p><p>Here&#8217;s another example:</p><p>We have <a href="https://stores-tools.vercel.app/tools/silanthro/python-sandbox">a Python sandbox tool</a>, which allows LLMs to write and execute Python code in a sandbox. I was playing with it recently to plot a graph: </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!64b2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe816f4d5-4d52-4b86-9023-e99cfb2424d0_1333x703.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!64b2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe816f4d5-4d52-4b86-9023-e99cfb2424d0_1333x703.png 424w, https://substackcdn.com/image/fetch/$s_!64b2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe816f4d5-4d52-4b86-9023-e99cfb2424d0_1333x703.png 848w, https://substackcdn.com/image/fetch/$s_!64b2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe816f4d5-4d52-4b86-9023-e99cfb2424d0_1333x703.png 1272w, https://substackcdn.com/image/fetch/$s_!64b2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe816f4d5-4d52-4b86-9023-e99cfb2424d0_1333x703.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!64b2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe816f4d5-4d52-4b86-9023-e99cfb2424d0_1333x703.png" width="1333" height="703" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e816f4d5-4d52-4b86-9023-e99cfb2424d0_1333x703.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:703,&quot;width&quot;:1333,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:262791,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/162680703?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe816f4d5-4d52-4b86-9023-e99cfb2424d0_1333x703.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!64b2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe816f4d5-4d52-4b86-9023-e99cfb2424d0_1333x703.png 424w, https://substackcdn.com/image/fetch/$s_!64b2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe816f4d5-4d52-4b86-9023-e99cfb2424d0_1333x703.png 848w, https://substackcdn.com/image/fetch/$s_!64b2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe816f4d5-4d52-4b86-9023-e99cfb2424d0_1333x703.png 1272w, https://substackcdn.com/image/fetch/$s_!64b2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe816f4d5-4d52-4b86-9023-e99cfb2424d0_1333x703.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The logs above are essentially:</p><ol><li><p>The LLM&#8217;s text response that it will create a chart with the code sandbox</p></li><li><p>The LLM&#8217;s tool call with the generated code to create the chart</p></li><li><p>The logs of the code sandbox when it parsed the input code, loaded packages, executed the code, which include printed messages and the final output</p></li></ol><p>This information is helpful for me to verify that the script is working and to monitor the progress. But again, this is for me, the <em>human</em>, not the <em>agent</em>.</p><ul><li><p>The huge chunk of [deno log] about parsing the input code is not necessary in the chat history because the chat history already has the input code when the LLM responded with the generated code.</p></li><li><p>The logs, &#8220;Loading X, Y, Z&#8221;, are also unnecessary in the chat history because those are what the Python sandbox tool is doing, which the LLM cannot influence. The LLM can only change the generated code that it passes to the Python sandbox.</p></li><li><p>Because of that, if the generated Python code returns an error, the error message should be appended to the chat history so that the LLM will &#8220;see&#8221; the error and try to generate a new piece of code that doesn&#8217;t have the issue. This essentially enables the agent to self-correct without needing us developers or our users to jump in. </p></li></ul><p>In summary, humans and agents require different information.</p><p>We humans might want as much information as possible to stay on top of things. Developers want the information to debug issues while users want it to gain trust in the system.</p><p>But we should only provide relevant information to the agent (ie, append it to the chat history). If the tool use is successful, provide the result. If the tool use failed, provide the error message and any useful context so that the LLM can generate a better tool call to complete the task.</p><div><hr></div><h2>Jargon explained</h2><ul><li><p><strong>Deno: </strong><a href="https://deno.com/">Deno</a> is a sandbox to run JavaScript and TypeScript code securely. The code cannot touch files, access the internet, or read environment variables unless explicitly granted those rights.</p></li><li><p><strong>Pyodide: </strong><a href="https://pyodide.org/en/stable/">Pyodide</a> is like a mini-Python that can be run in the browser, like how ChatGPT can run Python code in its web app. It can also be run in JavaScript environments, like Deno, which allows desktop apps to run Python code. But because it&#8217;s a lite version of Python, Pyodide doesn&#8217;t support all Python libraries. Many popular ones are, though.</p></li><li><p><strong>Enumerate cannot be used on an async generator: </strong><a href="https://docs.python.org/3/library/functions.html#enumerate">Enumerate</a> in Python allows us to get the items in an iterable, such as a list or tuple, and their respective position without manually counting the position. But it cannot be used on the result of an async generator because it only works for synchronous iterables.</p></li></ul><pre><code># sync generator
for i, output in enumerate(sync_generator(args)):
    print(f"Step {i}: {output}")

# async generator
i = 0
async for output in async_generator(args):
    print(f"Step {i}: {output}")
    i += 1</code></pre><div><hr></div><h2>Interesting links</h2><ul><li><p><strong><a href="https://til.simonwillison.net/deno/pyodide-sandbox">Running Python code in a Pyodide sandbox via Deno</a>: </strong>We created our Python sandbox tool with reference to this article.</p></li><li><p><strong>How Andrej Karpathy uses LLMs:</strong> He explains not just how he uses various LLMs and AI apps but also how the different modalities (text, audio, images) work. After watching this video, I updated my custom instructions and created an English-to-Chinese translation custom GPT.</p></li></ul><div id="youtube2-EWvNQjAaOHw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;EWvNQjAaOHw&quot;,&quot;startTime&quot;:&quot;4969s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/EWvNQjAaOHw?start=4969s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h2>Recent issues</h2><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;fc206423-2d3b-4e7c-b219-709add6017ab&quot;,&quot;caption&quot;:&quot;While I have benefited from using AI in various aspects of my life, from general curiosity to writing to coding, most people around me haven&#8217;t been using the latest wave of AI technologies as much as I think would benefit them.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI16: Building an AI workspace app&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-04-27T12:30:34.855Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63de6f2d-f21e-440b-ba89-83f77a17d9b1_1024x608.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai16-building-an-ai-workspace-app&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:162104587,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;94863ccf-6f8e-4bfe-841c-b011a586c7ca&quot;,&quot;caption&quot;:&quot;Most arguments against a chat interface for AI compare AI with the invention of the Graphical User Interface (GUI). We used to enter commands in the command line until the GUI was invented. Instead of having to remember and type specific commands, we can select text, move files, and open documents visually. Consequently, we shouldn&#8217;t be typing specific &#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI15: Using LLMs with actions, not only text&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-04-20T12:30:41.441Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff437a0ee-25dd-4d16-b9fd-fa42b7e9faac_1024x608.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai15-using-llms-with-actions-not&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:161647357,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;3a4b58eb-7555-4d49-a859-612831af6a6f&quot;,&quot;caption&quot;:&quot;Building an AI agent can seem pretty daunting.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI14: How to build a productivity AI agent in 24 lines of code&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-04-13T12:31:45.917Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4821ab7a-1d88-461b-b365-26a117fa0a5c_1200x526.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai14-how-to-build-a-productivity&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:161068999,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div>]]></content:encoded></item><item><title><![CDATA[April Recap: Meta-work]]></title><description><![CDATA[Thinking about the work to make work work, annual goal progress, and 12 interesting links]]></description><link>https://letters.alfredlua.com/p/april-recap-meta-work</link><guid isPermaLink="false">https://letters.alfredlua.com/p/april-recap-meta-work</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Thu, 01 May 2025 12:30:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!WSwF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e7fa1b-acb0-4b0c-bb27-aa0e10323f67_1280x720.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WSwF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e7fa1b-acb0-4b0c-bb27-aa0e10323f67_1280x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WSwF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e7fa1b-acb0-4b0c-bb27-aa0e10323f67_1280x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!WSwF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e7fa1b-acb0-4b0c-bb27-aa0e10323f67_1280x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!WSwF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e7fa1b-acb0-4b0c-bb27-aa0e10323f67_1280x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!WSwF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e7fa1b-acb0-4b0c-bb27-aa0e10323f67_1280x720.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WSwF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e7fa1b-acb0-4b0c-bb27-aa0e10323f67_1280x720.jpeg" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/00e7fa1b-acb0-4b0c-bb27-aa0e10323f67_1280x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:201695,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/162165017?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e7fa1b-acb0-4b0c-bb27-aa0e10323f67_1280x720.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WSwF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e7fa1b-acb0-4b0c-bb27-aa0e10323f67_1280x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!WSwF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e7fa1b-acb0-4b0c-bb27-aa0e10323f67_1280x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!WSwF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e7fa1b-acb0-4b0c-bb27-aa0e10323f67_1280x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!WSwF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e7fa1b-acb0-4b0c-bb27-aa0e10323f67_1280x720.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>My son, my wife, and I were sick for a week in April. A few days ago, when my son was finally feeling better and I was ready to get back to work fully, he had five episodes of diarrhea overnight.</p><p>As a father, I know I cannot grind like 20-year-old singles, working every waking hour possible. And I don&#8217;t want to. But I have to find other ways to create as much impact. I set aside time in the mornings, evenings, and weekends for my family, so I need to spend my remaining time wisely. </p><p><strong>Getting rid of distractions.</strong> At the most basic level, I have been trying to eradicate time wasters. I often go to Twitter and Reddit for &#8220;research&#8221; when I&#8217;m <a href="https://letters.alfredlua.com/p/february-recap-make-a-little-progress">stuck</a> but they are rarely helpful. I recently <a href="https://x.com/alfred_lua/status/1915595268646449231">vibe-coded a Chrome extension to automatically switch away from the distracting For You timeline whenever I visit x.com</a>. I have also <a href="https://letters.alfredlua.com/p/my-weird-little-habits-to-protect">deleted social media apps from my phone</a>.</p><p><strong>Working smart (and hard). </strong>Just because I&#8217;m sitting at my desk trying very hard to work doesn&#8217;t mean I&#8217;m actually doing meaningful things. There are many things that seem important, such as networking, attending events, and building a personal brand, but they don&#8217;t matter for a startup looking for product-market fit. One helpful tactic is to aim for one major task per day and take time to think what that task should be. (Also, sorry if I haven&#8217;t replied to your messages. I need to prioritize my family and my startup.)</p><p><strong>Staying healthy and mentally sharp. </strong>I often find there&#8217;s a diminishing marginal return whenever I work late into the night when I&#8217;m already tired. Only with a strong foundation of a healthy body and a recharged mind can I push myself hard. <a href="https://brandur.org/fragments/murakami-paris-review">Haruki Murakami runs and swims regularly so that he can sit down and write for five to six hours every day</a>. When I&#8217;m tired or sick, I usually make more mistakes, am less creative and open to new ideas, and am just a terrible person to work with.</p><p>This is, of course, still a work in progress. I still sometimes get distracted or work on less important stuff, and I&#8217;m still constantly lacking sleep. Also, whenever my son falls sick, I lose my rhythm and need a few days to get back into the swing of things.</p><p>Recently, I started experimenting with ChatGPT as a personal coach and an accountability buddy. </p><ul><li><p>I first got ChatGPT (o3) to research my profile online because I have published many essays over the years, and then I shared some context around what I&#8217;m working on.</p></li><li><p>At the start of each week, I&#8217;ll share my weekly goals and create a plan with ChatGPT.</p></li><li><p>Every day at 9 am, ChatGPT will ask me for my focus of the day and any blockers and we will plan a rough schedule together.</p></li><li><p>At the end of every work day, I will share the tasks I completed.</p></li></ul><p>It has only been a few days but I have already found it helpful. Most of the benefit comes simply from thinking about how I want to spend my time and sharing it with ChatGPT. Having to write my thoughts and plans down forces me to really think through them. And sharing with ChatGPT makes me want to stick to my plan. I also appreciate getting little encouragement and tips from ChatGPT, as silly as it might seem.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YVwY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffffb9d19-83d4-45c5-8cc8-dbd6a077220e_1616x586.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YVwY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffffb9d19-83d4-45c5-8cc8-dbd6a077220e_1616x586.png 424w, https://substackcdn.com/image/fetch/$s_!YVwY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffffb9d19-83d4-45c5-8cc8-dbd6a077220e_1616x586.png 848w, https://substackcdn.com/image/fetch/$s_!YVwY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffffb9d19-83d4-45c5-8cc8-dbd6a077220e_1616x586.png 1272w, https://substackcdn.com/image/fetch/$s_!YVwY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffffb9d19-83d4-45c5-8cc8-dbd6a077220e_1616x586.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YVwY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffffb9d19-83d4-45c5-8cc8-dbd6a077220e_1616x586.png" width="1456" height="528" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fffb9d19-83d4-45c5-8cc8-dbd6a077220e_1616x586.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:528,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:142204,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/162165017?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffffb9d19-83d4-45c5-8cc8-dbd6a077220e_1616x586.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YVwY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffffb9d19-83d4-45c5-8cc8-dbd6a077220e_1616x586.png 424w, https://substackcdn.com/image/fetch/$s_!YVwY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffffb9d19-83d4-45c5-8cc8-dbd6a077220e_1616x586.png 848w, https://substackcdn.com/image/fetch/$s_!YVwY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffffb9d19-83d4-45c5-8cc8-dbd6a077220e_1616x586.png 1272w, https://substackcdn.com/image/fetch/$s_!YVwY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffffb9d19-83d4-45c5-8cc8-dbd6a077220e_1616x586.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If you have been struggling to maintain your focus and use your time wisely, give this a try!</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://letters.alfredlua.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://letters.alfredlua.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>How am I doing for my 2025 goals</strong></h2><p>I wanted to say April went smoothly and I&#8217;m still on track but&#8212;honestly&#8212;I&#8217;m not sure. Physically and mentally, I felt the worst because my family and I were sick for a third of the month. </p><p>Business-wise, we still haven&#8217;t made any revenue from our new projects. But for now, it&#8217;s good that we have been leaning into our interests and shipping. I do need to talk to potential customers more, though. Help me out here. More details below!</p><p><strong>Build a meaningful profitable business</strong></p><p>In April, we launched <a href="https://stores-tools.vercel.app/blog/introducing-stores">Stores</a>, an open-source Python library for giving your AI agent tools in as few as three lines of code. </p><p>From our experiments with LLMs, we noticed that most LLMs are smart enough to create and modify plans on the fly. This meant that we can &#8220;simply&#8221; create AI agents by giving a powerful LLM tools and letting it figure things out. But equipping LLMs with tools isn&#8217;t easy at all. Different LLM providers have different requirements, and MCP servers are a whole other beast on their own. We just wanted a super simple way to give LLMs tools and let them do things. </p><p>Besides the open-source library, we have also been building <a href="https://stores-tools.vercel.app/">several tools that you can plug and play, from sending emails to updating Notion, to browsing the web, to running Python code</a>. If you have been coding your agents, try <a href="https://stores-tools.vercel.app/">Stores</a> and let me know what you think of this approach. Feedback is always welcome.</p><p><a href="https://letters.alfredlua.com/p/ai16-building-an-ai-workspace-app">We have also been re-imagining what AI apps for the everyday user (not technical people) could be.</a> While ChatGPT and the likes are great at answering questions and finding information, using them to help <em>do</em> things hasn&#8217;t been easy. There still isn&#8217;t a simple way to create documents, organize files, and edit images within our existing workflows. We are in the early stages of this exploration but already have a simple prototype. If you need a better way to work with your files with the help of AI, let&#8217;s chat!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sdmS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8819ad93-7c77-4339-8348-d7db514f6059_900x579.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sdmS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8819ad93-7c77-4339-8348-d7db514f6059_900x579.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sdmS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8819ad93-7c77-4339-8348-d7db514f6059_900x579.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sdmS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8819ad93-7c77-4339-8348-d7db514f6059_900x579.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sdmS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8819ad93-7c77-4339-8348-d7db514f6059_900x579.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sdmS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8819ad93-7c77-4339-8348-d7db514f6059_900x579.jpeg" width="900" height="579" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8819ad93-7c77-4339-8348-d7db514f6059_900x579.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:579,&quot;width&quot;:900,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:276281,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/162165017?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8819ad93-7c77-4339-8348-d7db514f6059_900x579.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sdmS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8819ad93-7c77-4339-8348-d7db514f6059_900x579.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sdmS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8819ad93-7c77-4339-8348-d7db514f6059_900x579.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sdmS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8819ad93-7c77-4339-8348-d7db514f6059_900x579.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sdmS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8819ad93-7c77-4339-8348-d7db514f6059_900x579.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Bring my family on a vacation &#9989;</strong></p><p><a href="https://letters.alfredlua.com/p/6-day-trip-in-perth-with-an-18-mo">We went to Perth</a> in March.</p><p><strong>Read at least 3 books on parenting</strong></p><p>My favorite entry from The Daily Dad: </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nEaQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67b1267d-c7bd-49cb-af63-d98ff8999832.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nEaQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67b1267d-c7bd-49cb-af63-d98ff8999832.heic 424w, https://substackcdn.com/image/fetch/$s_!nEaQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67b1267d-c7bd-49cb-af63-d98ff8999832.heic 848w, https://substackcdn.com/image/fetch/$s_!nEaQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67b1267d-c7bd-49cb-af63-d98ff8999832.heic 1272w, https://substackcdn.com/image/fetch/$s_!nEaQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67b1267d-c7bd-49cb-af63-d98ff8999832.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nEaQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67b1267d-c7bd-49cb-af63-d98ff8999832.heic" width="1456" height="1241" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/67b1267d-c7bd-49cb-af63-d98ff8999832.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1241,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1909561,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/162165017?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67b1267d-c7bd-49cb-af63-d98ff8999832.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nEaQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67b1267d-c7bd-49cb-af63-d98ff8999832.heic 424w, https://substackcdn.com/image/fetch/$s_!nEaQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67b1267d-c7bd-49cb-af63-d98ff8999832.heic 848w, https://substackcdn.com/image/fetch/$s_!nEaQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67b1267d-c7bd-49cb-af63-d98ff8999832.heic 1272w, https://substackcdn.com/image/fetch/$s_!nEaQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67b1267d-c7bd-49cb-af63-d98ff8999832.heic 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>And <a href="https://letters.alfredlua.com/p/keep-showing-up">to show up every day</a>.</p><p>I have stopped reading Good Insider after skimming through the remaining chapters that are relevant to me. My wife and I have been struggling with getting our son to eat, and Satter&#8217;s framework is what we have been trying lately. To be frank, it hasn&#8217;t eased our stress entirely because our son seems to be getting skinnier and I&#8217;m not sure we can keep letting him decide <em>not</em> to eat.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KuUY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73986d5e-5d6d-4678-8da8-f39b7e7ec89a.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KuUY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73986d5e-5d6d-4678-8da8-f39b7e7ec89a.heic 424w, https://substackcdn.com/image/fetch/$s_!KuUY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73986d5e-5d6d-4678-8da8-f39b7e7ec89a.heic 848w, https://substackcdn.com/image/fetch/$s_!KuUY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73986d5e-5d6d-4678-8da8-f39b7e7ec89a.heic 1272w, https://substackcdn.com/image/fetch/$s_!KuUY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73986d5e-5d6d-4678-8da8-f39b7e7ec89a.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KuUY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73986d5e-5d6d-4678-8da8-f39b7e7ec89a.heic" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/73986d5e-5d6d-4678-8da8-f39b7e7ec89a.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2087128,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/162165017?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73986d5e-5d6d-4678-8da8-f39b7e7ec89a.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KuUY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73986d5e-5d6d-4678-8da8-f39b7e7ec89a.heic 424w, https://substackcdn.com/image/fetch/$s_!KuUY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73986d5e-5d6d-4678-8da8-f39b7e7ec89a.heic 848w, https://substackcdn.com/image/fetch/$s_!KuUY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73986d5e-5d6d-4678-8da8-f39b7e7ec89a.heic 1272w, https://substackcdn.com/image/fetch/$s_!KuUY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73986d5e-5d6d-4678-8da8-f39b7e7ec89a.heic 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I started reading The Book You Wish Your Parents Had Read and like its recommendation to praise effort, not talent. I personally think it is important for children (and adults) to learn that they can work hard and just do things rather than give up when they are stuck because they think they don&#8217;t have the talent. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MZj4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec396570-1b95-4fe9-ac21-79aae85c1740_2155x1535.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MZj4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec396570-1b95-4fe9-ac21-79aae85c1740_2155x1535.jpeg 424w, https://substackcdn.com/image/fetch/$s_!MZj4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec396570-1b95-4fe9-ac21-79aae85c1740_2155x1535.jpeg 848w, https://substackcdn.com/image/fetch/$s_!MZj4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec396570-1b95-4fe9-ac21-79aae85c1740_2155x1535.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!MZj4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec396570-1b95-4fe9-ac21-79aae85c1740_2155x1535.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MZj4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec396570-1b95-4fe9-ac21-79aae85c1740_2155x1535.jpeg" width="1456" height="1037" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ec396570-1b95-4fe9-ac21-79aae85c1740_2155x1535.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1037,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1303285,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/162165017?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec396570-1b95-4fe9-ac21-79aae85c1740_2155x1535.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MZj4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec396570-1b95-4fe9-ac21-79aae85c1740_2155x1535.jpeg 424w, https://substackcdn.com/image/fetch/$s_!MZj4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec396570-1b95-4fe9-ac21-79aae85c1740_2155x1535.jpeg 848w, https://substackcdn.com/image/fetch/$s_!MZj4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec396570-1b95-4fe9-ac21-79aae85c1740_2155x1535.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!MZj4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec396570-1b95-4fe9-ac21-79aae85c1740_2155x1535.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Write daily, publish monthly</strong></p><p>My journal streak is now at 512, the longest it has ever been. I have also published 34 essays so far this year.</p><p>In April, I published eight essays, with <a href="https://letters.alfredlua.com/p/keep-showing-up">Keep showing up</a> being the most popular piece and my favorite of the month. I was hesitant to publish that but I&#8217;m glad I did. Interestingly, the essays that resonate with others are those that I was afraid of publishing because <a href="https://letters.alfredlua.com/p/my-weird-little-habits-to-protect">they felt too easy to write</a> or <a href="https://letters.alfredlua.com/p/yima">made me feel too vulnerable</a> because they were very personal. Ironically or not, I like reading personal essays. Perhaps this is a sign for me to <a href="https://letters.alfredlua.com/about">keep writing for myself</a>.</p><p><strong>Eat healthily, exercise 5x/week, sleep well</strong></p><p>I was sick again in April, the worst I have been this year. </p><p>I set this health goal because I believe these will help me stay healthy and avoid illnesses. From 2016 to 2021 (before getting Covid and having a kid), I barely fell sick. If I remember correctly, there were years when I didn&#8217;t even get a fever, flu, or cough. I want to get back to that level of health, which I think is a good proxy for my overall and long-term health.</p><p>I have been eating better than then. I have been exercising less than then but sufficiently. But I have <em>not</em> been sleeping well. My son has finally been sleeping through the night. Let&#8217;s see if my sleep, and in turn my health, improves. I might be getting some viruses from my son but I&#8217;m not sure how to deal with that yet.</p><h3><strong>My remaining goals</strong></h3><p><strong>One-year goals (i.e. other 2025 goals)</strong></p><ul><li><p>Help my son develop a night routine and be in bed by 8 p.m. <em>- He has been going to bed around 8-9 p.m.</em></p></li><li><p>Take three deep breaths whenever I&#8217;m angry or frustrated <em>- I used this a few times in April. There was an incident when I bumped into a slow swimmer in the pool. I would usually be enraged because the guideline is for slow swimmers to stay to the sides. But in that moment, when I raised my head out of the water and looked at the guy, I decided to say sorry and move on. He raised his hand at me, and I just assumed he was saying sorry too. Looking back now, I&#8217;m glad I did what I did because it&#8217;s not something worth being angry about.</em></p></li><li><p>Accompany my parents and uncle to their health appointments <em>- Two so far. I missed another one in April because my son was sick.</em></p></li><li><p>Cycle 10x a year - <em>I cycle once in April. 3/10 now.</em></p></li><li><p>Switch from kopi (coffee) to kopi siew dai (coffee less sweet) <em>- While I have been mostly drinking lattes, I had several kopi siew dai and teh siew dai.</em></p></li><li><p>Host five dinners at home - <em>Some close friends came over for an impromptu meal, and one even cooked for us. 1/5 now.</em></p></li><li><p>Get a part-time cleaner for our house <em>- The poop and vomit made cleaning more tiring in April but we are still coping.</em></p></li><li><p>No coffee after 3 p.m. <em>- Yep.</em></p></li></ul><p><strong>Five-year goals</strong></p><ul><li><p>Bring my family to Europe and New Zealand</p></li><li><p>Create a library at home for my son - <em>I turned our unused TV console into a mini-library for now.</em></p></li><li><p>Teach my son to cycle and swim <em>- He is gradually more comfortable with jumping into the pool and kicking his legs in the water. This is slower than one might be with proper classes but I don&#8217;t care. I don&#8217;t feel the need to rush him or force a program onto him, especially if it might dampen his enthusiasm. </em></p></li><li><p>Learn to play the piano - <em>There was a piano fair near my place, and I was so tempted to sign up for classes or get a cheap piano. But I know I don&#8217;t have time for this now.</em></p></li><li><p>Complete a triathlon (any distance)</p></li></ul><p><strong>Lifetime goals</strong></p><ul><li><p>Publish a book</p></li><li><p>Get back into drawing - <em>My son started to scribble, and I have been drawing animals and people for him. I&#8217;d count this as drawing!</em></p></li><li><p>Complete an Ironman triathlon</p></li><li><p>Bring my son somewhere to see snow (maybe Japan, Seoul, or Switzerland)</p></li><li><p>Raise kids with integrity, compassion, and agency</p></li><li><p>Build something with my dad</p></li><li><p>Have a workbench for playing with hardware</p></li><li><p>Visit Ghibli Park in Aichi, Japan, and Ghibli Museum in Tokyo, Japan</p></li><li><p>Mentor someone</p></li><li><p>Volunteer somewhere (maybe contribute to healthcare or education)</p></li><li><p>Contribute somehow to Singapore (maybe through my business)</p></li><li><p>Become rich enough to be independent, not to acquire material possessions</p></li><li><p>Live until 100 while being physically fit and mentally sharp</p></li><li><p>Use social media to help others, not just consume content</p></li><li><p>Learn to speak another language (maybe Japanese)</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gmPz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce71ed4-2de0-4c29-b6c2-c4d1edf185af.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gmPz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce71ed4-2de0-4c29-b6c2-c4d1edf185af.heic 424w, https://substackcdn.com/image/fetch/$s_!gmPz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce71ed4-2de0-4c29-b6c2-c4d1edf185af.heic 848w, https://substackcdn.com/image/fetch/$s_!gmPz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce71ed4-2de0-4c29-b6c2-c4d1edf185af.heic 1272w, https://substackcdn.com/image/fetch/$s_!gmPz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce71ed4-2de0-4c29-b6c2-c4d1edf185af.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gmPz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce71ed4-2de0-4c29-b6c2-c4d1edf185af.heic" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9ce71ed4-2de0-4c29-b6c2-c4d1edf185af.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2794379,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/162165017?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce71ed4-2de0-4c29-b6c2-c4d1edf185af.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gmPz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce71ed4-2de0-4c29-b6c2-c4d1edf185af.heic 424w, https://substackcdn.com/image/fetch/$s_!gmPz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce71ed4-2de0-4c29-b6c2-c4d1edf185af.heic 848w, https://substackcdn.com/image/fetch/$s_!gmPz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce71ed4-2de0-4c29-b6c2-c4d1edf185af.heic 1272w, https://substackcdn.com/image/fetch/$s_!gmPz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce71ed4-2de0-4c29-b6c2-c4d1edf185af.heic 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2><strong>Links</strong></h2><p>I was on a reading spree in April, so there are more links than usual. Enjoy!</p><ul><li><p>Growth</p><ul><li><p><a href="https://perell.com/essay/hugging-the-x-axis/">Hugging the X-Axis</a> by David Perell</p></li><li><p><a href="https://luisaallovertheplace.substack.com/p/i-want-to-do-everything-so-i-do-nothing">I want to do everything, so I do nothing</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Luisa&quot;,&quot;id&quot;:202827045,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c096ac5f-44ef-4a4d-9f9d-58386731536f_1971x1971.jpeg&quot;,&quot;uuid&quot;:&quot;e57e88b5-ca89-451a-958e-8b2809fa7575&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://nathan.substack.com/p/just-go">Just Go</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Nathan Baschez&quot;,&quot;id&quot;:301289,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/95b1b687-30d7-413c-820f-3e581ad9dc92_400x400.jpeg&quot;,&quot;uuid&quot;:&quot;e28ffeb0-9855-4089-bfdb-394ff83eccfa&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://wggtb.substack.com/p/happy-joyous-and-free">Happy, Joyous, and Free</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Jared Dillian&quot;,&quot;id&quot;:450570,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F05eb0d57-d53e-4019-8b07-57aeeef6fa06_400x400.jpeg&quot;,&quot;uuid&quot;:&quot;2c484818-bb05-4bda-ab4f-c8cb9592c5fa&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul></li><li><p>Parenting</p><ul><li><p><a href="https://x.com/KelseyTuoc/status/1911483692138250249">Big screens are fine</a>(?) - I&#8217;m gradually opening up to the idea of screentime as long as my son isn&#8217;t watching a video on a tiny screen. For example, he started to scribble recently and I let him draw with Procreate on my iPad.</p></li><li><p><a href="https://newsletter.pessimistsarchive.org/p/thomas-jefferson-hated-kids-reading">Thomas Jefferson Hated Kids Reading Novels</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Pessimists Archive&quot;,&quot;id&quot;:23336144,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2016cd01-61fc-4c8d-9340-eda9f97bdf8e_200x200.jpeg&quot;,&quot;uuid&quot;:&quot;d8e603c6-acfa-4942-9d74-fc394d8da4b3&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul></li><li><p>Taste</p><ul><li><p><a href="https://lg.substack.com/p/the-ai-quality-coup">The AI Quality Coup</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Julie Zhuo&quot;,&quot;id&quot;:4039637,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/0b568695-42f5-4f5b-a0dc-77870d89e6df_2629x2520.png&quot;,&quot;uuid&quot;:&quot;845f6a30-2e74-4f47-b593-8210e487a2e7&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://www.benkuhn.net/impact/">Impact, agency, and taste</a> by Ben Kuhn</p></li></ul></li><li><p>Marketing</p><ul><li><p><a href="https://ckarchive.com/b/n4uohvhxgmmmrb7q339qeh6dqq5ggsl">Do interesting things and talk about them</a> by Harry Dry</p></li><li><p><a href="https://andrewchen.substack.com/p/every-marketing-channel-sucks-right">Every marketing channel sucks right now</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Andrew Chen&quot;,&quot;id&quot;:108324,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/e1b8990d-fb04-4d9e-8c4b-c8ed9990cca9_1201x1201.jpeg&quot;,&quot;uuid&quot;:&quot;5ba11989-70f1-4322-bb34-6f5fdd436d5f&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul></li></ul><div class="comment" data-attrs="{&quot;url&quot;:&quot;https://open.substack.com/home&quot;,&quot;commentId&quot;:110834871,&quot;comment&quot;:{&quot;id&quot;:110834871,&quot;date&quot;:&quot;2025-04-21T14:14:36.645Z&quot;,&quot;edited_at&quot;:null,&quot;body&quot;:&quot;Can we make advertising fun again&quot;,&quot;body_json&quot;:{&quot;type&quot;:&quot;doc&quot;,&quot;attrs&quot;:{&quot;schemaVersion&quot;:&quot;v1&quot;},&quot;content&quot;:[{&quot;type&quot;:&quot;paragraph&quot;,&quot;content&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;text&quot;:&quot;Can we make advertising fun again&quot;}]}]},&quot;restacks&quot;:617,&quot;reaction_count&quot;:7596,&quot;attachments&quot;:[{&quot;id&quot;:&quot;26a4628e-e443-4545-a388-207ad71d0cc2&quot;,&quot;type&quot;:&quot;image&quot;,&quot;imageUrl&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/61d145af-0a78-4c0e-a2e4-664fd43f1f1b_700x948.jpeg&quot;,&quot;imageWidth&quot;:700,&quot;imageHeight&quot;:948,&quot;explicit&quot;:false},{&quot;id&quot;:&quot;ea9f2ab5-66ec-45de-a31d-6ea938619d7c&quot;,&quot;type&quot;:&quot;image&quot;,&quot;imageUrl&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8359f693-7bcc-415a-967a-9b20d50419d2_564x845.jpeg&quot;,&quot;imageWidth&quot;:564,&quot;imageHeight&quot;:845,&quot;explicit&quot;:false},{&quot;id&quot;:&quot;ce2ad135-5915-45c6-bbe6-a5242abb7cba&quot;,&quot;type&quot;:&quot;image&quot;,&quot;imageUrl&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7defcc51-707d-4aaa-b3e9-ef721eae879f_700x960.jpeg&quot;,&quot;imageWidth&quot;:700,&quot;imageHeight&quot;:960,&quot;explicit&quot;:false},{&quot;id&quot;:&quot;c68ff5f7-bf45-4a82-9067-7f41017338b7&quot;,&quot;type&quot;:&quot;image&quot;,&quot;imageUrl&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e12a0294-02b1-4505-a0a9-a1b24347cfd8_564x864.jpeg&quot;,&quot;imageWidth&quot;:564,&quot;imageHeight&quot;:864,&quot;explicit&quot;:false},{&quot;id&quot;:&quot;f6044bd2-a5b0-47ca-9b26-20aa2e32f019&quot;,&quot;type&quot;:&quot;image&quot;,&quot;imageUrl&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/36aece38-529c-489a-8f20-092a9bd612f7_1509x2000.jpeg&quot;,&quot;imageWidth&quot;:1509,&quot;imageHeight&quot;:2000,&quot;explicit&quot;:false},{&quot;id&quot;:&quot;a150013a-26b7-46c5-b2f9-47f24f113705&quot;,&quot;type&quot;:&quot;image&quot;,&quot;imageUrl&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/674e9fda-0543-4e32-ae95-755ea8133809_700x857.jpeg&quot;,&quot;imageWidth&quot;:700,&quot;imageHeight&quot;:857,&quot;explicit&quot;:false}],&quot;name&quot;:&quot;Everett Williams&quot;,&quot;user_id&quot;:3463995,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/80330292-540d-4f5c-9af5-841d30c683fd_958x958.jpeg&quot;,&quot;user_bestseller_tier&quot;:null}}" data-component-name="CommentPlaceholder"></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!odvn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38f86b59-bb9e-4a13-a495-f349cd9e8f6e_1404x1638.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!odvn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38f86b59-bb9e-4a13-a495-f349cd9e8f6e_1404x1638.jpeg 424w, https://substackcdn.com/image/fetch/$s_!odvn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38f86b59-bb9e-4a13-a495-f349cd9e8f6e_1404x1638.jpeg 848w, https://substackcdn.com/image/fetch/$s_!odvn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38f86b59-bb9e-4a13-a495-f349cd9e8f6e_1404x1638.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!odvn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38f86b59-bb9e-4a13-a495-f349cd9e8f6e_1404x1638.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!odvn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38f86b59-bb9e-4a13-a495-f349cd9e8f6e_1404x1638.jpeg" width="1404" height="1638" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/38f86b59-bb9e-4a13-a495-f349cd9e8f6e_1404x1638.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1638,&quot;width&quot;:1404,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!odvn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38f86b59-bb9e-4a13-a495-f349cd9e8f6e_1404x1638.jpeg 424w, https://substackcdn.com/image/fetch/$s_!odvn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38f86b59-bb9e-4a13-a495-f349cd9e8f6e_1404x1638.jpeg 848w, https://substackcdn.com/image/fetch/$s_!odvn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38f86b59-bb9e-4a13-a495-f349cd9e8f6e_1404x1638.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!odvn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38f86b59-bb9e-4a13-a495-f349cd9e8f6e_1404x1638.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Shared by <a href="https://x.com/ryolu_/status/1915586143766143048/photo/1">Ryo Lu</a></figcaption></figure></div>]]></content:encoded></item><item><title><![CDATA[AI16: Building an AI workspace app]]></title><description><![CDATA[I'm looking for people who work in their desktop files, such as documents, slides, and images, multiple times a day to try our latest prototype!]]></description><link>https://letters.alfredlua.com/p/ai16-building-an-ai-workspace-app</link><guid isPermaLink="false">https://letters.alfredlua.com/p/ai16-building-an-ai-workspace-app</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Sun, 27 Apr 2025 12:30:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!fPFQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63de6f2d-f21e-440b-ba89-83f77a17d9b1_1024x608.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fPFQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63de6f2d-f21e-440b-ba89-83f77a17d9b1_1024x608.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fPFQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63de6f2d-f21e-440b-ba89-83f77a17d9b1_1024x608.png 424w, https://substackcdn.com/image/fetch/$s_!fPFQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63de6f2d-f21e-440b-ba89-83f77a17d9b1_1024x608.png 848w, https://substackcdn.com/image/fetch/$s_!fPFQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63de6f2d-f21e-440b-ba89-83f77a17d9b1_1024x608.png 1272w, https://substackcdn.com/image/fetch/$s_!fPFQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63de6f2d-f21e-440b-ba89-83f77a17d9b1_1024x608.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fPFQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63de6f2d-f21e-440b-ba89-83f77a17d9b1_1024x608.png" width="1024" height="608" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/63de6f2d-f21e-440b-ba89-83f77a17d9b1_1024x608.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:608,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fPFQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63de6f2d-f21e-440b-ba89-83f77a17d9b1_1024x608.png 424w, https://substackcdn.com/image/fetch/$s_!fPFQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63de6f2d-f21e-440b-ba89-83f77a17d9b1_1024x608.png 848w, https://substackcdn.com/image/fetch/$s_!fPFQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63de6f2d-f21e-440b-ba89-83f77a17d9b1_1024x608.png 1272w, https://substackcdn.com/image/fetch/$s_!fPFQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63de6f2d-f21e-440b-ba89-83f77a17d9b1_1024x608.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>While I have benefited from using AI in various aspects of my life, from <a href="https://letters.alfredlua.com/p/ai-is-not-about-solving-common-problems">general curiosity</a> to <a href="https://letters.alfredlua.com/p/ai10-introducing-muse-your-ai-writing">writing</a> to <a href="https://letters.alfredlua.com/p/ai12-how-i-ai-code">coding</a>, most people around me haven&#8217;t been using the latest wave of AI technologies as much as I think would benefit them.</p><p>Even when we have ChatGPT for free, most people are not using it. </p><p>The issue lies more in the product design than in the users. </p><p>I was reminded of the early days of the internet and how things have changed. I was lucky to be a part of the dial-up era and grew up with the internet. But in the beginning, most of us didn&#8217;t know what to do with it. It was and is still a cool thing. <em>But what should I do on the internet? </em>Similarly, ChatGPT and other AI chat apps are amazing and can do so many things. But most of us still don&#8217;t know what to do with it. </p><p>Over time, developers built web apps and mobile apps that leverage the internet. Facebook, Slack, Zoom. Most of us use these apps without even thinking about how the internet made them possible. By this analogy, to enable more people to use and benefit from generative AI, we need to build apps that leverage generative AI without needing people to know how to use AI.</p><h3>Using AI without knowing how to use AI</h3><p>One of my favorite examples is <a href="https://www.granola.ai/">Granola</a>. It uses AI to enhance your meeting notes by adding details to your rushed notes according to the transcript and organizing them into sections.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!J792!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55e7d655-70f2-4b12-a48f-f8d0708084f3_1295x674.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J792!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55e7d655-70f2-4b12-a48f-f8d0708084f3_1295x674.png 424w, https://substackcdn.com/image/fetch/$s_!J792!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55e7d655-70f2-4b12-a48f-f8d0708084f3_1295x674.png 848w, https://substackcdn.com/image/fetch/$s_!J792!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55e7d655-70f2-4b12-a48f-f8d0708084f3_1295x674.png 1272w, https://substackcdn.com/image/fetch/$s_!J792!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55e7d655-70f2-4b12-a48f-f8d0708084f3_1295x674.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J792!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55e7d655-70f2-4b12-a48f-f8d0708084f3_1295x674.png" width="1295" height="674" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/55e7d655-70f2-4b12-a48f-f8d0708084f3_1295x674.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:674,&quot;width&quot;:1295,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:400746,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/162104587?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55e7d655-70f2-4b12-a48f-f8d0708084f3_1295x674.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!J792!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55e7d655-70f2-4b12-a48f-f8d0708084f3_1295x674.png 424w, https://substackcdn.com/image/fetch/$s_!J792!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55e7d655-70f2-4b12-a48f-f8d0708084f3_1295x674.png 848w, https://substackcdn.com/image/fetch/$s_!J792!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55e7d655-70f2-4b12-a48f-f8d0708084f3_1295x674.png 1272w, https://substackcdn.com/image/fetch/$s_!J792!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55e7d655-70f2-4b12-a48f-f8d0708084f3_1295x674.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Without Granola, we would:</p><ul><li><p>Open up a notepad to prepare for the meeting</p></li><li><p>Try to jot notes while others in the meeting are speaking (usually in bullet points and short-forms with many typos)</p></li><li><p>Clean up the notes after the meeting</p></li></ul><p>With Granola, we would still:</p><ul><li><p>Open up a notepad to prepare for the meeting</p></li><li><p>Try to jot notes while others in the meeting are speaking (usually in bullet points and short-forms with many typos)</p></li><li><p>Clean up the notes after the meeting</p></li></ul><p>But Granola&#8217;s AI would do the last step automatically for us. Based on the notes we have taken, it can understand what might be important to us about the meeting and update the meeting notes with information from the transcript.</p><p>What&#8217;s really impressive is that using Granola doesn&#8217;t require us to change our behavior at all yet we get better meeting notes. It uses AI but users don&#8217;t have to know how to use the AI, just like how Instagram, Google Docs, and WhatsApp use the internet but we don&#8217;t have to know how to use the internet.</p><h3>Using AI while needing to know how to use AI</h3><p>Contrast that with Windsurf or Cursor, two popular AI code editors.</p><p>They are incredibly powerful AI tools for developers to code faster and for <a href="https://letters.alfredlua.com/p/ai12-how-i-ai-code">non-developers like me to even code</a>. I rarely pay for software subscriptions but I subscribe to Windsurf.</p><p>But it is like ChatGPT. To use it well, you need to know how to use AI. Even though you chat with the AI in English, there are still quirks around how to phrase your requests so that the AI understands and executes the task well. The chat interface doesn&#8217;t tell us what can be done while the marketing often tells us it can do everything. We wouldn&#8217;t know what cannot be done until we try them. Or it might be because we &#8220;prompted&#8221; it wrongly.</p><p>While I love these AI tools, we need to integrate AI into tools and workflows more seamlessly if we want more people to use AI. That said, I don&#8217;t necessarily think a chat interface is bad. We have already been chatting with terrible customer service chatbots for many years. Just like the Granola analogy, we didn&#8217;t have to change our behavior yet we now have better results.</p><h3>AI in our workflows</h3><p>For the past few weeks, we have been building and exploring an AI desktop app. </p><p>While ChatGPT and friends are amazing at answering our questions, we cannot use them to <em>do</em> things, such as creating and editing documents, resizing images, or organizing files. </p><p>ChatGPT and Claude have desktop apps but you can&#8217;t use them with your desktop files. Yes, you could use MCP servers with Claude&#8217;s desktop app but most people will not even try to figure out how to do that. ChatGPT&#8217;s desktop app can edit only code.</p><p><strong>What if AI is embedded directly in our workflows so that we&#8230;</strong></p><p><strong>don&#8217;t have to copy and paste to and from ChatGPT all the time,<br>and can actually use AI to do things with our files for us,<br>without needing to know how to use AI</strong> </p><p>I made a simple dummy prototype this week to explore a possible interface:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yRw9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34537795-2260-455c-9e83-00ef4cc38c17_1580x1012.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yRw9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34537795-2260-455c-9e83-00ef4cc38c17_1580x1012.png 424w, https://substackcdn.com/image/fetch/$s_!yRw9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34537795-2260-455c-9e83-00ef4cc38c17_1580x1012.png 848w, https://substackcdn.com/image/fetch/$s_!yRw9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34537795-2260-455c-9e83-00ef4cc38c17_1580x1012.png 1272w, https://substackcdn.com/image/fetch/$s_!yRw9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34537795-2260-455c-9e83-00ef4cc38c17_1580x1012.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yRw9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34537795-2260-455c-9e83-00ef4cc38c17_1580x1012.png" width="1456" height="933" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/34537795-2260-455c-9e83-00ef4cc38c17_1580x1012.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:933,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:287999,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/162104587?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34537795-2260-455c-9e83-00ef4cc38c17_1580x1012.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yRw9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34537795-2260-455c-9e83-00ef4cc38c17_1580x1012.png 424w, https://substackcdn.com/image/fetch/$s_!yRw9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34537795-2260-455c-9e83-00ef4cc38c17_1580x1012.png 848w, https://substackcdn.com/image/fetch/$s_!yRw9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34537795-2260-455c-9e83-00ef4cc38c17_1580x1012.png 1272w, https://substackcdn.com/image/fetch/$s_!yRw9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34537795-2260-455c-9e83-00ef4cc38c17_1580x1012.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p>In the left panel, you can see the folders and files you have granted access to the app.</p></li><li><p>The middle panel is the main workspace where you can preview and maybe edit files.</p></li><li><p>The right panel is where you interact with the AI agent to get it to work on your files. </p></li></ul><p>We also have a functional prototype (which looks a bit different from the screenshot above) that can do things such as:</p><ul><li><p>Research information online and create a Word document or PowerPoint with its findings</p></li><li><p>Organize files into folders based on the filename or content</p></li><li><p>Bulk rotate images or rename files</p></li></ul><p>While these seem cool, it is the ChatGPT problem in another form. When the app can do many things, it isn&#8217;t clear what can be done.</p><p>I suspect it will be better if we focus on one core use case, at least initially, so that users know how to use it immediately. My initial hypothesis is that bulk actions, such as extracting information from multiple files into a spreadsheet or creating multiple research documents, would be valuable.</p><h3>Want to try our prototype?</h3><p>If you work with files on your computer every day, creating, editing, or moving them, I&#8217;d love to jump on a call and show you our prototype. </p><p>Or if you think you have a task that such an AI desktop can do for you based on what I shared above, I&#8217;d love to chat too.</p><p>Just let me know! </p><div><hr></div><h2>Jargon explained</h2><ul><li><p><strong>Yield: </strong>In Python, you can use <code>yield</code> to pause the execution of a function, return a value, and then continue the execution. For example, in the code below, it will return 1, then 2, then 3, similar to how ChatGPT streams text one by one, instead of loading for a while and displaying the whole text. Using <code>yield</code> turns a normal function into a &#8220;generator&#8221;.</p></li></ul><pre><code>def count_up_to(n):
    i = 1
    while i &lt;= n:
        yield i
        i += 1</code></pre><ul><li><p><strong>Type hinting a function:</strong> You can use <code>Callable</code> to indicate that a parameter is expected to be a function. In the example below, <code>Callable[[int], int]</code> means a function taking one <code>int</code> and returning an <code>int</code>. (As a reminder, mostly for myself, Python does not check the type hints when the program runs. Type hints are used by our IDEs to warn us of issues.)</p></li></ul><pre><code>from typing import Callable

def apply_twice(func: Callable[[int], int], x: int) -&gt; int:
    return func(func(x))</code></pre><ul><li><p><strong>Tauri 2.0: </strong>I built a Mac app with Tauri this week. I was using Windsurf and kept getting issues because Tauri 2.0 was only released last October while many LLMs were trained before that. So the LLMs kept producing code for Tauri 1.0. ChatGPT (o4-mini-high) gave me better code and fixes because it would search the internet and get more updated information.</p></li></ul><div><hr></div><h2>Interesting links</h2><ul><li><p><strong><a href="https://handyai.substack.com/p/the-modern-ai-workspace">The modern AI workspace: Why Cursor isn't just for coders anymore</a></strong> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Jake Handy&quot;,&quot;id&quot;:135858492,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/09e817e4-7a3c-4e44-819f-19ac8bbc322e_2500x2500.png&quot;,&quot;uuid&quot;:&quot;07b83f0c-b113-4aac-91ea-3f91dddc45b0&quot;}" data-component-name="MentionToDOM"></span>: Some of my recent ideas were inspired by this piece. But I do not think non-coders will use Cursor simply because it is a code editor. </p></li><li><p><strong><a href="https://storage.googleapis.com/deepmind-media/Era-of-Experience%20/The%20Era%20of%20Experience%20Paper.pdf">Welcome to the Era of Experience</a> (by Google):</strong> Imagine AI that is connected to real environments so that it can evaluate its actions and adjust its plans. That might be the future.</p></li><li><p><strong><a href="https://chatgpt.com/share/680c90c1-eb08-8001-9847-43a46a8f0c96">ChatGPT o3 looked through 104 sources</a></strong> to help me find a quote that I vaguely remember. It iterated through 18 sets of queries and links until it found the right quote (which was in a podcast).</p></li><li><p><strong><a href="https://wattenberger.com/thoughts/our-interfaces-have-lost-their-senses">Our interfaces have lost their senses</a>:</strong> An incredibly beautiful website by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Amelia Wattenberger&quot;,&quot;id&quot;:1253744,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:null,&quot;uuid&quot;:&quot;b0973717-deab-4881-a937-2ec00084b4ec&quot;}" data-component-name="MentionToDOM"></span> exploring interface design, especially in the age of AI</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DqHl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34f6caa9-7701-4ed0-abf0-33f5a79cbaa9_3024x1708.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DqHl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34f6caa9-7701-4ed0-abf0-33f5a79cbaa9_3024x1708.png 424w, https://substackcdn.com/image/fetch/$s_!DqHl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34f6caa9-7701-4ed0-abf0-33f5a79cbaa9_3024x1708.png 848w, https://substackcdn.com/image/fetch/$s_!DqHl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34f6caa9-7701-4ed0-abf0-33f5a79cbaa9_3024x1708.png 1272w, https://substackcdn.com/image/fetch/$s_!DqHl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34f6caa9-7701-4ed0-abf0-33f5a79cbaa9_3024x1708.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DqHl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34f6caa9-7701-4ed0-abf0-33f5a79cbaa9_3024x1708.png" width="1456" height="822" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/34f6caa9-7701-4ed0-abf0-33f5a79cbaa9_3024x1708.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:822,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6892903,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/162104587?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34f6caa9-7701-4ed0-abf0-33f5a79cbaa9_3024x1708.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DqHl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34f6caa9-7701-4ed0-abf0-33f5a79cbaa9_3024x1708.png 424w, https://substackcdn.com/image/fetch/$s_!DqHl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34f6caa9-7701-4ed0-abf0-33f5a79cbaa9_3024x1708.png 848w, https://substackcdn.com/image/fetch/$s_!DqHl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34f6caa9-7701-4ed0-abf0-33f5a79cbaa9_3024x1708.png 1272w, https://substackcdn.com/image/fetch/$s_!DqHl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34f6caa9-7701-4ed0-abf0-33f5a79cbaa9_3024x1708.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>Recent issues</h2><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;eb3f9834-f5cc-4cd8-9475-407e3d31309a&quot;,&quot;caption&quot;:&quot;Most arguments against a chat interface for AI compare AI with the invention of the Graphical User Interface (GUI). We used to enter commands in the command line until the GUI was invented. Instead of having to remember and type specific commands, we can select text, move files, and open documents visually. Consequently, we shouldn&#8217;t be typing specific &#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI15: Using LLMs with actions, not only text&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-04-20T12:30:41.441Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff437a0ee-25dd-4d16-b9fd-fa42b7e9faac_1024x608.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai15-using-llms-with-actions-not&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:161647357,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;a57aed74-6613-4ba8-92e4-b89c237baab2&quot;,&quot;caption&quot;:&quot;Building an AI agent can seem pretty daunting.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI14: How to build a productivity AI agent in 24 lines of code&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-04-13T12:31:45.917Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4821ab7a-1d88-461b-b365-26a117fa0a5c_1200x526.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai14-how-to-build-a-productivity&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:161068999,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;f652472e-2c49-4cb8-a761-454ee2d36af2&quot;,&quot;caption&quot;:&quot;I have been reading many articles and watching many videos on the Model Context Protocol (MCP), the latest hot thing in AI.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI13: Building an MCP server&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-04-06T12:31:00.117Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba68b145-5f1f-4552-b448-8ecfad88e128_1024x608.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai13-building-an-mcp-server&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:160632997,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:3,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div>]]></content:encoded></item><item><title><![CDATA[Keep showing up]]></title><description><![CDATA[Over the years, I developed a helpful habit to get me through tough times&#8212;as a parent, founder, and triathlete.]]></description><link>https://letters.alfredlua.com/p/keep-showing-up</link><guid isPermaLink="false">https://letters.alfredlua.com/p/keep-showing-up</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Thu, 24 Apr 2025 12:30:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!FW38!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2f40af5-03a5-4754-9be4-39a426be70bb_6048x4024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FW38!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2f40af5-03a5-4754-9be4-39a426be70bb_6048x4024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FW38!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2f40af5-03a5-4754-9be4-39a426be70bb_6048x4024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FW38!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2f40af5-03a5-4754-9be4-39a426be70bb_6048x4024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FW38!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2f40af5-03a5-4754-9be4-39a426be70bb_6048x4024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FW38!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2f40af5-03a5-4754-9be4-39a426be70bb_6048x4024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FW38!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2f40af5-03a5-4754-9be4-39a426be70bb_6048x4024.jpeg" width="1456" height="969" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a2f40af5-03a5-4754-9be4-39a426be70bb_6048x4024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:969,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:11734454,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/161882917?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2f40af5-03a5-4754-9be4-39a426be70bb_6048x4024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FW38!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2f40af5-03a5-4754-9be4-39a426be70bb_6048x4024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FW38!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2f40af5-03a5-4754-9be4-39a426be70bb_6048x4024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FW38!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2f40af5-03a5-4754-9be4-39a426be70bb_6048x4024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FW38!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2f40af5-03a5-4754-9be4-39a426be70bb_6048x4024.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;ve been a <a href="https://alfredlua.com/triathlon">triathlete</a> for 16 years. Like every athlete, there are days when I feel so terrible, I miss all my target times, and I just want to give up. </p><p>But the next day, if it is not a planned rest day, I would show up at the pool, on the road, or on the track.</p><p>Exhausted. Demotivated. Down. But I would drag myself and show up.</p><p>I might miss my target times again. It might be a shitty session again. I might question why I&#8217;m doing this to myself for the thousandth time.</p><p>But I would show up.</p><p>Gradually, sometimes after a few weeks, I would claw my way back. I would miss fewer targets, feel optimistic, and enjoy the workouts again. </p><div><hr></div><p>Being a parent feels similar.</p><p>There are days when I feel so beaten, annoyed, and frustrated. If you have tried spending two hours to get your kid to sleep while you haven&#8217;t slept well for the past year, you know this feeling. </p><p>But after a night&#8217;s sleep, however interrupted, I would start the new day as the parent I want to be again.</p><p>It might be another draining day ahead. I might get frustrated again. I might already be exhausted.</p><p>But I would show up.</p><p>My son deserves the best me every day, regardless of yesterday&#8217;s battles. Whatever happened yesterday happened yesterday. Today is a new day. And it&#8217;s so much more enjoyable to focus on the present when we are with our kids.</p><div><hr></div><p>Being an entrepreneur also feels similar. </p><p>Perhaps nobody is paying for our product, a product launch didn&#8217;t go well, or the product design I&#8217;d worked on for days didn&#8217;t actually make sense. Sometimes a bad event in the morning can cripple me for the entire day.</p><p>But the next day, I would go to my study, sit at my desk, and work.</p><p>I might not have fully recovered from the setback. I might doomscroll for another few hours. I might doubt myself still.</p><p>But I would show up.</p><p>Soon, I would overcome that bad incident, maybe face another one, and overcome that too. </p><div><hr></div><p>Olympian Alexi Pappas once <a href="https://www.upworthy.com/alexi-pappas-rule-of-thirds-advice">shared a piece of advice from her coach after a tough day on the track</a>:</p><blockquote><p>And he said, when you're chasing a dream or doing anything hard, you're meant to feel good a third of the time, OK a third of the time and crappy a third of the time. </p><p>And if the ratio is roughly in that range, then you're doing fine. So today was the crappy day along your dream chasing. And if the ratio is off like you feel too good all the time or too bad, then you got to look at if you're fatiguing or are not trying hard enough or pushing yourself.</p><p>So I think with those days that you're talking about where like creativity doesn't come or doesn't feel great, <strong>you still show up because maybe that's your crappy day</strong>. But it doesn't mean you quit the goal. It doesn't mean you freak out. It means that you show up and live through that crappy or that dip because you're chasing a dream and you're doing something hard.</p></blockquote><div class="instagram-embed-wrap" data-attrs="{&quot;instagram_id&quot;:&quot;C9dXa6VxQ4e&quot;,&quot;title&quot;:&quot;A post shared by @ideageneration&quot;,&quot;author_name&quot;:&quot;ideageneration&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/__ss-rehost__IG-meta-C9dXa6VxQ4e.jpg&quot;,&quot;like_count&quot;:null,&quot;comment_count&quot;:null,&quot;profile_pic_url&quot;:null,&quot;follower_count&quot;:null,&quot;timestamp&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="InstagramToDOM"></div><p><em>George Lucas: A Life</em> has <a href="https://x.com/ActionDigest/status/1914796559398801761">a section</a> about how he would keep showing up at his desk every day&#8212;for three years&#8212;to write Star Wars:</p><blockquote><p>"I sit at my desk for eight hours a day no matter what happens, even if I don't write anything," he explained. "It's a terrible way to live. But I do it; I sit down and I do it. I can't get out of my chair until five o clock or five thirty. ... It's like being in school. It's the only way I can force myself to write."</p></blockquote><p>While I have not fully internalized this as a parent (1.5 years) and a founder (3 years), 16 years as a triathlete have taught me that I will always be able to make some progress and then make it through the tough times&#8212;as long as I don&#8217;t give up. </p><p>I try to maintain this discipline for everything that is important to me. A few other areas are relationships, <a href="https://letters.alfredlua.com/p/new-year-momentum">writing</a>, and health.</p><p>But this stubborn discipline isn&#8217;t all good. There are times when I should take an off day or do something else. Or do nothing. But I still pushed myself to show up and ended up injured or burned out. And I couldn&#8217;t even show up for a while. </p><p>Thankfully, over the years, my wife, my coach, and my manager have helped me learn to adjust my days when necessary. Go for a walk outside. Do an easy run instead. Or spend the day reading. That allowed me to show up that day&#8212;and the following day, and the following day.</p><p>Of course, there are times when the best decision is to quit. To move on from a job and team I love. To kill a product that I have been marketing with my heart and soul. To let go of my dream of making the national team. To be honest, I tend to hold on to them longer than I should. But it&#8217;s hard to know until I have the benefit of hindsight.</p><p>Given that they are things I value, showing up for a while longer than I should have is okay. I might have spent more time than necessary. It might not be the &#8220;efficient&#8221; path, as productivity gurus might argue. But perhaps, for a meaningful life, it is necessary.</p><p>So, keep showing up.</p>]]></content:encoded></item><item><title><![CDATA[AI15: Using LLMs with actions, not only text]]></title><description><![CDATA[Instead of describing what we want to LLMs, what if they can also infer from our actions?]]></description><link>https://letters.alfredlua.com/p/ai15-using-llms-with-actions-not</link><guid isPermaLink="false">https://letters.alfredlua.com/p/ai15-using-llms-with-actions-not</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Sun, 20 Apr 2025 12:30:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!FKCE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff437a0ee-25dd-4d16-b9fd-fa42b7e9faac_1024x608.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FKCE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff437a0ee-25dd-4d16-b9fd-fa42b7e9faac_1024x608.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FKCE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff437a0ee-25dd-4d16-b9fd-fa42b7e9faac_1024x608.png 424w, https://substackcdn.com/image/fetch/$s_!FKCE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff437a0ee-25dd-4d16-b9fd-fa42b7e9faac_1024x608.png 848w, https://substackcdn.com/image/fetch/$s_!FKCE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff437a0ee-25dd-4d16-b9fd-fa42b7e9faac_1024x608.png 1272w, https://substackcdn.com/image/fetch/$s_!FKCE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff437a0ee-25dd-4d16-b9fd-fa42b7e9faac_1024x608.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FKCE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff437a0ee-25dd-4d16-b9fd-fa42b7e9faac_1024x608.png" width="1024" height="608" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f437a0ee-25dd-4d16-b9fd-fa42b7e9faac_1024x608.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:608,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FKCE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff437a0ee-25dd-4d16-b9fd-fa42b7e9faac_1024x608.png 424w, https://substackcdn.com/image/fetch/$s_!FKCE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff437a0ee-25dd-4d16-b9fd-fa42b7e9faac_1024x608.png 848w, https://substackcdn.com/image/fetch/$s_!FKCE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff437a0ee-25dd-4d16-b9fd-fa42b7e9faac_1024x608.png 1272w, https://substackcdn.com/image/fetch/$s_!FKCE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff437a0ee-25dd-4d16-b9fd-fa42b7e9faac_1024x608.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Most arguments against a chat interface for AI compare AI with the invention of the Graphical User Interface (GUI). We used to enter commands in the command line until the GUI was invented. Instead of having to remember and type specific commands, we can select text, move files, and open documents visually. Consequently, we shouldn&#8217;t be typing specific prompts. There should be a GUI for AI.</p><p>But what could that look like?</p><p>The first wave of LLM GUI consists mostly of sliders, drop-downs, and buttons, with prompts behind them. For example, a slider for &#8220;sarcasm&#8221; is essentially a spectrum from &#8220;Do not be sarcastic&#8221; to &#8220;Be as sarcastic as possible&#8221;. Or a drop-down for tone is essentially &#8220;Be formal&#8221;, &#8220;Be funny&#8221;, &#8220;Be casual&#8221;, and so on. Developers find the best prompts to achieve each goal so that users can simply select what they want, instead of figuring out how to write a good prompt.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Wpo3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298c629d-87f0-40f3-a846-c88b76dd4c15_1620x982.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wpo3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298c629d-87f0-40f3-a846-c88b76dd4c15_1620x982.png 424w, https://substackcdn.com/image/fetch/$s_!Wpo3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298c629d-87f0-40f3-a846-c88b76dd4c15_1620x982.png 848w, https://substackcdn.com/image/fetch/$s_!Wpo3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298c629d-87f0-40f3-a846-c88b76dd4c15_1620x982.png 1272w, https://substackcdn.com/image/fetch/$s_!Wpo3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298c629d-87f0-40f3-a846-c88b76dd4c15_1620x982.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wpo3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298c629d-87f0-40f3-a846-c88b76dd4c15_1620x982.png" width="1456" height="883" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/298c629d-87f0-40f3-a846-c88b76dd4c15_1620x982.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:883,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:151966,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://letters.alfredlua.com/i/161647357?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298c629d-87f0-40f3-a846-c88b76dd4c15_1620x982.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Wpo3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298c629d-87f0-40f3-a846-c88b76dd4c15_1620x982.png 424w, https://substackcdn.com/image/fetch/$s_!Wpo3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298c629d-87f0-40f3-a846-c88b76dd4c15_1620x982.png 848w, https://substackcdn.com/image/fetch/$s_!Wpo3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298c629d-87f0-40f3-a846-c88b76dd4c15_1620x982.png 1272w, https://substackcdn.com/image/fetch/$s_!Wpo3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298c629d-87f0-40f3-a846-c88b76dd4c15_1620x982.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Editing the reading level of a generated text in ChatGPT Canvas</figcaption></figure></div><p>Can we go further than that?</p><p>Since LLMs take in text, what can we &#8220;say&#8221; to LLMs with our actions, beyond slides, drop-downs, and buttons?</p><p>We can take inspiration from AI image apps, such as <a href="https://pebblely.com/">Pebblely</a>, <a href="https://www.krea.ai/">Krea</a>, and <a href="https://playground.com/">Playground</a>. Instead of being limited to describing what we want in text, we can move objects on a canvas, use reference images, and draw sketches.</p><p>Here are some ideas:</p><ul><li><p>Dragging a text document onto another text document merges them into a single text document or creates a new document that combines their ideas, like combining items in a video game. (But what if I drag a spreadsheet onto a slide deck? Or an image onto another image?)</p></li><li><p>Sharing a folder with an AI chat provides the files in the folder as context. The folder names and file names can be additional context for the LLM. For example, the LLM should treat documents in &#8220;Jokes&#8221; and documents in &#8220;Business&#8221; differently. </p></li><li><p>Adding to and removing files from a shared folder automatically updates the context for the LLM. </p></li><li><p>Putting reports, images, and spreadsheets in a folder creates a slide deck, just like how my iPhone automatically creates video montages with my photos and videos.</p></li><li><p>Enlarging a textbox generates more text while shrinking it summarizes.</p></li><li><p>Rearranging two paragraphs generates different text between them to connect the two paragraphs.</p></li><li><p>Color-coding text in different colors tells the LLM to edit the various sections differently. E.g. red = fix errors, green = improve phrasing, blue = summarize, yellow = expand.</p></li></ul><p>Perhaps we can go even further and create proactive assistance, like those we see in sci-fi movies:</p><ul><li><p>When I&#8217;m doing X, the AI detects that and offers to complete it for me, where X is organizing my files, renaming my files, clearing my emails, and so on.</p></li><li><p>I have a folder with a spreadsheet for my personal expenses. Whenever I add an invoice to the folder, the information will be automatically extracted and added to the spreadsheet. </p></li><li><p>Whenever I download an invoice (e.g. Spotify), the AI will check if I have been using the app and, if I haven&#8217;t been, suggest I cancel the subscription.</p></li><li><p>At the end of the work day, the AI summarizes my digital activities for the day so that I can review the day and plan for the next day.</p></li></ul><p>There are a few key questions to consider: </p><ul><li><p>How do we design the experience such that users know what can be done and what to expect?</p></li><li><p>Should the results be deterministic like existing software so that users know what to expect? Or should they be non-deterministic like ChatGPT so that users can get creative outputs?</p></li><li><p>How do we handle privacy and security, especially when the AI would need to constantly monitor our computers to offer help proactively?</p></li><li><p>Do LLMs actually enable something impossible previously or perform the tasks better than code? </p></li></ul><div><hr></div><h2>Jargon explained</h2><ul><li><p><strong><a href="https://v2.tauri.app/">Tauri</a></strong> is a framework for building desktop apps while using HTML and CSS (or React or Vue) for the frontend, making it easier for web developers to build desktop apps. Another popular option is <a href="https://www.electronjs.org/">Electron</a> but it seems like Tauri is gaining popularity because Tauri apps are smaller, load faster, and are more secure. We recently started building a desktop app with Tauri, and I&#8217;ll share more once I have more experience building with Tauri.</p></li></ul><div><hr></div><h2>Interesting links</h2><ul><li><p><strong><a href="https://x.com/leerob/status/1869755457029476482">AI-native UX</a>: </strong>A thread of examples by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Lee Robinson&quot;,&quot;id&quot;:1866504,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/a5fd9634-0ffd-4fc3-8ebd-7c67dd792989_500x500.png&quot;,&quot;uuid&quot;:&quot;17ea1221-e9d4-4bc4-b415-c07429f2170d&quot;}" data-component-name="MentionToDOM"></span>.</p></li></ul><ul><li><p><strong><a href="https://ampcode.com/how-to-build-an-agent">How to Build an Agent (or: The Emperor Has No Clothes)</a>:</strong> Thorsten Ball explained and showed in this article that AI agents are simply &#8220;an LLM, a loop, and enough tokens&#8221;, and, if I may add, tools. His example is in Go. If you prefer Python, I wrote about <a href="https://letters.alfredlua.com/p/ai14-how-to-build-a-productivity">How to build a productivity AI agent in 24 lines of (Python) code</a> last week.</p></li><li><p><strong><a href="https://smithery.ai/">Smithery</a>: </strong>A repository of MCPs for your AI agents. It even has <a href="https://smithery.ai/server/@smithery/toolbox">an MCP for all the MCPs on its platform</a>!</p></li><li><p><a href="https://blog.sshh.io/p/everything-wrong-with-mcp">Everything Wrong with MCP</a>: <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Shrivu Shankar&quot;,&quot;id&quot;:87740142,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg&quot;,&quot;uuid&quot;:&quot;e8a20609-f9f2-4ce8-bea6-8f9e9684f1bd&quot;}" data-component-name="MentionToDOM"></span>, a machine learning engineer at Abnormal Security, shares what could go wrong with MCP.</p></li></ul><div><hr></div><h2>Recent issues</h2><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;588bb801-fa1b-4d67-8b6f-481f5bcb1ff7&quot;,&quot;caption&quot;:&quot;Building an AI agent can seem pretty daunting.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI14: How to build a productivity AI agent in 24 lines of code&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-04-13T12:31:45.917Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4821ab7a-1d88-461b-b365-26a117fa0a5c_1200x526.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai14-how-to-build-a-productivity&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:161068999,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;db3d55bc-144d-498d-b147-84ea17822c23&quot;,&quot;caption&quot;:&quot;I have been reading many articles and watching many videos on the Model Context Protocol (MCP), the latest hot thing in AI.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI13: Building an MCP server&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-04-06T12:31:00.117Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba68b145-5f1f-4552-b448-8ecfad88e128_1024x608.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai13-building-an-mcp-server&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:160632997,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:3,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;f76e6af8-a5da-47ae-850e-569d3783dcfb&quot;,&quot;caption&quot;:&quot;Quick update: Muse, my writing AI companion, is now live on the Chrome Web Store! You can use it for free for now, and no registration is required. But please share your feedback with me.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI12: How I AI code&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2075925,&quot;name&quot;:&quot;Alfred Lua&quot;,&quot;bio&quot;:&quot;Writing to myself. Founder dad. Pebblely, Magic Blocks, Vispunk, Alfie, Dashibase. From Buffer and ReferralCandy. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71bfeb81-8c23-4045-9679-f929f8de1a79_827x827.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-03-23T12:30:58.805Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76d7cf5b-6c64-4e74-b53a-74c7549ca0a6_1024x608.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://letters.alfredlua.com/p/ai12-how-i-ai-code&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:159552016,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Letters To Alfred&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbdbf2af-cd64-4288-94b5-a09e16ac00b5_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div>]]></content:encoded></item><item><title><![CDATA[Looking for the Alfred of 2018]]></title><description><![CDATA[I was enjoying my work so much that I thought I'd be doing it forever. I fell out of it and have been feeling lost for seven years&#8212;until recently...]]></description><link>https://letters.alfredlua.com/p/looking-for-the-alfred-of-2018</link><guid isPermaLink="false">https://letters.alfredlua.com/p/looking-for-the-alfred-of-2018</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Thu, 17 Apr 2025 12:31:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!92cj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6be5eedf-0125-40ce-beec-67edbbee3132_1875x943.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!92cj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6be5eedf-0125-40ce-beec-67edbbee3132_1875x943.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!92cj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6be5eedf-0125-40ce-beec-67edbbee3132_1875x943.jpeg 424w, https://substackcdn.com/image/fetch/$s_!92cj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6be5eedf-0125-40ce-beec-67edbbee3132_1875x943.jpeg 848w, https://substackcdn.com/image/fetch/$s_!92cj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6be5eedf-0125-40ce-beec-67edbbee3132_1875x943.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!92cj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6be5eedf-0125-40ce-beec-67edbbee3132_1875x943.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!92cj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6be5eedf-0125-40ce-beec-67edbbee3132_1875x943.jpeg" width="1456" height="732" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6be5eedf-0125-40ce-beec-67edbbee3132_1875x943.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:732,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;No photo description available.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="No photo description available." title="No photo description available." srcset="https://substackcdn.com/image/fetch/$s_!92cj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6be5eedf-0125-40ce-beec-67edbbee3132_1875x943.jpeg 424w, https://substackcdn.com/image/fetch/$s_!92cj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6be5eedf-0125-40ce-beec-67edbbee3132_1875x943.jpeg 848w, https://substackcdn.com/image/fetch/$s_!92cj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6be5eedf-0125-40ce-beec-67edbbee3132_1875x943.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!92cj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6be5eedf-0125-40ce-beec-67edbbee3132_1875x943.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8220;What would you do if you had millions of dollars and did not have to work?&#8221;</p><p>My manager at Buffer asked me this question during a one-on-one many years ago. I said I&#8217;d still do the things I was doing, which was writing long-form guides on social media marketing. It wasn&#8217;t because I was answering my manager. I was genuinely enjoying my work. I felt in <em>the zone</em> for months. I was eager to ideate, research, and write, and I was also proud to share my articles. I scheduled my day around my work so that I could do what I loved and do it well. </p><p>While it wasn&#8217;t smooth sailing right from the start, my articles gradually performed better. Soon, I had articles with 100,000s of page views. People shared and discussed my articles on social media. We experimented with new content strategies such as <a href="https://x.com/alfred_lua/status/1093476720613703681">topic clusters</a> before they became popular. I gave talks and spoke on panels. People were asking me for advice. <em>Me?!</em></p><p>But after those few months, and maybe up to a year, I fell out of it. </p><p>I lost interest in what I thought I&#8217;d love to do forever. I dreaded writing those social media articles<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>, I felt reluctant to share my own work, and I even didn&#8217;t want to think of myself as a marketer. </p><p>It has been about seven years now.</p><p>But I recently felt a flicker of that old feeling, when I was helping to develop <a href="https://stores-tools.vercel.app/">Stores</a>, our open-source Python library for agent tooling.</p><p>Now, I&#8217;m on a quest to understand how to get back to that state. To find what I enjoy. </p><div><hr></div><p><strong>Growth</strong></p><p>I had the sudden realization that I was enjoying my work when I was discussing some technical topics with my cofounder SK a few weeks back. It wasn&#8217;t anything deeply technical but having such a discussion was something I couldn&#8217;t do just a few months back. After years of learning to code, I finally felt &#8220;technical&#8221;. While I used to feel like I was just running on the spot and learning the basics over and over again, I began to feel I was making progress, however slowly, especially with <a href="https://letters.alfredlua.com/p/ai12-how-i-ai-code">the help of AI tools</a>. I felt <a href="https://letters.alfredlua.com/p/february-recap-make-a-little-progress">unstuck</a>.</p><p>This was the same when I was at Buffer. I used to be afraid of writing. But gradually <a href="https://letters.alfredlua.com/p/the-unlikely-writer">I felt like a writer</a>. I could sense that I was writing better, and the page views and shares confirmed it. I wanted to keep doing what I was doing because I was constantly learning new things and producing good work. That&#8217;s <a href="https://letters.alfredlua.com/p/my-2024-annual-review-on-the-shortness">how I want to live my life</a>.</p><p><strong>Results</strong></p><p>Of course, I&#8217;d be lying if I said results didn&#8217;t matter. There is a positive feedback loop. Each time my article did well, I became more encouraged and less stressed. I could relax, come up with interesting ideas, and write better. Those subsequent articles generally did better. This helped me enjoy my work even more. If there hadn&#8217;t even been an inkling of positive results, I&#8217;m not sure I could have lasted long enough to enjoy the work. And as a founder now, if we aren&#8217;t making enough money to even survive (the most important result), I doubt I can truly enjoy my work.</p><p>But results alone, while necessary, aren&#8217;t sufficient. Even when my TikTok videos for Pebblely were going viral, I just couldn&#8217;t get myself to like creating TikTok videos, especially as <a href="https://letters.alfredlua.com/p/my-weird-little-habits-to-protect">someone who has been intentionally avoiding such social media content</a>.</p><p><strong>Interest and mastery</strong></p><p>This will sound contradictory to my last sentence but I truly believe in the value of social media in connecting people and helping small businesses (though I&#8217;m now more wary of the negative effects it can have on people). I created a Facebook Page for my parents&#8217; small business in 2013. I applied to Buffer (a social media management software startup) three times until I got a job there and stayed for six years. I was interested in everything that was happening in the space and stayed near the frontier: new social media platforms (Snapchat, Periscope, etc.), new features and content formats (groups, live videos, stories, etc.), announcements from major social media companies, and so on. Admittedly, it also helped that social media was the biggest thing back then.</p><p>The same is happening with AI now. Thanks to AI, I <a href="https://letters.alfredlua.com/p/ai-is-not-about-solving-common-problems">got back my curiosity</a>, <a href="https://letters.alfredlua.com/p/ai10-introducing-muse-your-ai-writing">learned to write better</a>, <a href="https://letters.alfredlua.com/p/ai12-how-i-ai-code">became comfortable with technical topics</a>, and more. SK and I have been investing our lives in <a href="https://x.com/alfred_lua/status/1596513234928152578">building AI products since 2022</a>. In case it&#8217;s not obvious, I love AI. Needless to say, it is the biggest thing right now. </p><p>But while I have the interest, I&#8217;m nowhere near mastery. To be honest, I struggle to even keep up with the developments, let alone try to be near the frontier. That said, I&#8217;m not dreaming of being a leading AI researcher. I&#8217;m more interested in helping more people benefit from AI through <a href="https://letters.alfredlua.com/p/alfred-intelligence-2-human-agent">better design</a> and education. Even though we have been building AI products for three years, <a href="https://letters.alfredlua.com/p/alfred-intelligence-issue-1">I have barely scratched the surface</a> and still have a lot to do here.</p><p><strong>Support and community</strong></p><p>At Buffer, I had my manager, Kevan, and my teammate Ash. They guided me, gave me feedback, and supported me. There was also an amazing community on Twitter that I regularly interacted with and learned from. I could tweet a question and have fruitful discussions with people I have never met and might never meet. That said, I previously had the Buffer brand behind me, which probably made more people want to interact with me than if I weren&#8217;t there.</p><p>Now, I have SK, who has been teaching me and sparring with me for the past few years. Several friends, such as Rishabh and Medha (cofounders of Defog), have also been great supporters since we started Dashibase in 2022. Twitter has not been as fun as before, though. I often feel that I&#8217;m just tweeting into the void, probably because I haven&#8217;t had much interesting things to say for a while. I&#8217;d love to find ways to create the same supportive environment as before. Let&#8217;s connect if you are into the things I mentioned above! For now, I just started experimenting with using ChatGPT Plus as an assistant/coach, inspired by <a href="https://x.com/phokarlsson/status/1911834831320723575">this tweet</a>.</p><div><hr></div><p>This essay was originally supposed to be about how I finally fell back in love with my work. But after a few weeks since I started the draft, I&#8217;m not so sure I&#8217;m still feeling it.</p><p>To be frank, I have been feeling a little empty after <a href="https://x.com/alfred_lua/status/1909529836340584910">we launched Stores</a>. We are still adding to it and exploring new AI ideas but the flicker seems to be just that&#8212; a flicker.</p><p>But that&#8217;s okay. Even a huge fire starts with a spark. Now that I have finally experienced the joy again, however little, I feel confident I can find my best self again. I hope you will too.</p><p>Warmly,<br>Alfred</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Even if I didn&#8217;t lose interest then, I probably would have now, given how many of my articles can be generated with AI nowadays. It&#8217;s a good thing I moved on earlier.</p></div></div>]]></content:encoded></item></channel></rss>