<?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>Thu, 30 Jul 2026 21:08:04 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[Exuberant enjoyment of life]]></title><description><![CDATA[Stepping away from social media, stepping back into life]]></description><link>https://letters.alfredlua.com/p/exuberant-enjoyment-of-life</link><guid isPermaLink="false">https://letters.alfredlua.com/p/exuberant-enjoyment-of-life</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Fri, 24 Jul 2026 07:00:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!eVXk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109c04de-345a-4408-bcab-17a27773a6cb_4032x3024.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_!eVXk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109c04de-345a-4408-bcab-17a27773a6cb_4032x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eVXk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109c04de-345a-4408-bcab-17a27773a6cb_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!eVXk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109c04de-345a-4408-bcab-17a27773a6cb_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!eVXk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109c04de-345a-4408-bcab-17a27773a6cb_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!eVXk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109c04de-345a-4408-bcab-17a27773a6cb_4032x3024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eVXk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109c04de-345a-4408-bcab-17a27773a6cb_4032x3024.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/109c04de-345a-4408-bcab-17a27773a6cb_4032x3024.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;:832690,&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/208171663?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109c04de-345a-4408-bcab-17a27773a6cb_4032x3024.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_!eVXk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109c04de-345a-4408-bcab-17a27773a6cb_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!eVXk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109c04de-345a-4408-bcab-17a27773a6cb_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!eVXk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109c04de-345a-4408-bcab-17a27773a6cb_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!eVXk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109c04de-345a-4408-bcab-17a27773a6cb_4032x3024.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Baby, book, coffee. What else can I ask for!</figcaption></figure></div><p>Hello readers!</p><p>As I was reading <em><a href="https://www.amazon.sg/Theo-Golden-Allen-Levi/dp/0008819424">Theo of Golden</a></em> this week, I picked up a new term, &#8220;joie de vivre&#8221;. Wikipedia defines it as &#8220;joy of living&#8221; but I very much prefer the definition by my Kobo eReader:</p><p>Exuberant enjoyment of life!</p><p>I wish I had learned about this term last week, before I emailed you <em><a href="https://alfredlua.com/newsletters/get-a-life">Get a life. A real life.</a></em> But it is also relevant for this week&#8217;s topic:</p><h2><strong>Stepping away from social media, stepping back into life</strong></h2><p>I loved social media. Loved.</p><p>Back in 2013, I was a lost kid at the University of Warwick, constantly thinking about what to do in life. I was studying accounting and finance but didn&#8217;t want to work in financial institutions. At the same time, social media companies like Facebook, Twitter, and Snapchat were blowing up with millions of users. Even though I was in the middle of nowhere, they connected me to the world. My family back in Singapore could see how I was doing from thousands of miles away by looking at my Facebook profile. I also could interact with people working on interesting projects on Twitter. I loved social media so much that I eventually worked at Buffer, a social media management software company, for <a href="https://alfredlua.com/buffer-referralcandy">six years</a>. I gained a lot from being active on social media, too: a job at a Silicon Valley startup, speaking opportunities, triathlon sponsorships, and more. At almost all local events I attended, someone would tell me they had seen my LinkedIn posts. Influencer, maybe?</p><p>But social media is no longer what it was meant to be. It is a lot less <em>connecting</em> and a lot more <em>content</em>. Clickbaity content. Controversial content. Mindless content. When my son was still a baby and I would carry him for his naps, I could watch YouTube Shorts for up to three hours. (My sleep-deprived brain wasn&#8217;t making the best decisions.) Besides wasting my time, this infinite comparison engine was making me unreasonably envious of others and upset at myself<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>. I know what I saw was only the highlights they wanted to show. But still. My attention span also caved. When I had a good chunk of time to read, I drifted towards tweets and short-form videos. Whenever I tried to write, I got pulled away by &#8220;research&#8221; on social media. The worst part? Social media force-feeds us content from faraway strangers whom we don&#8217;t care about and disconnects us from our loved ones who are right beside us.</p><blockquote><p>What information consumes is rather obvious: it consumes the attention of its recipients. Hence a wealth of information creates a poverty of attention.</p><p>&#8212; Herbert A. Simon</p></blockquote><p>I had previously deleted all the social media apps from my phone when <a href="https://alfredlua.com/yima">my yima</a> was in a critical condition. Because of what I was going through then, I didn&#8217;t want to know about other people&#8217;s lives. But I felt I couldn&#8217;t ignore social media for marketing if I wanted the fastest result. <a href="https://pebblely.com/">Pebblely</a> grew to a million users in only seven months because of viral videos on TikTok. Later, when SK and I wanted to push <a href="https://booplet.com/">Booplet</a>, I brought back social media in full force, posting on both the brand and my personal accounts. Also, the most interesting AI projects are happening on Twitter, and not being there felt unprofessional.</p><p>But since I got the opportunity to <a href="https://alfredlua.com/newsletters/get-a-life">rethink my life</a> a few months ago, I decided enough was enough. I deleted the social media apps from my phone and haven&#8217;t touched them for about five months<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>. For my well-being, it has been great! I don&#8217;t instinctively take out my phone to scroll whenever I have a minute, such as waiting for the bus or queueing for food. Admittedly, I haven&#8217;t replaced it with healthier habits, such as reading a book, but I try to always have a book with me, as <a href="https://ryanholiday.net/this-is-something-you-should-always-carry-with-you/">Ryan Holiday recommends</a>. I do find reading newsletters during those pockets of time easier because they are shorter. I carefully curated my newsletter subscriptions, which currently include <a href="https://craigmod.com/newsletters/">Craig Mod&#8217;s newsletters</a>, <a href="https://commoncog.com/">Common Cog</a>, <a href="https://www.densediscovery.com/">Dense Discovery</a>, and <a href="https://kevinkelly.substack.com/">Kevin Kelly&#8217;s Substack</a>. But sometimes I just do nothing. Perhaps stare at the clouds in the sky or muse about what to write next. And after missing out on the latest AI news and projects on Twitter for a few months, I realized I don&#8217;t need to know them as soon as they were published. In fact, I didn&#8217;t even need to know about most of them. I don&#8217;t get much fomo now. To still stay in the loop, I get slightly delayed but human-curated updates from folks like <a href="https://simonw.substack.com/">Simon Willison</a> and <a href="https://www.ben-evans.com/newsletter">Ben Evans</a>. And, of course, using AI is more important than reading about it (which has a lot of noise!)</p><blockquote><p>&#8220;It is surprising how much reading a man can do in time usually wasted.&#8221; &#8212; Theodore Roosevelt</p></blockquote><p>While the pockets of time here and there add up, what matters more is how I spend the bulk of my time. The rocks in my jar. For that, I have been <a href="https://www.workingtheorys.com/p/make-something-heavy">making heavy things</a>. Not just <em>things</em>. But <em>heavy</em> things. I used to think the solution to my social media addiction was to create. <em>Hey, I&#8217;m not just consuming content. I&#8217;m creating!</em> But that&#8217;s just a cop-out. As <a href="https://www.workingtheorys.com/p/make-something-heavy">Anu Atluru wrote</a>, &#8220;No matter how many you stack, Tweets and TikToks don&#8217;t add up to something heavy.&#8221; I stopped churning out tweets and TikTok videos, which would fade by tomorrow, to feed The Algorithm. I switched to <a href="https://alfredlua.com/newsletters">writing newsletters</a>, <a href="https://fernsage.com/">building Fernsage</a>, and <a href="https://alfred.fernsage.com/parenting">parenting</a>. Fernsage itself is an embodiment of that heaviness. I want to write down things so that I can refer to them for a long time. If I succeed, it might even be something I pass down to my children (assuming they want their dad&#8217;s good ol&#8217; advice).</p><p>The biggest question I have yet to answer, though, is: Can I build my business without social media (especially since I have depended on it heavily in the past)? My honest answer is I don&#8217;t know <strong>yet</strong>, but I believe I can figure it out. I have been inspired by folks like <a href="https://craigmod.com/roden/099/">Craig Mod</a>, <a href="https://www.robinsloan.com/">Robin Sloan</a>, <a href="https://herman.bearblog.dev/quitting-social-media/">Herman Martinus</a>, and <a href="https://calnewport.com/">Cal Newport</a>, who have been making a living without depending on social media. Yes, growing a business without social media might take longer. But writing newsletters like this and commonplace pages like those below is more in line with what I want to keep doing in the long term.</p><p>Where do I get the source for all this content? My life. Like <a href="https://ryanholiday.net/you-must-live-an-interesting-life/">the advice Ryan Holiday got</a>: &#8220;If you want to be a great writer, go live an interesting life.&#8221;</p><p><em>Joie de vivre</em>!</p><div><hr></div><h2><strong>From my commonplace book</strong></h2><p><strong><a href="https://alfred.fernsage.com/be-careful-with-abstraction">Be careful with abstraction</a></strong></p><p>An erroneous log in my Meimei app got me thinking about how to highlight such mistakes to the users (which are just my wife and me). Claude Code suggested an abstraction that sounded smart initially. But after some thought, I realized it was a harmful design.</p><p><strong><a href="https://alfred.fernsage.com/understanding-meltdowns-and-tantrums">Understanding meltdowns and tantrums</a></strong> (WIP note)</p><blockquote><p>According to The Whole Brain-Child, we have a left (logical) and right (emotional) side of our brain. When a kid is emotional (e.g. &#8220;I don&#8217;t want to go to school!&#8221;, replying to them rationally (which is how we adults usually think) will make things worse (e.g. &#8220;everyone goes to school&#8221;). A possible solution is to connect emotionally first and then redirect them to what we want them to do.</p></blockquote><p>I have been on a quest that every parent eventually thinks about: how to reduce meltdowns. I can&#8217;t say this solution has been perfect, but it does seem to work sometimes and feels much more loving (yet firm) than simply reprimanding.</p><p><strong><a href="https://alfred.fernsage.com/cook-from-frozen">Cook from frozen</a></strong></p><p>My son is into Din Tai Fung&#8217;s Crispy Prawn Cake, so my wife and I got the EB Frozen Golden Crispy Prawn Cake to make at home. I got intrigued by the instruction to &#8220;cook from frozen&#8221;, and here&#8217;s what I learned.</p><p>(I&#8217;m also starting a <a href="https://alfred.fernsage.com/recipes">recipes collection</a> in my Fernsage. Please send me your favorite recipes for kids!)</p><div><hr></div><h2><strong>Around the web</strong></h2><p><strong><a href="https://web.archive.org/web/20260707175556/https://www.newyorker.com/magazine/2016/09/19/patagonias-philosopher-king">Patagonia&#8217;s Philosopher-King</a></strong> by Nick Paumgarten</p><p>Yvon Chouinard has been a huge inspiration for me. He was so deeply into climbing that he designed and made new climbing tools. That eventually turned into Chouinard Equipment, and then Patagonia. For example, when he was frustrated with European pitons, which cannot be removed from the wall, he made reusable pitons. Later, worried about degrading the rock, he made aluminum chocks that wouldn&#8217;t leave any gear or scars behind.</p><p>Also, their office has day care, which has raised 1,500 kids so far!</p><p>I highly recommend his book, <a href="https://www.amazon.sg/Let-People-Surfing-Education-Businessman-Including/dp/0143109677/ref=sr_1_1?crid=1CWEBO1NPVHOC&amp;dib=eyJ2IjoiMSJ9.9D-KOPK48Duq7QaIifuEYA.SFnO0Z0b_UDhtfsskbMXmFohLU26E8EJ2PPwfhrbPLI&amp;dib_tag=se&amp;keywords=Let+My+People+Go+Surfing%3A+The+Education+of+a+Reluctant+Businessman&amp;qid=1784615669&amp;sprefix=%2Caps%2C231&amp;sr=8-1">Let My People Go Surfing: The Education of a Reluctant Businessman</a>. He would probably hate hearing this, but he inspired me to want to build a business based on my interest and lifestyle.</p><p><strong><a href="https://kevinkelly.substack.com/p/better-than-free">Better Than Free</a></strong> by Kevin Kelly</p><p>If AI can reproduce our work for free, what should we sell? Things that cannot be copied, like trust.</p><ol><li><p>Immediacy</p></li><li><p>Personalization</p></li><li><p>Interpretation</p></li><li><p>Authenticity</p></li><li><p>Accessibility</p></li><li><p>Embodiment</p></li><li><p>Patronage</p></li><li><p>Findability</p></li></ol><p>This has been a timely read as I work towards my <a href="https://kk.org/thetechnium/1000-true-fans/">1000 True Fans</a>.</p><p><strong><a href="https://www.positive.news/lifestyle/wellbeing/dutch-kids-declared-the-worlds-happiest-again-heres-why/">Dutch kids declared the world&#8217;s happiest (again). Here&#8217;s why</a></strong> by Gavin Haines</p><p>While I think <a href="https://www.youtube.com/watch?v=LkehdpqUZaU">fulfillment is more important than happiness</a>, there are several things in this article worth thinking about:</p><ul><li><p>Working part-time to be with our kids more (or work in the same space as our kids)</p></li><li><p>Open communication, especially on taboo topics</p></li><li><p>Shared decision-making</p></li><li><p>Cycling to school</p></li></ul><div><hr></div><p>My kids&#8217; school is closed today, so they are both home. I used to feel bad about taking a day off work to be with them. But I&#8217;m learning to embrace such precious and chaotic days. As <a href="https://alfred.fernsage.com/a-short-guide-to-a-happy-life-by-anna-quindlen-quotes">Anna Quindlen said</a>, &#8220;You cannot be really first-rate at your work if your work is all you are.&#8221; This email was scheduled yesterday, so I don&#8217;t have to touch my laptop today.</p><p>Warmly, 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>I borrowed the term &#8220;infinite comparison engine&#8221; from <a href="https://www.nytimes.com/2026/05/12/opinion/decision-making-herbert-simon.html?unlocked_article_code=1.slA.6VNg.BCWQmuHwUzGr&amp;smid=url-share">David Epstein</a>, the author of <a href="https://alfred.fernsage.com/inside-the-box">Inside the Box</a> (which I&#8217;m reading now).</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>My private Instagram account still has new posts when my wife adds me as a contributor. I haven&#8217;t posted in 83 weeks.</p></div></div>]]></content:encoded></item><item><title><![CDATA[Get a life. A real life.]]></title><description><![CDATA[Why I have been MIA for 2026 so far]]></description><link>https://letters.alfredlua.com/p/get-a-life-a-real-life</link><guid isPermaLink="false">https://letters.alfredlua.com/p/get-a-life-a-real-life</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Fri, 17 Jul 2026 08:44:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!BDjV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdf426b1-9c2c-4722-bba4-a02dd4571224_2048x1536.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>As promised in my last email, here&#8217;s why I have been missing in action for 2026 so far.</p><p>In 2023, my son was born. It was my first major <em>life</em> event. In the following year, I experienced a major <em>death</em> event: <a href="https://alfredlua.com/yima">I lost my aunt</a>, who was like a mother to me. Life and death, in a year. At the end of that year, 2024, I sat down and wrote <a href="https://alfredlua.com/annual-review-2024">my annual review</a>, as I had always done for the previous seven years. In that review, I wrote about memento mori and living more intentionally. I subsequently published <a href="https://alfredlua.com/tags/recap">a monthly recap</a> to keep myself in check. Yet, <a href="https://alfredlua.com/june-recap-intentional-living">I found myself slipping</a>. As much as I tried to &#8220;live intentionally&#8221;, I was still doing the same things as before and just going through the motion in life.</p><p>Perhaps the universe decided I needed a harder shove. At the start of this year, within a week, I welcomed my daughter and almost lost my wife (to postpartum hemorrhage). How fragile is life! Was I paying attention to what actually matters? This shove gave me courage to make decisions that pivoted my life. I sold my equity in Pebblely back to the company, stayed home to look after my daughter, and spent a lot of time with my wife. After half a year of reflection and experimentation, I&#8217;m glad to report I think I&#8217;m onto <em>something</em>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BDjV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdf426b1-9c2c-4722-bba4-a02dd4571224_2048x1536.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BDjV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdf426b1-9c2c-4722-bba4-a02dd4571224_2048x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!BDjV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdf426b1-9c2c-4722-bba4-a02dd4571224_2048x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!BDjV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdf426b1-9c2c-4722-bba4-a02dd4571224_2048x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!BDjV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdf426b1-9c2c-4722-bba4-a02dd4571224_2048x1536.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BDjV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdf426b1-9c2c-4722-bba4-a02dd4571224_2048x1536.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cdf426b1-9c2c-4722-bba4-a02dd4571224_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;:928957,&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/207384545?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdf426b1-9c2c-4722-bba4-a02dd4571224_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_!BDjV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdf426b1-9c2c-4722-bba4-a02dd4571224_2048x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!BDjV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdf426b1-9c2c-4722-bba4-a02dd4571224_2048x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!BDjV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdf426b1-9c2c-4722-bba4-a02dd4571224_2048x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!BDjV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdf426b1-9c2c-4722-bba4-a02dd4571224_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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>And, hence, this newsletter. From now on, I aim to send you a weekly email, updating you about my life and projects. I have dreamed up a master plan. If it works, I can finally be present with my family, run a software business, and write altogether. It has been a long time, perhaps years, since I felt this excited. What&#8217;s telling is that I don&#8217;t know if my grand plan would work, yet I wake up every day wanting to work on it. And this excitement, I think, is half the battle won.</p><p>For many years, I hesitated writing about my life because I never found it interesting. It is just what it is. But I realized I was just not attentive enough. Looking back, my life has been filled with so much adventure:</p><ul><li><p>I was <a href="https://alfredlua.com/daily-routine">working at an all-remote company</a> before remote work was a thing. My parents wondered if I actually had a job until COVID happened.</p></li><li><p>I grew <a href="https://yetidistro.com/">Yeti Distro</a>, a paid newsletter about tech companies&#8217; distribution strategies and my work at Buffer, to $150 monthly recurring revenue. This was when I made my first dollar from the internet, and I still kept the Stripe notification email.</p></li><li><p>I was <a href="https://alfredlua.com/30th-sea-games-triathlon-and-duathlon-mixed-team-relay-trials">training to join the Singapore national triathlon team</a> while working full-time. I never made it, and life took over.</p></li></ul><p>There are many more stories like these, if only I had looked more closely.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MctQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff2077ca-9be6-46f4-a8db-d6447e59a0e5_1200x624.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MctQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff2077ca-9be6-46f4-a8db-d6447e59a0e5_1200x624.jpeg 424w, https://substackcdn.com/image/fetch/$s_!MctQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff2077ca-9be6-46f4-a8db-d6447e59a0e5_1200x624.jpeg 848w, https://substackcdn.com/image/fetch/$s_!MctQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff2077ca-9be6-46f4-a8db-d6447e59a0e5_1200x624.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!MctQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff2077ca-9be6-46f4-a8db-d6447e59a0e5_1200x624.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MctQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff2077ca-9be6-46f4-a8db-d6447e59a0e5_1200x624.jpeg" width="1200" height="624" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ff2077ca-9be6-46f4-a8db-d6447e59a0e5_1200x624.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:624,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:79533,&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/207384545?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff2077ca-9be6-46f4-a8db-d6447e59a0e5_1200x624.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_!MctQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff2077ca-9be6-46f4-a8db-d6447e59a0e5_1200x624.jpeg 424w, https://substackcdn.com/image/fetch/$s_!MctQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff2077ca-9be6-46f4-a8db-d6447e59a0e5_1200x624.jpeg 848w, https://substackcdn.com/image/fetch/$s_!MctQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff2077ca-9be6-46f4-a8db-d6447e59a0e5_1200x624.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!MctQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff2077ca-9be6-46f4-a8db-d6447e59a0e5_1200x624.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>But, more importantly, interesting living doesn&#8217;t require grand gestures, just <a href="https://alfredlua.com/in-praise-of-the-daily-mundane">full engagement with the ordinary days</a>. In <a href="https://alfred.fernsage.com/a-short-guide-to-a-happy-life-by-anna-quindlen-quotes">A Short Guide to a Happy Life</a>, Anna Quindlen shared:</p><blockquote><p>&#8220;I never think of my life, or my world, in any big cosmic way. I think of it in all its small component parts: the snowdrops, the daffodils; the feeling of one of my kids sitting close beside me on the couch; the way my husband looks when he reads with the lamp behind him; fettuccine Alfredo, fudge; <em>Gone with the Wind, Pride and Prejudice</em>. Life is made up of moments, small pieces of glittering mica in a long stretch of gray cement. It would be wonderful if they came to us unsummoned, but particularly in lives as busy as the ones most of us lead now, that won&#8217;t happen. We have to teach ourselves how to make room for them, to love them, and to live, really live.&#8221;</p></blockquote><p>She put it simply, &#8220;get a life. A real life, not a manic pursuit of the next promotion, the bigger paycheck, the larger house.&#8221;</p><p>Or as Himmel the Hero said in <em>Frieren: Beyond Journey&#8217;s End</em>, when his party was stuck indoors on a rainy day, &#8220;adventures are made up of ordinary, shitty days like these.&#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_!gf-U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f0cd393-1c63-42c7-bac3-c95f01e52a07_2000x1500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gf-U!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f0cd393-1c63-42c7-bac3-c95f01e52a07_2000x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gf-U!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f0cd393-1c63-42c7-bac3-c95f01e52a07_2000x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gf-U!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f0cd393-1c63-42c7-bac3-c95f01e52a07_2000x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gf-U!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f0cd393-1c63-42c7-bac3-c95f01e52a07_2000x1500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gf-U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f0cd393-1c63-42c7-bac3-c95f01e52a07_2000x1500.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f0cd393-1c63-42c7-bac3-c95f01e52a07_2000x1500.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;:745733,&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/207384545?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f0cd393-1c63-42c7-bac3-c95f01e52a07_2000x1500.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_!gf-U!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f0cd393-1c63-42c7-bac3-c95f01e52a07_2000x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gf-U!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f0cd393-1c63-42c7-bac3-c95f01e52a07_2000x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gf-U!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f0cd393-1c63-42c7-bac3-c95f01e52a07_2000x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gf-U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f0cd393-1c63-42c7-bac3-c95f01e52a07_2000x1500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>So, what exactly am I doing?</p><p>I&#8217;m typing this in my living room as my sick daughter is napping in her room (which used to be my study) while Claude Code is editing my code. This quite sums it up. I&#8217;m building a <a href="https://fernsage.com/">software business</a> and writing <a href="https://alfredlua.com/newsletters">newsletters</a> and <a href="https://alfred.fernsage.com/">library pages</a> while parenting two children with my wife and rebuilding my fitness. I&#8217;m also <a href="https://alfred.fernsage.com/japanese">learning Japanese</a> and learning to read books slowly. Piano is next.</p><p>Just a heads up, there will be a lot of AI. Like Master Qifrey in <em>Witch Hat Atelier</em> said, &#8220;If you feel that restless urgency and want to learn [magic] quickly, the best thing you can do is to make it a part of your life. There&#8217;s no better teacher than living itself.&#8221; While many people seem worried AI would replace them, I&#8217;m exploring how I can use AI can reshape life and work as we know it. I haven&#8217;t found the perfect balance but having the freedom to find a balance is such a blessing.</p><p>If all these sound like what you are looking for, stick around. Or even drop me a reply!</p><p>In my coming emails, I&#8217;ll be sharing about...</p><ul><li><p>why I left social media</p></li><li><p>how working with Claude Code has been very similar to working with my technical cofounder SK</p></li><li><p>how I used Claude to help me build a 12-week fitness program and guide me along</p></li><li><p>and more</p></li></ul><p>I can&#8217;t wait to share them with you.</p><p>Talk soon.</p><p>Alfred</p><p>Oh, by the way, I realized I still own the domain, <code>founderdads.club</code>. I didn&#8217;t have time to turn it into a community for the past two years but it now feels like a suitable project to take on. I&#8217;d love to have a place to chat about parenting, business, software, and AI. Anyone else? :)</p><div><hr></div><h2><strong>From my library</strong></h2><p><a href="https://alfred.fernsage.com/a-short-guide-to-a-happy-life-by-anna-quindlen-quotes">A Short Guide to a Happy Life by Anna Quindlen (Quotes)</a></p><p>AI and automation are all cool and stuff. But some things are more useful when done by hand. I chose to type out <a href="https://www.amazon.sg/Short-Guide-Happy-Life/dp/0375504613">A Short Guide to a Happy Life</a> so that I will remember it better. Due to copyrights, I can&#8217;t publish the full piece, so this library page contains my favorite quotes.</p><p><a href="https://alfred.fernsage.com/japanese-words">Japanese words</a></p><p>Similarly, I type out the new Japanese words I learned every week to practice pronouncing the words (on top of doing Duolingo every day).</p><p><a href="https://alfred.fernsage.com/coding">AI coding, context, and usage limit</a></p><p>I have been hitting Claude&#8217;s 5-hour session usage limit faster and faster. Here are some things I&#8217;m trying to squeeze more out of my subscription.</p><div><hr></div><h2><strong>Around the web</strong></h2><p><strong><a href="https://archive.is/20260629100539/https://www.newyorker.com/magazine/2026/07/06/morbid-saul-justin-newman-book-review-eat-your-ice-cream-ezekiel-j-emanuel">Something is very wrong with modern longevity science</a></strong> by Dhruv Khullar</p><p>Okinawans, one of the Blue Zone folks, live long lives not because they lead a special lifestyle but because they likely reported older ages to get postwar benefits. Blue Zones turned out to be more of a business venture than a scientific health study. Instead of chasing longevity secrets, I just try to exercise every day, cook more, spend time with my loved ones, and pursue my interests.</p><p><strong><a href="https://archive.is/20260602151043/https://www.nytimes.com/2026/03/27/opinion/technology-mental-fitness-cognitive.html#selection-4629.0-4629.43">There&#8217;s a Good Reason You Can&#8217;t Concentrate</a></strong> by Cal Newport</p><blockquote><p>A <a href="https://archive.is/o/MtPRD/https://pubmed.ncbi.nlm.nih.gov/41231585/">meta-analysis</a> released last fall showed that consuming short-form video content, as delivered by apps like TikTok and Instagram, is associated with poorer cognition and reduced attention</p></blockquote><p>Cal Newport suggest we read and write more to build our cognitive fitness (which I&#8217;m doing a lot more nowadays if you can tell!) I quit social media earlier this year because I finally admitted it does more harm than good to me. I sometimes miss the latest news but the important ones would always reach me eventually. I&#8217;m even planning to grow my software business without it. Can I? I&#8217;ll let you know how it goes.</p><p><strong><a href="https://yourbrainonmoney.substack.com/p/the-best-financial-advice-i-can-give">The best financial advice I can give you is to sell your car</a></strong> by Hanna Horvath</p><p>In Singapore, a 10-year certificate to own a car, which does not include the car, is about $100,000 USD. Cars are so expensive that my wife and I have hesitated for many years, even though we can afford one and it&#8217;d be much for convenient when commuting with our kids. But not having a car has also helped force us to slow down. Wait for the bus, enjoy the scenery, chit chat along the way.</p>]]></content:encoded></item><item><title><![CDATA[I'm finally wielding magic]]></title><description><![CDATA[I made my wife and me a baby logging app for our daughter]]></description><link>https://letters.alfredlua.com/p/im-finally-wielding-magic</link><guid isPermaLink="false">https://letters.alfredlua.com/p/im-finally-wielding-magic</guid><dc:creator><![CDATA[Alfred Lua]]></dc:creator><pubDate>Thu, 09 Jul 2026 14:50:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!nwup!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6478ba4-1c80-4caf-ba79-4f6bc6ab1a2e_3024x2387.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi, it&#8217;s been a while since I emailed. I have been working through some major life edits in the past few months. I&#8217;ll share them in my future emails. But for now, here&#8217;s an essay about a special project I recently did with Claude Code.</em></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nwup!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6478ba4-1c80-4caf-ba79-4f6bc6ab1a2e_3024x2387.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nwup!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6478ba4-1c80-4caf-ba79-4f6bc6ab1a2e_3024x2387.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nwup!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6478ba4-1c80-4caf-ba79-4f6bc6ab1a2e_3024x2387.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nwup!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6478ba4-1c80-4caf-ba79-4f6bc6ab1a2e_3024x2387.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nwup!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6478ba4-1c80-4caf-ba79-4f6bc6ab1a2e_3024x2387.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nwup!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6478ba4-1c80-4caf-ba79-4f6bc6ab1a2e_3024x2387.jpeg" width="1456" height="1149" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d6478ba4-1c80-4caf-ba79-4f6bc6ab1a2e_3024x2387.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1149,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1587456,&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/206302627?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6478ba4-1c80-4caf-ba79-4f6bc6ab1a2e_3024x2387.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_!nwup!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6478ba4-1c80-4caf-ba79-4f6bc6ab1a2e_3024x2387.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nwup!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6478ba4-1c80-4caf-ba79-4f6bc6ab1a2e_3024x2387.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nwup!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6478ba4-1c80-4caf-ba79-4f6bc6ab1a2e_3024x2387.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nwup!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6478ba4-1c80-4caf-ba79-4f6bc6ab1a2e_3024x2387.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Lately, I have been watching a Japanese anime called Witch Hat Atelier. In it, a girl named Coco dreams of being a witch, but she is not from a witch family. Only born witches and wizards can use magic, she is told. The best she can do is admire from the outside.</p><p>That was how I felt about software for most of my life. I dreamed of being a developer. My developer friends are like magicians to me. They inscribe arcane glyphs on their computers and, poof, create beautiful websites, helpful apps, and handy automations. I love technology but I had always felt powerless against it.</p><p>In my son&#8217;s first year, my wife and I logged his feeds, pee, and poop on paper. Having such a tracker was helpful. But using physical paper? The room would be dark at night, and we could barely see the paper. We had to keep reprinting the sheets. And, oh, where&#8217;s the pen? Even for something so close to home, I couldn&#8217;t pull out a spark of magic from within me to make us an app<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>.</p><p>Maybe the best I can do is admire from the outside? Maybe.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6HQp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b59ccc-dcba-415d-867d-90f13e1adcdb_2048x1438.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6HQp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b59ccc-dcba-415d-867d-90f13e1adcdb_2048x1438.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6HQp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b59ccc-dcba-415d-867d-90f13e1adcdb_2048x1438.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6HQp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b59ccc-dcba-415d-867d-90f13e1adcdb_2048x1438.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6HQp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b59ccc-dcba-415d-867d-90f13e1adcdb_2048x1438.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6HQp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b59ccc-dcba-415d-867d-90f13e1adcdb_2048x1438.jpeg" width="1456" height="1022" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/58b59ccc-dcba-415d-867d-90f13e1adcdb_2048x1438.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1022,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:407478,&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/206302627?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b59ccc-dcba-415d-867d-90f13e1adcdb_2048x1438.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_!6HQp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b59ccc-dcba-415d-867d-90f13e1adcdb_2048x1438.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6HQp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b59ccc-dcba-415d-867d-90f13e1adcdb_2048x1438.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6HQp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b59ccc-dcba-415d-867d-90f13e1adcdb_2048x1438.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6HQp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b59ccc-dcba-415d-867d-90f13e1adcdb_2048x1438.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This year, before my daughter was born, I made us a baby logging app instead. No more scribbling on paper. AI tools like Gemini and Claude Code finally let me turn my product opinions into something real. I could make our own little app, easily and cheaply. Even better, I could customize it exactly to our needs, something generic baby loggers in the App Store could never offer.</p><h2><strong>Meimei &#22969;&#22969;</strong></h2><p>Our app is called Meimei (&#22969;&#22969;, younger sister in Chinese). My wife and I use it more than 20 times every day, and we would be lost without it now.</p><p>It has three sections:</p><ol><li><p>Home: A timeline of her daily logs (feed, activity, poop, pee, sleep)</p></li><li><p>Milk: 7-, 14-, and 28-day charts of her daily milk intake</p></li><li><p>Growth: Her height and weight trend</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_!bUq4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd928fc76-8740-4ebd-a81b-ba4f46596493_1769x1278.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bUq4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd928fc76-8740-4ebd-a81b-ba4f46596493_1769x1278.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bUq4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd928fc76-8740-4ebd-a81b-ba4f46596493_1769x1278.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bUq4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd928fc76-8740-4ebd-a81b-ba4f46596493_1769x1278.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bUq4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd928fc76-8740-4ebd-a81b-ba4f46596493_1769x1278.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bUq4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd928fc76-8740-4ebd-a81b-ba4f46596493_1769x1278.jpeg" width="1456" height="1052" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d928fc76-8740-4ebd-a81b-ba4f46596493_1769x1278.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1052,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:479815,&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/206302627?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd928fc76-8740-4ebd-a81b-ba4f46596493_1769x1278.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_!bUq4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd928fc76-8740-4ebd-a81b-ba4f46596493_1769x1278.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bUq4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd928fc76-8740-4ebd-a81b-ba4f46596493_1769x1278.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bUq4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd928fc76-8740-4ebd-a81b-ba4f46596493_1769x1278.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bUq4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd928fc76-8740-4ebd-a81b-ba4f46596493_1769x1278.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There are also little fun features such as dark mode for night feeds, height and weight percentiles based on WHO&#8217;s Child Growth Standards, and possible sleep regressions and leaps. We don&#8217;t need them, but adding them was fun and easy. I designed them such that they would never get in the way of what actually mattered: logging.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6ICY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F918c6ff9-dd47-4ba0-ae04-561a9defe000_1769x1278.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6ICY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F918c6ff9-dd47-4ba0-ae04-561a9defe000_1769x1278.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6ICY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F918c6ff9-dd47-4ba0-ae04-561a9defe000_1769x1278.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6ICY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F918c6ff9-dd47-4ba0-ae04-561a9defe000_1769x1278.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6ICY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F918c6ff9-dd47-4ba0-ae04-561a9defe000_1769x1278.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6ICY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F918c6ff9-dd47-4ba0-ae04-561a9defe000_1769x1278.jpeg" width="1456" height="1052" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/918c6ff9-dd47-4ba0-ae04-561a9defe000_1769x1278.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1052,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:707109,&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/206302627?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F918c6ff9-dd47-4ba0-ae04-561a9defe000_1769x1278.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_!6ICY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F918c6ff9-dd47-4ba0-ae04-561a9defe000_1769x1278.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6ICY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F918c6ff9-dd47-4ba0-ae04-561a9defe000_1769x1278.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6ICY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F918c6ff9-dd47-4ba0-ae04-561a9defe000_1769x1278.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6ICY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F918c6ff9-dd47-4ba0-ae04-561a9defe000_1769x1278.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Because it&#8217;s our app, we can easily and constantly customize it; not in the sense of toggling various settings but actually editing the code and changing the app. For example, about a month in, my wife and I decided to follow <a href="https://www.amazon.sg/Baby-Whisperer-Solves-Your-Problems/dp/0743488946">Tracy Hogg&#8217;s E.A.S.Y. (Eat. Activity. Sleep. You.) routine</a>. So, I added an Activity log option and reordered the options to the E.A.S.Y. sequence in just a few minutes. (I share more about the technical aspect in the next section.)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4dCV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e3324d4-5d71-42e6-831e-bf70c955a011_1179x339.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4dCV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e3324d4-5d71-42e6-831e-bf70c955a011_1179x339.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4dCV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e3324d4-5d71-42e6-831e-bf70c955a011_1179x339.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4dCV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e3324d4-5d71-42e6-831e-bf70c955a011_1179x339.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4dCV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e3324d4-5d71-42e6-831e-bf70c955a011_1179x339.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4dCV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e3324d4-5d71-42e6-831e-bf70c955a011_1179x339.jpeg" width="1179" height="339" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1e3324d4-5d71-42e6-831e-bf70c955a011_1179x339.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:339,&quot;width&quot;:1179,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:114025,&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/206302627?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e3324d4-5d71-42e6-831e-bf70c955a011_1179x339.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_!4dCV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e3324d4-5d71-42e6-831e-bf70c955a011_1179x339.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4dCV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e3324d4-5d71-42e6-831e-bf70c955a011_1179x339.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4dCV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e3324d4-5d71-42e6-831e-bf70c955a011_1179x339.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4dCV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e3324d4-5d71-42e6-831e-bf70c955a011_1179x339.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Something I&#8217;m proud of is that Meimei loads instantly on launch. Most apps nowadays take a few seconds to load. How has that become acceptable? At 3 a.m., after a night feed, I just want to get back to sleep. Those few seconds feel like minutes.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;97e9422d-8021-4e17-890f-2630ba14db76&quot;,&quot;duration&quot;:null}"></div><p>(<em>It&#8217;s technically unfair to compare my simple app with complex apps like Notion and Obsidian. This comparison is just to show how much of a difference it can be.</em>)</p><p>More than a logging app, Meimei has been a great communication tool between my wife and me. We don&#8217;t have to frustrate each other with endless &#8220;when was the last feed?&#8221; or &#8220;when did she wake up?&#8221; because the information is all in the app. In the first few months, we took turns looking after our daughter for half the night each. The person on the second shift could know how the first half went by checking the app. The person on the first shift could head to bed without having to hand over.</p><p>Looking back, I&#8217;m amazed we made do with the printed tables for our son. They feel so primitive to us now. Of course, paper is not always bad. I still use paper notebooks. But this is a good example of how technology can improve our lives when used right.</p><h2><strong>The magic</strong></h2><p><em>(This section is technical. Feel free to skip ahead if you are not interested.)</em></p><p>I initially made this app with <a href="https://booplet.com/">Booplet</a>, an AI app builder by my former cofounder SK and I. But after we paused the project, my baby logging app kept having issues and took a long time to load. That pushed me to rebuild it with Claude Code.</p><p>This is the tech stack I used:</p><ul><li><p>NextJS for the frontend and app logic</p></li><li><p>Supabase for the user authentication, database, realtime, and storage</p></li><li><p>Vercel for hosting and deployment</p></li><li><p>Cursor and Claude Code for coding</p></li></ul><p>Within an afternoon, I managed to get a rough yet functional version up for my wife and me to use. At first, I tried generating a coding prompt with Gemini by providing multiple screenshots of the original app and explaining thoroughly what the app does. But Gemini generated a prompt that was rather outdated and probably unnecessary for Claude Code (&#8221;Act as a Principal Frontend Engineer...&#8221;). Using Claude Code for both the planning and implementation felt better. I had already used Supabase and Vercel for multiple projects in the past, so I was comfortable using them and could set them up relatively quickly. I also added a button in the original app to export the data as a JSON file, so I could import it into my new app.</p><p>In the following few days, I fixed the bugs and styled the app mostly with the Claude iOS app on my phone while I was out and about. For simple changes such as changing the default feed amount, I directly edited the code with the GitHub iOS app. Whenever I pushed a change, Vercel automatically deployed it, which made working on my phone a breeze. I have edited Meimei several times <em>while</em> feeding my daughter in the middle of the night.</p><p>I made Meimei a web app, instead of a native iOS app, because going through the App Store process felt like too much hassle and I didn&#8217;t need any native features<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>. I also made it a Progressive Web App (PWA), which feels just like a native mobile app.</p><p>Meimei loads fast thanks to the local-first approach. The app and cached data load instantly on launch while the app fetches any new data in the background, which usually takes less than a second (Stale-While-Revalidate). When a new activity is added, it (technically a temporary entry) appears instantly in the app even before it is added to the database (optimistic update). When the entry is successfully added to the database, the app will reconcile the local and database data, ensuring there&#8217;s no duplicates or omissions (conflict resolution).</p><p>Even though it&#8217;s an app only for my wife and me, I built it as though others would use it, as a practice for building products. Also, since multiple people use it on different devices, it can&#8217;t be entirely local on my computer. This means things like security and privacy are essential, too. For example, only users in a family can access and edit the same data and cached data is wiped on logout.</p><p>All I paid was a $30 Claude subscription, which I also used for other projects.</p><h2><strong>Learning from reality</strong></h2><p>I thought I knew exactly what the app should have. After all, I spent years shaping products at startups, I was building the app for us, and my wife and I had been through this newborn phase before. But the initial app didn&#8217;t work well for how we actually used it or what we actually wanted. Our preferences and behavior only became apparent after our daughter was born and we started using the app.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Nojf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d858d5-f9fe-416b-b999-053030e03c21_1180x1278.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Nojf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d858d5-f9fe-416b-b999-053030e03c21_1180x1278.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Nojf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d858d5-f9fe-416b-b999-053030e03c21_1180x1278.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Nojf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d858d5-f9fe-416b-b999-053030e03c21_1180x1278.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Nojf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d858d5-f9fe-416b-b999-053030e03c21_1180x1278.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Nojf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d858d5-f9fe-416b-b999-053030e03c21_1180x1278.jpeg" width="1180" height="1278" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/22d858d5-f9fe-416b-b999-053030e03c21_1180x1278.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1278,&quot;width&quot;:1180,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:360105,&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/206302627?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d858d5-f9fe-416b-b999-053030e03c21_1180x1278.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_!Nojf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d858d5-f9fe-416b-b999-053030e03c21_1180x1278.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Nojf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d858d5-f9fe-416b-b999-053030e03c21_1180x1278.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Nojf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d858d5-f9fe-416b-b999-053030e03c21_1180x1278.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Nojf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22d858d5-f9fe-416b-b999-053030e03c21_1180x1278.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>For instance, I thought logging activities with one tap would be a helpful shortcut. For example, I could tap &#8220;Wet&#8221; and get a log with the current time on the timeline immediately. But it turns out, well, I can&#8217;t press a button while changing a diaper. So we have been logging after the fact. Despite it being a &#8220;shortcut&#8221;, I had to tap &#8220;Wet&#8221;, get the log, tap to edit the log, change the time, and tap &#8220;Save&#8221;. Eventually, I changed the logging flow to show the new log modal and set the time to the current time, which I could easily change.</p><p>The initial app, with its timeline of logs, was just a digital version of our printed sheets. Besides being more portable, it wasn&#8217;t that much more helpful than paper. When I noticed my wife and I were constantly doing mental arithmetic (When&#8217;s her next feed? How long has she been up? How much did she drink each day?), I realized the app could easily automate the calculations and surface more helpful information at a glance. These features were trivial to add yet offered the most value. This reminded me that valuable features don&#8217;t always have to be complex or hard to build.</p><p>There were also small details that weren&#8217;t apparent until we started using the app. For instance, if I log the start of a sleep last night and I open the app again this morning at 2 a.m., should the incomplete log from yesterday appear in today&#8217;s timeline? My answer is yes. It&#8217;s a cross-day log, which technically falls on the new day too. And from a user experience&#8217;s point of view, it&#8217;s easier to set the end time without having to navigate to the previous day.</p><p>As powerful as AI coding tools are, they weren&#8217;t always thoughtful about such user experiences unless I prompted them specifically (though this could change in the future). But on the other hand, because it&#8217;s so easy and cheap to add new features to the app, I could have easily bloated it if I were not intentional. Product taste becomes doubly important as coding becomes easier. What to cut feels as critical as what to include.</p><h2><strong>Wielding magic</strong></h2><p>In a world where magic is reserved for those born into witch families, Coco finds another way to be a witch. It isn&#8217;t a path the insiders approve of. But Coco eventually proves that magic isn&#8217;t meant to be a guarded possession but a tool for everyone. Her master, Qifrey, believes the fundamental purpose of magic is to bring joy, help people in their everyday lives, and create a shred of hope.</p><p>I feel the same about software.</p><p>My journey has taken more than a decade. Many years of trying and giving up to finally feeling confident enough to Google for help and read Stack Overflow, to abandoning WordPress and coding my personal site with Lee Robinson&#8217;s videos, to creating websites and testing our products while working with SK, to now making apps with AI.</p><p>While I made several little apps such as <a href="https://augment-notes.vercel.app/">Augment Notes</a>, <a href="https://app.tryalfie.com/signin">Alfie</a>, and <a href="https://alfredlua.com/magic-blocks">Magic Blocks</a>, nobody actually used and liked them<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a>. Myself included! Meimei is the first app I made myself that has brought joy, helped people (my wife and me!) every day, and made me feel ever hopeful about technology.</p><p>I&#8217;m finally wielding magic.</p><div><hr></div><p>If you&#8217;d like to read more essays like this on making personal software with or without AI, here are some of my favorites:</p><ol><li><p>Robin Sloan&#8217;s <a href="https://www.robinsloan.com/notes/home-cooked-app/">An app can be a home-cooked meal</a></p></li><li><p>Julie Zhuo&#8217;s <a href="https://lg.substack.com/p/some-people-like-restoring-vintage">How life was different during the early Internet</a></p></li><li><p>Craig Mod&#8217;s <a href="https://craigmod.com/essays/software_bonkers/">Software Bonkers</a></p></li></ol><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>We didn't even consider looking for apps on the App Store probably because we assumed they would be all paid apps, we didn't want to enter our baby's information into someone else's server, or we were too tired. Or all of the above.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>The one thing that annoys me is that the activity time picker, which uses the iOS time-picker sheet from UIKit, only respects the OS-level dark mode. I could roll my custom time picker but it felt unnecessary.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>When I was working with SK on our startup, he built the products, such as Pebblely, Dashibase, and Booplet.</p><p></p></div></div>]]></content:encoded></item><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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This 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},&quot;source&quot;:null,&quot;forumChannel&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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I 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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div></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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I 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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol start="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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol start="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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol start="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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This 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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>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},&quot;source&quot;:null,&quot;forumChannel&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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">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},&quot;source&quot;:null,&quot;forumChannel&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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div></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;embedding_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;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;,&quot;source&quot;:null}" 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;embedding_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;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;,&quot;source&quot;:null}" 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;embedding_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;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;,&quot;source&quot;:null}" 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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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;showDescription&quot;:true,&quot;showImage&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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>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;showDescription&quot;:true,&quot;showImage&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;showDescription&quot;:true,&quot;showImage&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;showDescription&quot;:true,&quot;showImage&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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This 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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">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;showDescription&quot;:true,&quot;showImage&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;showDescription&quot;:true,&quot;showImage&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;showDescription&quot;:true,&quot;showImage&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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I 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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>While 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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><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;showDescription&quot;:true,&quot;showImage&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;showDescription&quot;:true,&quot;showImage&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;showDescription&quot;:true,&quot;showImage&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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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;showDescription&quot;:true,&quot;showImage&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;showDescription&quot;:true,&quot;showImage&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;showDescription&quot;:true,&quot;showImage&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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The 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;showDescription&quot;:true,&quot;showImage&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;showDescription&quot;:true,&quot;showImage&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;showDescription&quot;:true,&quot;showImage&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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I 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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><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},&quot;source&quot;:null,&quot;forumChannel&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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>While 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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><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;showDescription&quot;:true,&quot;showImage&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;showDescription&quot;:true,&quot;showImage&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;showDescription&quot;:true,&quot;showImage&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></channel></rss>