<?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[Tony Dinh's Newsletter]]></title><description><![CDATA[Monthly updates about my indie hacking journey, what I have built and learned.]]></description><link>https://news.tonydinh.com</link><image><url>https://substackcdn.com/image/fetch/$s_!pbR0!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb71642-2c8a-4280-bc78-5b9a53eba457_512x512.png</url><title>Tony Dinh&apos;s Newsletter</title><link>https://news.tonydinh.com</link></image><generator>Substack</generator><lastBuildDate>Thu, 30 Apr 2026 08:57:30 GMT</lastBuildDate><atom:link href="https://news.tonydinh.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Tony Dinh]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[tdinh@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[tdinh@substack.com]]></itunes:email><itunes:name><![CDATA[Tony Dinh]]></itunes:name></itunes:owner><itunes:author><![CDATA[Tony Dinh]]></itunes:author><googleplay:owner><![CDATA[tdinh@substack.com]]></googleplay:owner><googleplay:email><![CDATA[tdinh@substack.com]]></googleplay:email><googleplay:author><![CDATA[Tony Dinh]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[I'm building a new email client]]></title><description><![CDATA[And other updates from me in November 2025]]></description><link>https://news.tonydinh.com/p/im-building-a-new-email-client</link><guid isPermaLink="false">https://news.tonydinh.com/p/im-building-a-new-email-client</guid><dc:creator><![CDATA[Tony Dinh]]></dc:creator><pubDate>Thu, 27 Nov 2025 04:00:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hx6U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcec99ca6-d209-480a-8abf-5b425abbdea5_960x1280.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello everyone! It&#8217;s Tony again with another update.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hx6U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcec99ca6-d209-480a-8abf-5b425abbdea5_960x1280.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hx6U!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcec99ca6-d209-480a-8abf-5b425abbdea5_960x1280.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hx6U!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcec99ca6-d209-480a-8abf-5b425abbdea5_960x1280.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hx6U!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcec99ca6-d209-480a-8abf-5b425abbdea5_960x1280.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hx6U!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcec99ca6-d209-480a-8abf-5b425abbdea5_960x1280.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hx6U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcec99ca6-d209-480a-8abf-5b425abbdea5_960x1280.jpeg" width="960" height="1280" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cec99ca6-d209-480a-8abf-5b425abbdea5_960x1280.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1280,&quot;width&quot;:960,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:175412,&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://news.tonydinh.com/i/180070954?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcec99ca6-d209-480a-8abf-5b425abbdea5_960x1280.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_!hx6U!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcec99ca6-d209-480a-8abf-5b425abbdea5_960x1280.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hx6U!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcec99ca6-d209-480a-8abf-5b425abbdea5_960x1280.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hx6U!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcec99ca6-d209-480a-8abf-5b425abbdea5_960x1280.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hx6U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcec99ca6-d209-480a-8abf-5b425abbdea5_960x1280.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">At the <a href="https://www.hackerresidencygroup.com/">Hacker Residency</a></figcaption></figure></div><p>As you may already know, I&#8217;ve been <a href="https://x.com/tdinh_me/status/1398297136999976962?s=20">talking</a> about building an email app for at least 3 years now.</p><p>For the past year, I&#8217;ve been experimenting with a few prototypes. I have been using the app myself for the past year, and have shown it to a few of my friends for feedback.</p><p>I have finally made up my mind about how I want the email app to work. In the spirit of ship early, ship frequently, I&#8217;m going to release a public beta version.</p><h2>Why build a new email client?</h2><p>Have you ever noticed that most of your emails these days are not from people anymore? They are mostly automated updates, notifications, promotions, or OTP from companies and services.</p><p>The way we use email has changed, but the email clients we use have not.</p><p>I&#8217;m obsessed with productivity. It&#8217;s the same type of obsession that made me create DevUtils, TypingMind, Xnapper, BlackMagic, basically all of my products. I always want to squeeze the last few seconds I can from everything I do, and I use emails every day.</p><p>I feel like there is a lot I can do to make my day-to-day interaction with emails more efficient, especially in the AI era.</p><p>That&#8217;s why I&#8217;m building this new email client. I&#8217;ll call it &#8220;Midday&#8221;. This is what the latest prototype looks like:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!s47U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74505f2f-575b-48fa-ae33-cef2be2b4890_2225x1383.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!s47U!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74505f2f-575b-48fa-ae33-cef2be2b4890_2225x1383.png 424w, https://substackcdn.com/image/fetch/$s_!s47U!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74505f2f-575b-48fa-ae33-cef2be2b4890_2225x1383.png 848w, https://substackcdn.com/image/fetch/$s_!s47U!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74505f2f-575b-48fa-ae33-cef2be2b4890_2225x1383.png 1272w, https://substackcdn.com/image/fetch/$s_!s47U!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74505f2f-575b-48fa-ae33-cef2be2b4890_2225x1383.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!s47U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74505f2f-575b-48fa-ae33-cef2be2b4890_2225x1383.png" width="1456" height="905" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/74505f2f-575b-48fa-ae33-cef2be2b4890_2225x1383.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:905,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:907248,&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://news.tonydinh.com/i/180070954?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74505f2f-575b-48fa-ae33-cef2be2b4890_2225x1383.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_!s47U!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74505f2f-575b-48fa-ae33-cef2be2b4890_2225x1383.png 424w, https://substackcdn.com/image/fetch/$s_!s47U!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74505f2f-575b-48fa-ae33-cef2be2b4890_2225x1383.png 848w, https://substackcdn.com/image/fetch/$s_!s47U!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74505f2f-575b-48fa-ae33-cef2be2b4890_2225x1383.png 1272w, https://substackcdn.com/image/fetch/$s_!s47U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74505f2f-575b-48fa-ae33-cef2be2b4890_2225x1383.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I plan to release the first public beta sometime in December.</p><p>It doesn&#8217;t have all the features yet, so if you can&#8217;t replace all of your email usage with Midday. For example, I&#8217;m currently using both Midday and my previous email client in parallel.</p><p>If you are interested and want to give it a try, sign up for <a href="https://forms.gle/eXN63nDRjoyqK51p7">the waitlist here</a>, and I&#8217;ll send out the beta version soon!</p><h2>My Black Friday deals</h2><p>Every year, I discount all of my products on Black Friday (I explained why in a <a href="https://news.tonydinh.com/p/why-i-run-black-friday-deals-things?utm_source=publication-search">previous post</a>). This year is no exception.</p><p>If you want to buy of gift any of my products to a friend, here is the chance!</p><ul><li><p><a href="https://www.typingmind.com/">TypingMind</a>: 60% on the premium license</p></li><li><p><a href="https://devutils.com">DevUtils</a>: 50% off</p></li><li><p><a href="https://image.social/">Image.Social</a>: 50% off subscription (lock in the price forever)</p></li><li><p><a href="https://www.myindiebook.com/">MyIndieBook</a>: now $9</p></li></ul><p>Other than this, I have also curated a list of some cool Black Friday deals in a GitHub repo. It now has more than 350 deals. Check it out!</p><p><a href="https://github.com/trungdq88/Awesome-Black-Friday-Cyber-Monday">https://github.com/trungdq88/Awesome-Black-Friday-Cyber-Monday</a></p><h2>The Hacker Residency in Da Nang</h2><p>For the whole month of November, I&#8217;ve been working at the <a href="https://www.hackerresidencygroup.com/">Hacker Residency</a>, and it&#8217;s a lot of fun!</p><p>I&#8217;ve had more human interactions in November than the entire year combined (which is not a lot). It has become a core memory of my indie journey. Both Ann (my wife) and I love it.</p><div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6561a73f-a27d-47f6-9ef4-92ccb34620a5_1280x960.jpeg&quot;},{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c467a40b-384c-44a3-859e-4c68040a6c27_1280x960.jpeg&quot;},{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1e48a27a-8524-4361-b53c-f970c98e591e_1280x695.jpeg&quot;},{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4bc5a765-74bf-4472-99cf-cc0f1261b733_960x1280.jpeg&quot;},{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f91d144a-7feb-4b18-aedd-78a80fc98600_960x1280.jpeg&quot;},{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/89d16ca9-022b-4cbe-a6ad-92a010cf29bb_729x1280.jpeg&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/9032501c-b588-41d4-8949-239841afc650_1456x964.png&quot;}},&quot;isEditorNode&quot;:true}"></div><p></p><p>The program is still going on for another 2 days with a big demo day on 29th November. You can check out <a href="https://x.com/HackerResidency">HRG&#8217;s X account</a> to see the activities in real-time.</p><p>I&#8217;d love to share more about the whole thing in more detail in the next newsletter issue.</p><h2>That&#8217;s all for now!</h2><p>Thank you for reading and see you again soon!</p>]]></content:encoded></item><item><title><![CDATA[Oct 2025 Updates: Code, Money, and Travel]]></title><description><![CDATA[A quick update on my indie journey!]]></description><link>https://news.tonydinh.com/p/oct-2025-updates-code-money-and-travel</link><guid isPermaLink="false">https://news.tonydinh.com/p/oct-2025-updates-code-money-and-travel</guid><dc:creator><![CDATA[Tony Dinh]]></dc:creator><pubDate>Thu, 09 Oct 2025 04:51:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1TRF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98090dcf-d26e-47b1-843e-79890be948b2_2048x1536.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello everyone! It&#8217;s Tony again.</p><p>In the past few months, I&#8217;ve been head down working on my product TypingMind and traveling/surfing. I want to share some updates with you.</p><h2>So many things to do</h2><p>I&#8217;m in love with building with AI.</p><p>I feel extremely lucky to have created TypingMind, a product that allowed me to both work on things I love (building software) and stay in touch with the AI trends.</p><p>Since the beginning of this year, I have added so many cool features to TypingMind:</p><ul><li><p><a href="https://feedback.typingmind.com/changelog/multi-model-chat-updates">Multi-model (Parallel chat mode)</a></p></li><li><p><a href="https://feedback.typingmind.com/changelog/background-mode">Background Mode</a></p></li><li><p><a href="https://x.com/TypingMindApp/status/1883884980067303742">Thinking Mode</a></p></li><li><p><a href="https://x.com/TypingMindApp/status/1902006304484540753">Knowledge Base (RAG)</a></p></li><li><p>Support so many new models, improvements, and bug fixes.</p></li></ul><p>My goal is to make TypingMind <strong>the best chat app for LLM models</strong> so people can chat with AI models with more freedom and features. There is still so much more I want to do to achieve 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_!1TRF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98090dcf-d26e-47b1-843e-79890be948b2_2048x1536.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1TRF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98090dcf-d26e-47b1-843e-79890be948b2_2048x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1TRF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98090dcf-d26e-47b1-843e-79890be948b2_2048x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1TRF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98090dcf-d26e-47b1-843e-79890be948b2_2048x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1TRF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98090dcf-d26e-47b1-843e-79890be948b2_2048x1536.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1TRF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98090dcf-d26e-47b1-843e-79890be948b2_2048x1536.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98090dcf-d26e-47b1-843e-79890be948b2_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;:true,&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_!1TRF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98090dcf-d26e-47b1-843e-79890be948b2_2048x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1TRF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98090dcf-d26e-47b1-843e-79890be948b2_2048x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1TRF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98090dcf-d26e-47b1-843e-79890be948b2_2048x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1TRF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98090dcf-d26e-47b1-843e-79890be948b2_2048x1536.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Shipping from Bali, Indonesia</figcaption></figure></div><p>On the business side, TypingMind is making ~$130-160k/month, and the recurring revenue from the B2B <a href="https://custom.typingmind.com">Team version</a> has exceeded 50% of the monthly revenue. So I&#8217;m no longer dependent on the one-time purchase of the personal version.</p><p>Most of my sales are from word-of-mouth. I&#8217;ve been attempting other marketing channels from time to time, but so far, nothing has worked for me. In my latest paid ad campaign, I&#8217;ve spent $600 so far, resulting in only 2 conversions.</p><p>I really suck at marketing in general, but I&#8217;m not worried too much about it. I believe that if I can make an exceptionally good product and have a decent initial user base, customers will come naturally.</p><h2>Financially independent</h2><p>It&#8217;s crazy to think about this, but my little weekend project, TypingMind, has helped me reach financial independence for the past 2 years.</p><p>When I first reached $5,000/month in 2022 from my previous product, Black Magic, I thought I was free, so I started spending more time traveling, pursuing other interests, and cutting my working hours to an enjoyable amount (~4 hours a day).</p><p>However, I was only partially &#8220;free&#8221;. $5,000/month is a good income, but I knew I still had to continue to work for money in order to keep that income level and sustain my lifestyle. The pressure was still there.</p><p>I told everyone that I build software because I love doing it, but because of that ever-present pressure, I wasn&#8217;t so sure if I truly love it or because I was afraid of losing my only income.</p><p>But now I do.</p><p>With TypingMind making more than $1M a year, I now have an option to stop working entirely and live off my investment interest. My lifestyle is not very expensive and has not changed much since I started traveling.</p><p>I have been conditioned to play the &#8220;money-making game&#8221; since I was born, so whenever money is involved, it&#8217;s hard to honestly tell what I really want. I could only rely on observing my actions, what I do, not what I think or say.</p><p>I&#8217;ve been creating software since I was 15, so that&#8217;s one data point. Now that I have reached financial independence and gotten out of the game for a while, I&#8217;m still passionate about creating software and writing code every day. That&#8217;s another strong data point. I think I&#8217;m finally at peace with myself about my true passion, and I should embrace it.</p><p>The funny thing about this, when I follow my passion and create new, useful things for the world, it usually rewards me with more money. It is fortunate (or unfortunate?) that money today is the most reliable metric to measure your net contribution to the world.</p><p>So at the end of the day, you will still see me making more money and can judge how hypocritical or greedy I am.</p><p>One thing I know for sure is that I enjoy making money from my creations much more than from my investments. I&#8217;m now more dedicated than ever to make TypingMind the best software ever for AI chat and maybe create more new products soon!</p><h2>Travel around</h2><p>My wife and I are on a trip around the world. We visited more places this year than in our entire passport history: Korea, Taiwan, France, Switzerland, Spain, Australia, etc.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6Oi9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f4e8a7-673e-416e-b90f-d1a4953acc86_2000x1500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6Oi9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f4e8a7-673e-416e-b90f-d1a4953acc86_2000x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6Oi9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f4e8a7-673e-416e-b90f-d1a4953acc86_2000x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6Oi9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f4e8a7-673e-416e-b90f-d1a4953acc86_2000x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6Oi9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f4e8a7-673e-416e-b90f-d1a4953acc86_2000x1500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6Oi9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f4e8a7-673e-416e-b90f-d1a4953acc86_2000x1500.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f9f4e8a7-673e-416e-b90f-d1a4953acc86_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;:1542948,&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://news.tonydinh.com/i/175676698?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f4e8a7-673e-416e-b90f-d1a4953acc86_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_!6Oi9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f4e8a7-673e-416e-b90f-d1a4953acc86_2000x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6Oi9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f4e8a7-673e-416e-b90f-d1a4953acc86_2000x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6Oi9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f4e8a7-673e-416e-b90f-d1a4953acc86_2000x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6Oi9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f4e8a7-673e-416e-b90f-d1a4953acc86_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Nazare, Portugal</figcaption></figure></div><p>Everywhere we go, other than coding, we try to find a surf town and surf there. It&#8217;s actually a great way to spend the time in each country, as we get to experience a more authentic experience as a local compared to the busy mainstream tourist cities.</p><p>So far, I&#8217;m most impressed with the beautiful nature of Switzerland, the over-expectation food experience in San Sebastian (Spain), and the amazing waves of Bali (Indonesia).</p><p>I started reading about history recently, and traveling around really makes the experience so much better. I was able to connect the things I read with the things I see.</p><p>My purpose in life now is to explore, gain new knowledge (for me), and create new things (for the world).</p><h2>Hacker Residency in Da Nang</h2><p>Just by pure chance, I met with <a href="https://x.com/dayonefoundry">David</a> and <a href="https://x.com/transitive_bs">Travis</a> in Da Nang, Vietnam, earlier this year, and both are very passionate about the idea of a hacker residency full of indie hackers. I have always been passionate about inspiring more people to become indie hackers, so I joined and supported the project in every way I could.</p><p>Together with <a href="https://x.com/phuctm97">Phuc</a>, the four of us (mostly led by Travis) decided to run an experiment: a 1-month <a href="https://www.hackerresidencygroup.com/">Hacker Residency in Da Nang City</a>. We rented a beautiful villa and invited 10 indie hackers over to build products.</p><p>Our goal is to raise awareness about the alternate path to building a startup and to inspire more people to become indie hackers. The secondary goal is to see some successful products out of this experiment, in which case, we may be able to do this again every year or so!</p><p>This will happen in November 2025. I&#8217;m excited to see how this turns out.</p><h2>That&#8217;s all for now!</h2><p>I will try my best to write more often, but sometimes I have doubts that this is really useful, or am I just rambling?</p><p>If you could just let me know if this helped you in some way (by like/comment below), it would help a lot!</p><p>I&#8217;ll see you in the next ones!</p>]]></content:encoded></item><item><title><![CDATA[Jun 2025 update: Finishing my book]]></title><description><![CDATA[I've been working on my indie book, and it's almost ready!]]></description><link>https://news.tonydinh.com/p/jun-2025-update-finishing-my-book</link><guid isPermaLink="false">https://news.tonydinh.com/p/jun-2025-update-finishing-my-book</guid><dc:creator><![CDATA[Tony Dinh]]></dc:creator><pubDate>Sun, 15 Jun 2025 09:28:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a21d85-c4a2-4eca-a01c-0184c2cf6dc0_1200x1553.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi everyone! It&#8217;s Tony again.</p><p>If you&#8217;ve been following this newsletter for a while, maybe you&#8217;ll remember that in October 2022, I shared that I want to write a book about indie hacking:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IJcu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b451fef-25c4-43ce-ad78-7d66b08f575d_1600x659.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IJcu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b451fef-25c4-43ce-ad78-7d66b08f575d_1600x659.png 424w, https://substackcdn.com/image/fetch/$s_!IJcu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b451fef-25c4-43ce-ad78-7d66b08f575d_1600x659.png 848w, https://substackcdn.com/image/fetch/$s_!IJcu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b451fef-25c4-43ce-ad78-7d66b08f575d_1600x659.png 1272w, https://substackcdn.com/image/fetch/$s_!IJcu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b451fef-25c4-43ce-ad78-7d66b08f575d_1600x659.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IJcu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b451fef-25c4-43ce-ad78-7d66b08f575d_1600x659.png" width="1456" height="600" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4b451fef-25c4-43ce-ad78-7d66b08f575d_1600x659.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:600,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:291718,&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://news.tonydinh.com/i/165986058?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b451fef-25c4-43ce-ad78-7d66b08f575d_1600x659.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_!IJcu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b451fef-25c4-43ce-ad78-7d66b08f575d_1600x659.png 424w, https://substackcdn.com/image/fetch/$s_!IJcu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b451fef-25c4-43ce-ad78-7d66b08f575d_1600x659.png 848w, https://substackcdn.com/image/fetch/$s_!IJcu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b451fef-25c4-43ce-ad78-7d66b08f575d_1600x659.png 1272w, https://substackcdn.com/image/fetch/$s_!IJcu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b451fef-25c4-43ce-ad78-7d66b08f575d_1600x659.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Well, guess what, I&#8217;m finally finishing it.</p><p>It takes much longer than I expected, but I'm glad I'm finally here.</p><p>After a long time of procrastinating and doubting myself whether I would provide any value to other people with this book, I have finally decided to give myself a deadline:</p><p><strong>Official book release: July 2025</strong> (it&#8217;s next month)</p><p>I&#8217;ve been thinking for a long time about whether to write a book or not, but I&#8217;ll spare you from all the meta rambling about my impostor feeling and reasons (I&#8217;ll just put that as a special chapter at the end of the book instead, in case you are curious).</p><p>All you need to know for now is that I&#8217;ll finish it sometime this July.</p><h2>What is the book about?</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KoHW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a21d85-c4a2-4eca-a01c-0184c2cf6dc0_1200x1553.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KoHW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a21d85-c4a2-4eca-a01c-0184c2cf6dc0_1200x1553.png 424w, https://substackcdn.com/image/fetch/$s_!KoHW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a21d85-c4a2-4eca-a01c-0184c2cf6dc0_1200x1553.png 848w, https://substackcdn.com/image/fetch/$s_!KoHW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a21d85-c4a2-4eca-a01c-0184c2cf6dc0_1200x1553.png 1272w, https://substackcdn.com/image/fetch/$s_!KoHW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a21d85-c4a2-4eca-a01c-0184c2cf6dc0_1200x1553.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KoHW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a21d85-c4a2-4eca-a01c-0184c2cf6dc0_1200x1553.png" width="454" height="587.5516666666666" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/68a21d85-c4a2-4eca-a01c-0184c2cf6dc0_1200x1553.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1553,&quot;width&quot;:1200,&quot;resizeWidth&quot;:454,&quot;bytes&quot;:40832,&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://news.tonydinh.com/i/165986058?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a21d85-c4a2-4eca-a01c-0184c2cf6dc0_1200x1553.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_!KoHW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a21d85-c4a2-4eca-a01c-0184c2cf6dc0_1200x1553.png 424w, https://substackcdn.com/image/fetch/$s_!KoHW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a21d85-c4a2-4eca-a01c-0184c2cf6dc0_1200x1553.png 848w, https://substackcdn.com/image/fetch/$s_!KoHW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a21d85-c4a2-4eca-a01c-0184c2cf6dc0_1200x1553.png 1272w, https://substackcdn.com/image/fetch/$s_!KoHW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a21d85-c4a2-4eca-a01c-0184c2cf6dc0_1200x1553.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The book is essentially my entire indie story from the very beginning, mixed with all the lessons about indie hacking I learned along the way in between.</p><p>It also has a second part (I called it &#8220;<strong>Coffee Chats</strong>") where I discuss other topics related to indie hacking, like how to get ideas, validate ideas, build products fast, do marketing, build distribution channels, etc.</p><p>In short, I want to document everything I know about indie hacking into one central place. I also want to tell my story again one last time in a coherent and complete way, and tell it in a way that&#8217;s helpful and inspiring to others.</p><p>I want to raise awareness of &#8220;indie hacking&#8221; to more people in the general public and contribute my success story as a case study for the community. I hope to see more indie hackers, so I have more friends.</p><h2>Help me read the draft</h2><p>You can now pre-order the book at <a href="https://www.myindiebook.com">www.myindiebook.com</a> for only $24.</p><p>After pre-order, you will receive a survey link with some questions that will help me shape the book to be more useful.</p><p>You can also opt in to read the preview version!</p><p>For the past months, I&#8217;ve sent out the early draft of the book to some friends for feedback (thanks to them, I rewrote and restructured the book at least 2 times)</p><p>It&#8217;s now at a state where I&#8217;m more comfortable letting more people read the preview version and share feedback.</p><p>I&#8217;ll send out the preview version by the end of next week, so if you <strong>pre-order before 21st June</strong> <strong>and submit the post-purchase survey</strong> (sent in your email), you&#8217;ll receive the book preview version in your inbox by 22nd June 2025.</p><p>The official release is still scheduled to be in sometime July 2025. There are still a lot of chapters I haven&#8217;t finished yet, a lot of writing to be done, but I&#8217;m confident that I&#8217;ll launch the product in time.</p><h2>That&#8217;s all for now!</h2><p>I&#8217;m really excited to finally finish the book.</p><p>If you opt in to read the draft, I can&#8217;t wait to hear your feedback about the content before officially releasing it.</p><p>See you again soon!</p><p>Tony</p>]]></content:encoded></item><item><title><![CDATA[Late promotion update]]></title><description><![CDATA[Hi everyone!]]></description><link>https://news.tonydinh.com/p/late-promotion-update</link><guid isPermaLink="false">https://news.tonydinh.com/p/late-promotion-update</guid><dc:creator><![CDATA[Tony Dinh]]></dc:creator><pubDate>Tue, 03 Dec 2024 08:39:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!mIrw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f620247-64d9-487a-aaaf-e88e2cc05726_1024x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi everyone! It&#8217;s Tony with a quick update &#128075;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mIrw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f620247-64d9-487a-aaaf-e88e2cc05726_1024x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mIrw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f620247-64d9-487a-aaaf-e88e2cc05726_1024x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mIrw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f620247-64d9-487a-aaaf-e88e2cc05726_1024x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mIrw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f620247-64d9-487a-aaaf-e88e2cc05726_1024x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mIrw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f620247-64d9-487a-aaaf-e88e2cc05726_1024x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mIrw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f620247-64d9-487a-aaaf-e88e2cc05726_1024x768.jpeg" width="1024" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7f620247-64d9-487a-aaaf-e88e2cc05726_1024x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:326921,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mIrw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f620247-64d9-487a-aaaf-e88e2cc05726_1024x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mIrw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f620247-64d9-487a-aaaf-e88e2cc05726_1024x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mIrw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f620247-64d9-487a-aaaf-e88e2cc05726_1024x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mIrw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f620247-64d9-487a-aaaf-e88e2cc05726_1024x768.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Following the tradition, I discount all of my products on Black Friday / Cyber Monday every year.</p><p>If you or your friends have been waiting to get a license for&nbsp;<strong><a href="https://www.typingmind.com">TypingMind</a>,&nbsp;</strong>now is the only chance of the year you can get the Premium license for only&nbsp;<strong>$89. </strong>The premium license unlocks all advanced features and comes with <strong>free lifetime updates!</strong></p><p><strong><a href="https://www.typingmind.com">Get TypingMind Premium License</a>  </strong>(Use code BLACKFRIDAY2024)</p><p>I&#8217;ve been too busy to send this announcement in my personal newsletter, so I have extended the discount for another <strong>48 hours</strong>. Cheers!</p><p>The same offer for my other product <strong><a href="https://devutils.com">DevUtils</a></strong> (use BLACKFRIDAY_2024 discount code at checkout)</p><p>That&#8217;s all for now! See you again in my next updates.</p><p>Wish you all a wonderful December!</p><p>Best,</p>]]></content:encoded></item><item><title><![CDATA[Nov 2024: My first million!]]></title><description><![CDATA[$1M in annual revenue, B2B sales, SOC 2, resellers, grow team, and other updates in November 2024.]]></description><link>https://news.tonydinh.com/p/nov-2024-my-first-million</link><guid isPermaLink="false">https://news.tonydinh.com/p/nov-2024-my-first-million</guid><dc:creator><![CDATA[Tony Dinh]]></dc:creator><pubDate>Fri, 22 Nov 2024 04:35:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1TWz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e4791c0-561a-4940-b273-047665614ff0_1500x1524.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello everyone, it&#8217;s Tony again &#128075;</p><p>I haven&#8217;t written much for this newsletter in a while, mainly because the past few months have been uneventful.</p><p>Today, I checked our PnL and found that <a href="https://www.typingmind.com">TypingMind</a> has reached <a href="https://x.com/tdinh_me/status/1858838854641590412">$1M in revenue</a> in the last 12 months. So, I thought this would be an excellent chance to share a recap and some updates!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1TWz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e4791c0-561a-4940-b273-047665614ff0_1500x1524.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1TWz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e4791c0-561a-4940-b273-047665614ff0_1500x1524.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1TWz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e4791c0-561a-4940-b273-047665614ff0_1500x1524.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1TWz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e4791c0-561a-4940-b273-047665614ff0_1500x1524.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1TWz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e4791c0-561a-4940-b273-047665614ff0_1500x1524.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1TWz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e4791c0-561a-4940-b273-047665614ff0_1500x1524.jpeg" width="1456" height="1479" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2e4791c0-561a-4940-b273-047665614ff0_1500x1524.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1479,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:918106,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1TWz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e4791c0-561a-4940-b273-047665614ff0_1500x1524.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1TWz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e4791c0-561a-4940-b273-047665614ff0_1500x1524.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1TWz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e4791c0-561a-4940-b273-047665614ff0_1500x1524.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1TWz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e4791c0-561a-4940-b273-047665614ff0_1500x1524.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Surfing + Coding = Happy life!</figcaption></figure></div><h2>20 months to reach $1M</h2><p>I launched TypingMind in March 2023 (and <a href="https://news.tonydinh.com/p/making-22k-in-7-days-the-story">made $22K in the first 7 days</a>). So, it took me 20 months to reach $1M.</p><p>TypingMind started as a one-time purchase product, so for the past year, I&#8217;ve been working on converting more customers to our <a href="https://custom.typingmind.com">Team version</a> (to build internal AI platforms), which brings subscription revenue.</p><p>As of now, one-off revenue is still the primary source of revenue, but it only accounts for ~50% of our monthly total.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6-rD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F755c5e04-db27-43e2-b296-690ead92cafe_1476x1014.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6-rD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F755c5e04-db27-43e2-b296-690ead92cafe_1476x1014.png 424w, https://substackcdn.com/image/fetch/$s_!6-rD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F755c5e04-db27-43e2-b296-690ead92cafe_1476x1014.png 848w, https://substackcdn.com/image/fetch/$s_!6-rD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F755c5e04-db27-43e2-b296-690ead92cafe_1476x1014.png 1272w, https://substackcdn.com/image/fetch/$s_!6-rD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F755c5e04-db27-43e2-b296-690ead92cafe_1476x1014.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6-rD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F755c5e04-db27-43e2-b296-690ead92cafe_1476x1014.png" width="1456" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/755c5e04-db27-43e2-b296-690ead92cafe_1476x1014.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:243208,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6-rD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F755c5e04-db27-43e2-b296-690ead92cafe_1476x1014.png 424w, https://substackcdn.com/image/fetch/$s_!6-rD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F755c5e04-db27-43e2-b296-690ead92cafe_1476x1014.png 848w, https://substackcdn.com/image/fetch/$s_!6-rD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F755c5e04-db27-43e2-b296-690ead92cafe_1476x1014.png 1272w, https://substackcdn.com/image/fetch/$s_!6-rD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F755c5e04-db27-43e2-b296-690ead92cafe_1476x1014.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>My Journey Learning B2B Sales</h2><p>I&#8217;ve been talking about wanting to focus more on B2B since I was building my last startup, <a href="https://news.tonydinh.com/p/jan-2021-i-got-a-500k-acquisition">BlackMagic</a>. I think it has finally started working with <a href="https://custom.typingmind.com">TypingMind Custom</a>!</p><p>B2B sales means I have to get on a lot of video calls, long sales cycle (sometimes a few months!), but get rewarded with a big contract deal value and potentially super low churn.</p><p>With the help from my teammates, getting on video calls is not so tiring anymore. When I first started indie hacking, I enjoyed NOT having meetings a lot, but I think there is a threshold where &#8220;some quantity&#8221; of meetings are acceptable for me.</p><p>I think the most important part of B2B sales is not only answering their questions on the call but also getting to know the customer, building a relationship with them, sometimes on a personal level, becoming &#8220;friends,&#8221; persuading the customer to make a purchase decision, and then continuing to follow up with them post-purchase, maintaining the close relationship.</p><p>It requires a lot of energy to do such activities. Most of my sales calls ended up only at the &#8220;answering questions&#8221; level. I was already feeling dizzy and had a sore throat, and I needed the rest of the day to &#8220;recover.&#8221;</p><p>My main motivation for getting on these calls is to make sure the customer questions are all answered perfectly, make sure they understand how TypingMind can help them, and that it&#8217;s worth their money. No one understands my product better than me, so I try to get on as much as I can. If I can&#8217;t make it, I let my teammate to attend the call.</p><p>Recently, we were able to close some big contracts, one 3,000-seat deal and several 1,000-seat deals. These are big enterprises wanting to set up an internal AI platform for their team, and they want to use TypingMind as the front end, which is a perfect fit!</p><p>I think what I (and my teammate) did well in these calls was to provide the customer with information about the product, but I did terribly in other aspects. Like &#8220;making friends&#8221; with them, talking to them more closely about their use cases, researching their company profile/industry, following up, offering personalized deals and discounts, and so many more things that could be done. For example, we asked them to provide us with phone numbers in the contact form, and they did, but we never actually called anyone&#8230; (which is such a waste of opportunity).</p><p>Going forward, I&#8217;d prefer to get a salesperson to do the talking part for me. I think a &#8220;Sales Closer&#8221; position is what it&#8217;s called. We have good incoming requests for the business/enterprise plan. Just need someone with the skills to handle it. I&#8217;ll still be on the calls as much as I can to answer information/product-related questions, but I&#8217;ll leave the main talking part to the salesperson. Partnering with an experienced sales team is also an option I&#8217;m exploring. Hopefully, I can figure it out.</p><p>I&#8217;m also on a &#8220;side quest&#8221; to try selling TypingMind Custom in my home country, Vietnam. It is a special feeling to see your customers using your product so close to you. But big companies in Vietnam are known for being slow to adopt new tech, so I hope this works.</p><h2>Working with &#8220;branded resellers&#8221;</h2><p>This is another path that I&#8217;ve explored to bring TypingMind to more companies by partnering with <a href="https://custom.typingmind.com/reseller">resellers</a>.</p><p>Resellers are people who understand my product, have connections with local businesses, and are looking to deploy TypingMind for these businesses under their own brand (plus making a profit in the process).</p><p>My theory is that many local companies are not savvy and don&#8217;t know much about AI but want to apply AI to their workflow. Because they are low-tech, they need a lot of handholding, training, and onboarding to get started. Some don&#8217;t even speak English. I don&#8217;t have enough bandwidth to target and serve these companies, but someone from the local region who knows AI can serve them using TypingMind. Those are the resellers.</p><p>So, I will negotiate a deal with the resellers to sell TypingMind under their own brand while I act as the technical partner. The reseller will pay me a platform fee and then provide the platform plus their own added-value services like consulting, training, onboarding&#8230; Then, they can charge the local businesses a higher amount to make a profit.</p><p>And this model seems to work! I have successful reseller relationships in some regions and am looking to expand this further.</p><h2>SOC 2, HIPAA, GDPR, security audits&#8230;</h2><p>Working with B2B also means I must &#8220;upgrade&#8221; the company profile to be more serious.</p><p>In the past few months, I&#8217;ve spent at least $20K+ on getting all the compliance and certificates needed to make B2B sales easier: SOC2, HIPAA, GDPR, security audits, paying lawyers to draft and review contracts&#8230; It is the first time I have done anything like this.</p><p>As of now, TypingMind is SOC 2 Type II, HIPAA, and GDPR compliant. I&#8217;m super proud of this. In my last newsletter issue, I shared many details on the progress being made toward getting SOC 2 certified.</p><h2><strong>Things that contributed to TypingMind&#8217;s growth</strong></h2><p>I don&#8217;t track the growth closely, so this is all just my gut-feeling observation.</p><p>I think the primary growth-driven factor is the individual version of the app that people buy with one-time purchases. TypingMind is famous for being the most comprehensive LLM frontend for AI models. It gets mentioned positively on Reddit almost every day! People can buy a license and get lifetime access, which is a reasonable cost for many people.</p><p>Unlike what most people think about lifetime licenses, the volume of TypingMind license purchases has been increasing over the past 20 months and never actually going down. People may discover the app via organic mentions on social media, word of mouth, or via my Twitter profile since I have quite a lot of followers.</p><p>Then, among people who bought the individual version, some percentage converted to using the team version, which added recurring revenue.</p><p>Other than that, I tried to run paid ads and sponsorships, but the results were terrible, so I stopped. I still have not unlocked any paid marketing channel even now. It was a concern for me, but at this point, I think I can double down on improving the product and then rely on my customers to do the organic marketing for me.</p><h2>Plan for the future</h2><p>It seems like all I only talk about these days is TypingMind, and it&#8217;s true&#8230; The product has consumed all of my time and attention.</p><p>I still only work ~4 hours a day, but when I work, I mostly spend time on TypingMind. I have ideas and plans to build other products, like <a href="https://x.com/tdinh_me/status/1851464357496176902">the email app</a> that I have always talked about. But every time I spend my time on something else, I feel like I can gain much more value by using that time for TypingMind&#8230;</p><p>In the near future, I will try to set up&nbsp;<a href="https://x.com/tdinh_me/status/1859459124062482756">a minimal team</a>&nbsp;to help me explore my other ideas. I really don&#8217;t like managing people, but I guess this is the only way. So, let&#8217;s see.</p><p>For TypingMind, the plan is quite clear. I will continue to make TypingMind the best LLM frontend for individual users and use that advantage to bring more customers to the team version (<a href="https://custom.typingmind.com">building internal AI platforms for teams</a>). I&#8217;ll also continue to invest more on the B2B and resellers front.</p><p>I&#8217;m also slowly expanding my team to have more capacity to work on TypingMind. Building more advanced features and shipping faster. Other than the Sales Closer role that I&#8217;m hiring, I&#8217;ve also started working with a design agency that will do a big UI/UX audit and improvements around the product and make it much more awesome.</p><h2>That&#8217;s all for now!</h2><p>I&#8217;m thrilled and excited to see TypingMind reach this milestone today, and I can&#8217;t wait to see what it will become in the future. It&#8217;s the biggest and most successful product I&#8217;ve ever built.</p><p>I&#8217;ll try to share as much as I can as I go through the next phases. I hope this month&#8217;s update is helpful to you in some way!</p><p>See you next time!</p><p>Cheers,</p><p>Tony</p>]]></content:encoded></item><item><title><![CDATA[Get SOC 2 certified as an indie hacker]]></title><description><![CDATA[All the details about the process and the cost of getting SOC 2]]></description><link>https://news.tonydinh.com/p/get-soc-2-certified-as-an-indie-hacker</link><guid isPermaLink="false">https://news.tonydinh.com/p/get-soc-2-certified-as-an-indie-hacker</guid><dc:creator><![CDATA[Tony Dinh]]></dc:creator><pubDate>Fri, 26 Jul 2024 03:07:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!GoYQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1634bff0-b753-480f-bbc7-a6ec89297b56_1496x2408.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi everyone! It&#8217;s Tony again with another update.</p><p>Recently, I just got the <a href="https://x.com/tdinh_me/status/1815283790153224656">SOC 2 certified</a>! This is a huge milestone for my products, especially <a href="https://custom.typingmind.com">TypingMind</a>.</p><p>In this newsletter issue, I&#8217;d like to share everything about getting SOC 2 certified as an indie hacker (or a very small team).</p><h2>SOC 2 is not that hard</h2><p>Just a few months ago, this is how I imagined SOC 2 would be like: it&#8217;s something so big and &#8220;enterprisey&#8221; and completely out of reach for indie hackers because it&#8217;s either very expensive or very complicated.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GoYQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1634bff0-b753-480f-bbc7-a6ec89297b56_1496x2408.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GoYQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1634bff0-b753-480f-bbc7-a6ec89297b56_1496x2408.png 424w, https://substackcdn.com/image/fetch/$s_!GoYQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1634bff0-b753-480f-bbc7-a6ec89297b56_1496x2408.png 848w, https://substackcdn.com/image/fetch/$s_!GoYQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1634bff0-b753-480f-bbc7-a6ec89297b56_1496x2408.png 1272w, https://substackcdn.com/image/fetch/$s_!GoYQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1634bff0-b753-480f-bbc7-a6ec89297b56_1496x2408.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GoYQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1634bff0-b753-480f-bbc7-a6ec89297b56_1496x2408.png" width="1456" height="2344" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1634bff0-b753-480f-bbc7-a6ec89297b56_1496x2408.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2344,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5042348,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GoYQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1634bff0-b753-480f-bbc7-a6ec89297b56_1496x2408.png 424w, https://substackcdn.com/image/fetch/$s_!GoYQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1634bff0-b753-480f-bbc7-a6ec89297b56_1496x2408.png 848w, https://substackcdn.com/image/fetch/$s_!GoYQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1634bff0-b753-480f-bbc7-a6ec89297b56_1496x2408.png 1272w, https://substackcdn.com/image/fetch/$s_!GoYQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1634bff0-b753-480f-bbc7-a6ec89297b56_1496x2408.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>However, after getting my SOC 2 Type I certification, my view on SOC 2 completely changed. Let&#8217;s get into the details.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!M6VE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9102571-8e76-4ee5-9827-f1ca0df5094f_1400x1400.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!M6VE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9102571-8e76-4ee5-9827-f1ca0df5094f_1400x1400.png 424w, https://substackcdn.com/image/fetch/$s_!M6VE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9102571-8e76-4ee5-9827-f1ca0df5094f_1400x1400.png 848w, https://substackcdn.com/image/fetch/$s_!M6VE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9102571-8e76-4ee5-9827-f1ca0df5094f_1400x1400.png 1272w, https://substackcdn.com/image/fetch/$s_!M6VE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9102571-8e76-4ee5-9827-f1ca0df5094f_1400x1400.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!M6VE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9102571-8e76-4ee5-9827-f1ca0df5094f_1400x1400.png" width="1400" height="1400" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f9102571-8e76-4ee5-9827-f1ca0df5094f_1400x1400.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1400,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:162531,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!M6VE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9102571-8e76-4ee5-9827-f1ca0df5094f_1400x1400.png 424w, https://substackcdn.com/image/fetch/$s_!M6VE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9102571-8e76-4ee5-9827-f1ca0df5094f_1400x1400.png 848w, https://substackcdn.com/image/fetch/$s_!M6VE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9102571-8e76-4ee5-9827-f1ca0df5094f_1400x1400.png 1272w, https://substackcdn.com/image/fetch/$s_!M6VE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9102571-8e76-4ee5-9827-f1ca0df5094f_1400x1400.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Finally, I got SOC 2 Type I certified! Type II is in progress</figcaption></figure></div><h2>What is SOC 2</h2><p>For those who don&#8217;t know, SOC 2 is a certificate that shows that your company has good policies and processes regarding data security and privacy.</p><p>SOC 2 certificates are issued by credited auditors. You would hire one of these auditors to examine your company policies/processes/setup to determine whether your company follows best industry practices regarding security.</p><p>There is SOC 2 Type I and Type II. Type I certify that your company meets the standards at a specific point in time. Type II means that your company meets the standards continuously over a long period of time (usually 6 - 12 months).</p><p>Currently, TypingMind is SOC 2 Type I certified, I&#8217;m in progress to get Type II certified too.</p><h2>Why I want SOC 2</h2><p>Companies often ask if you have this certificate before making a purchase, and if you don&#8217;t, they&#8217;ll ask you to fill in a list of 50+ security questionnaires.</p><p>I&#8217;ve been through this security questionnaire process a few times with my previous products, DevUtils.com and Black Magic. It&#8217;s boring.</p><p>When I started offering the <a href="https://custom.typingmind.com/?ref=newsletter0725">Enterprise version of TypingMind</a>, these questionnaires started to pop up much more frequently.</p><p>Plus, I&#8217;m now targeting a lot more enterprise customers, which means they care a lot more about SOC 2 and security in general, so getting SOC 2 certified would help me increase trust and close more deals.</p><h2>The cost</h2><p>I thought it would cost me at least $30K/year to get certified and was mentally prepared for this cost, but in the end, it only cost me <strong>less than $10K</strong>.</p><p>Half of the cost is paid to a consulting service so they help me prepare all the documents and guide me how to get certified. The other half is paid to the auditor as a fee.</p><p>Other than the cost of money, there is also time. It took me, in total, about 10 days of work to get everything in place for compliance.</p><p>I&#8217;m a team of 5 people, with only 2 fulltime employees, so a lot of the steps are pretty easy. For a team with more people, it will probably cost more time/money.</p><h2>The overall process</h2><p>I started looking into getting SOC 2 by asking on Twitter and from founder friends who have done it before.</p><p>Thanks to them, I&#8217;ve learned that getting SOC 2 certified used to be a complicated and time consuming process with a lot of back and forth, but now with consulting and automation services, it has become very manageable.</p><p>One can get certified even with a team of only 2 people and less than $10K.</p><p>The whole process can be summarized into the following steps:</p><ol><li><p>Learn about the SOC 2 requirements</p></li><li><p>Implement policies and changes in your company&#8217;s system to satisfy the SOC 2 requirements. Things like &#8220;your database must have a backup&#8221;, &#8220;your employees&#8217; computer must have encryption enabled&#8221;, etc.</p></li><li><p>Preparing documents to prove that your company has implemented the changes and followed the policies.</p></li><li><p>Involve an auditor and represent the documents to the auditor.</p></li><li><p>Once the auditor has reviewed and approved the documents, you&#8217;ll get the SOC 2 Type I certificate.</p></li><li><p>Continue to monitor your system and policies to make sure your company satisfies all of the requirements for a long period, and make sure that at no point in time do you fail any requirement. After 3 or 6 months, you&#8217;ll get SOC 2 Type II certified.</p></li></ol><p>Here are the costs:</p><ul><li><p><strong>Your time</strong>: you&#8217;ll need to set up the system and policies. Depends on how good you are and your current situation, this can be  months or weeks or days.</p></li><li><p><strong>Fee</strong>: you&#8217;ll need to pay for the auditor every time they are involved. If you just need to get Type I, you&#8217;ll pay them once. If you need Type II and continuously keep that Type II certified status, you&#8217;ll need to pay them every time they perform an audit, so this can be a recurring fee.</p></li></ul><h2>Using a consulting and automation service</h2><p>I imagined getting SOC 2  would involve spending a lot of time getting back and forth with the auditor, having to write a lot of documents, and implementing so may changes to my current infra and process.</p><p>But no, it&#8217;s not that bad.</p><p>These days, people use consulting and automation services to get SOC 2 certified. Or at least that&#8217;s what friends and people on Twitter told me.</p><p>I was recommended two services that would help me understand and get SOC 2 certified. They are:</p><ul><li><p><strong>Vanta</strong>: a company from the US, quite expensive but reputable.</p></li><li><p><strong>Sprinto</strong>: a company from India, cheaper, but a new player in the market.</p></li></ul><p>What they do is that they&#8217;ll help you:</p><ul><li><p>Understand what is needed to get SOC 2 certified for your specific situation via video calls.</p></li><li><p>They have a system to connect to your services and automatically detect if something does not satisfy the SOC 2 requirements. For example, you can connect your AWS/GitHub account to their system, then they&#8217;ll notify you if your database doesn&#8217;t have a backup or your main branch isn&#8217;t protected, etc. Also they&#8217;ll provide a nice dashboard with detailed report of every config and tasks you should do to sastify SOC 2 requirements.</p></li><li><p>They help you collect the data and create all the documents, policies, and prepare the final documents in a nice way that will be represented to the auditors.</p></li><li><p>They will also connect you to auditors who will perform the audit (introduce via email).</p></li><li><p>They provide a separate dashboard for the auditor so that it takes less time for the auditor to go through the documents and the evidences.</p></li></ul><p>Basically, they help a lot, with a reasonable price. Like I shared earlier, my total cost was less than $10K including the auditor&#8217;s fee.</p><h2>How it&#8217;s actually done</h2><p>So I connected with one of the two service above. We got on a call to understand my current team and infra setup.</p><p>The actual requirements of SOC 2 are quite boring. I&#8217;m sure if you are a decent developer with a decent workflow, you&#8217;ve already satisfied most of it. Things like:</p><ul><li><p>You must use a source control system like Git.</p></li><li><p>Don&#8217;t commit directly to &#8220;main&#8221; but use a branch/PR.</p></li><li><p>Have a database backup and verify that the backup is actually working.</p></li><li><p>Verify and don&#8217;t install shady npm packages.</p></li><li><p>Assess the risk of all the vendors you are using (like AWS, Vercel, Mailgun, Slack&#8230;)</p></li><li><p>Have access control to critical resources (don&#8217;t give root access to your employee if not necessary)</p></li><li><p>&#8230;</p></li></ul><p>Some of the requirements are a bit too much for a usual small team, but introducing them is not a big deal, and I was totally cool with it. For example:</p><ul><li><p>All your employees must go through security &amp; privacy training (it&#8217;s like an online course) every 6 or 12 months.</p></li><li><p>Must conduct a background check for every new employee.</p></li><li><p>Conduct a pen-testing for your system using a trusted pen testing service (cost money)</p></li><li><p>&#8230;</p></li></ul><p>I didn&#8217;t have much difficulty setting up my infra and processes to meet all the requirements of SOC 2. It took me around 10 days on and off to get everything checked.</p><p>Everytime I hit a road block, I contacted the consulting service, they would help me via email or video call. Very helpful.</p><p>In total, it took me about 2 months since I started contacting the consulting service to the day I got my certificate.</p><h2>Things that are easier than I thought</h2><p>I thought in order to get SOC 2 certified, I must implement SSO for all of my employees. I used Okta when I was an employee, it was good and secure and everything, but it&#8217;s very expensive (<a href="https://x.com/tdinh_me/status/1797140889510580229">very very expensive!</a>).</p><p>I later learned that getting everyone on SSO is not a requirement, as long as we have a way to control people&#8217;s access to critical resources and have a documented process on how to deal with cases when, for example, an employee&#8217;s device is hacked.</p><p>So I didn&#8217;t have to ask everyone to use SSO everywhere. It was a huge save!</p><p>The second thing I found easier than I thought is the requirement to install a &#8220;spyware&#8221; on your employee devices.</p><p>I later learned that as long as you can provide a sufficient evident that the employee&#8217;s devices are secured, you don&#8217;t need to ask them to install that &#8220;spyware&#8221;.</p><p>The &#8220;spyware&#8221; is a piece of software that runs in the background of your OS and constantly checks if your device is secure as per SOC 2 standards (things like: harddrive encrypting is enabled, lock screen is enabled, installed some sort of antivirus/antimalware software, etc.)</p><p>What I did was to give my employees two options: 1 &#8211; to install the software and let it collect the required data, or 2 &#8211; collect the data by yourself with screenshots, it would be about 6-10 screenshots showing various config and settings of the device to prove to the auditor that it&#8217;s secured as per standard.</p><p>And with that, I didn&#8217;t have to force my employees to install anything.</p><h2>Things that are harder than I thought</h2><p>There is a requirement to make sure that your system can be recovered in case of a disaster (disaster recovery), which is not quite hard, but very time consuming.</p><p>They basically ask you to rebuild your entire infra in another data center (or another AWS region) and verify everything works normally, then provide the evidences (screenshots) to them.</p><p>I&#8217;ve never done this before. I&#8217;ve always think that I built and setup everything from scratch, I won&#8217;t have a problem doing it again. But actually spending the time doing it is still very beneficial. I found some unnecessary environment variables and some unused components that I later removed.</p><p>So in TypingMind I have two data center (US and EU), which means I had to do it twice, each time for a region (did I mentioned time consuming?).</p><h2>Do I actually benefit from getting SOC 2?</h2><p>Yes.</p><p>The first thing is that I&#8217;m working with some <a href="https://custom.typingmind.com/reseller">resellers</a> who help me sell TypingMind to other markets.</p><p>Some of them are selling to clients who are very strict about security. So I&#8217;ve been dealing with security questionnaire for quite a while.</p><p>Having a SOC 2 certificate simplifies things a lot for my resellers and me.</p><p>Second, I&#8217;m in the sales process with some enterprise customers, and most of them want to see my SOC 2. Now I can show them, so I hope this helps me close more deals.</p><p>And the last thing, SOC 2 certificate is given at the company level. It means that every product that I build from now on will automatically have the SOC 2 label on it as long as I continue to sastify all the SOC 2 requirements. This includes my previous products like DevUtils. This is a peace of mind.</p><p>So overall, I think I&#8217;ve already benefited from it. Is it worth the ~$10K/year? Not sure yet, but I hope it will in the long run.</p><h2>Do you need SOC 2?</h2><p>So now you know what I know about SOC 2.</p><p>Do you need it? Maybe.</p><p>I think you can consider getting it if:</p><ul><li><p>You frequently have enterprise customers asking for it.</p></li><li><p>Your product is in the B2B market, and you want to make the deal-closing process smoother.</p></li><li><p>~$10K/year + 2 weeks of work for you is an acceptable cost. (it is probably higher if your company is bigger)</p></li></ul><h2>That&#8217;s all</h2><p>Before getting SOC 2, I struggled a lot to understand the big picture of the process and spent a lot of time reading so many random articles addressing different aspects of the process, but I couldn&#8217;t find a good overview article.</p><p>So that&#8217;s why I decided to write this. I hope this post has been helpful.</p><p>I&#8217;ll see you again in next month&#8217;s issue, where I&#8217;ll share my regular indie hacking updates!</p><p>Until next time!</p>]]></content:encoded></item><item><title><![CDATA[April 2024 updates, new product!]]></title><description><![CDATA[Traveled to Bali and Sydney, some updates on Typing Mind, and a new product.]]></description><link>https://news.tonydinh.com/p/april-2024-updates-new-product</link><guid isPermaLink="false">https://news.tonydinh.com/p/april-2024-updates-new-product</guid><dc:creator><![CDATA[Tony Dinh]]></dc:creator><pubDate>Mon, 20 May 2024 05:26:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1IoR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d04cbb-67ed-4108-b19c-899218ccff32_2048x1536.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi everyone! It&#8217;s Tony here &#128075;</p><p>Here are some quick updates from me in March-April 2024.</p><h2>Life updates</h2><p>I traveled a lot during the last month. Most noticeably, I visited Hackagu, the legendary group in Bali where a lot of famous indie hackers are from.</p><p>I joined a typical Thursday at Hackagu and shipped a new product (more on this later!)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1IoR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d04cbb-67ed-4108-b19c-899218ccff32_2048x1536.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1IoR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d04cbb-67ed-4108-b19c-899218ccff32_2048x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1IoR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d04cbb-67ed-4108-b19c-899218ccff32_2048x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1IoR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d04cbb-67ed-4108-b19c-899218ccff32_2048x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1IoR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d04cbb-67ed-4108-b19c-899218ccff32_2048x1536.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1IoR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d04cbb-67ed-4108-b19c-899218ccff32_2048x1536.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/66d04cbb-67ed-4108-b19c-899218ccff32_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;:true,&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_!1IoR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d04cbb-67ed-4108-b19c-899218ccff32_2048x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1IoR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d04cbb-67ed-4108-b19c-899218ccff32_2048x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1IoR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d04cbb-67ed-4108-b19c-899218ccff32_2048x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1IoR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d04cbb-67ed-4108-b19c-899218ccff32_2048x1536.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The Hackagu team in Bali!</figcaption></figure></div><p>The first thing I noticed when I arrived at Canggu was that there were a lot of ripped dudes walking/riding bikes on the streets. Tourists crowded place, I like it.</p><p>Then,  at every coffee shop I visited in Canggu, I saw people with their laptops, working (like me). I remember overheard people talking about AI, ChatGPT, SaaS, and a bunch of other tech/business things. I immediately feel &#8220;belongs to&#8221;!</p><p>Most of my time spent in Canggu was working (half day), surfing or workout (~2 hours), and walking around the place. The vibe here gives me a lot of motivation to work and stay healthy. <a href="https://x.com/tdinh_me/status/1789584823880962371">It&#8217;s a magical place</a>. Well, if only the streets and the overall infra could be a bit better.</p><p>I also spent some time in Australia, visiting some friends in Sydney and visiting some legendary surf spots in Gold Coast (and surfed a lot too!)</p><div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f3c1008b-1efd-4f2c-8a90-28122afd72bb_4032x3024.jpeg&quot;},{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/12db74eb-aa44-4da8-80a6-3d15fe7c91a7_1920x1080.jpeg&quot;},{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6588735d-f178-4f71-a99b-60537cb867b6_4032x3024.jpeg&quot;}],&quot;caption&quot;:&quot;Visiting Sydney and Gold Coast&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/4f6759b0-0df5-4d43-b92d-77c69a66eaaf_1456x474.png&quot;}},&quot;isEditorNode&quot;:true}"></div><p>Sydney/Gold Coast is a beautiful, modern place, but not great for nomads and remote workers alikes. There are not many coffee places that are designed for me to sit down and work for 4 hours. Most coffee places don&#8217;t have power outlets, not even wifi, and they close at 3pm. I ended up working a lot less and going around a lot more, the freedom of being my own boss allowed me to do that without asking anyone for permission.</p><p>Other than that, Sydney is a beautiful, modern place, with a blessing of nature beauty (mountains, river, beaches). You couldn&#8217;t get this vibe anywhere near the SEA region, the closest thing I could compare is the combination of morden Singapore city life and the beautiful beaches of Thailand/Vietnam.</p><h2>Work updates</h2><p>I don&#8217;t want to bore you with the everyday tasks I do with Typing Mind, so here is a quick recap of things I worked on:</p><p><strong>LinkedIn Ads Experiment</strong></p><p>I spent ~$2,000 running <a href="https://x.com/tdinh_me/status/1784794966080000328">a LinkedIn Ads experiment</a>. The result was not good, $0 revenue. I expected this. My conclusion with the ads:</p><ul><li><p>It&#8217;s difficult to target my desired audience using LinkedIn Ads. For example, if I want to show ads only to business owners who are using a Desktop on macOS or iOS, which is the highest converting audience, I can&#8217;t.</p></li><li><p>My target audience is pro users who are experienced in building AI agents or working with LLM. Maybe I&#8217;ll need to change the way I approach this audience, or I&#8217;ll have to accept the cost of targeting the general audience until some percentage of the audience matches my desired one.</p></li></ul><p>I&#8217;ll continue to try Ads again next time with Facebook Ads.</p><p><strong>YouTube channel</strong></p><p>My wife helped me start a YouTube channel for Typing Mind:</p><p><a href="https://www.youtube.com/@TypingMind">youtube.com/@TypingMind</a></p><p>This channel will mostly post guides, tips, tutorials, and other stuff to help promote Typing Mind. We hope this will become another channel to acquire new customers.</p><p><strong>Moved to Stripe</strong></p><p>I started to move subscription revenue to Stripe (from Lemon Squeezy).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xuv_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5d1c8bb-ffb7-4a0d-b3ce-ca5274756683_1034x872.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xuv_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5d1c8bb-ffb7-4a0d-b3ce-ca5274756683_1034x872.png 424w, https://substackcdn.com/image/fetch/$s_!xuv_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5d1c8bb-ffb7-4a0d-b3ce-ca5274756683_1034x872.png 848w, https://substackcdn.com/image/fetch/$s_!xuv_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5d1c8bb-ffb7-4a0d-b3ce-ca5274756683_1034x872.png 1272w, https://substackcdn.com/image/fetch/$s_!xuv_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5d1c8bb-ffb7-4a0d-b3ce-ca5274756683_1034x872.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xuv_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5d1c8bb-ffb7-4a0d-b3ce-ca5274756683_1034x872.png" width="504" height="425.036750483559" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b5d1c8bb-ffb7-4a0d-b3ce-ca5274756683_1034x872.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:872,&quot;width&quot;:1034,&quot;resizeWidth&quot;:504,&quot;bytes&quot;:303054,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xuv_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5d1c8bb-ffb7-4a0d-b3ce-ca5274756683_1034x872.png 424w, https://substackcdn.com/image/fetch/$s_!xuv_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5d1c8bb-ffb7-4a0d-b3ce-ca5274756683_1034x872.png 848w, https://substackcdn.com/image/fetch/$s_!xuv_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5d1c8bb-ffb7-4a0d-b3ce-ca5274756683_1034x872.png 1272w, https://substackcdn.com/image/fetch/$s_!xuv_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5d1c8bb-ffb7-4a0d-b3ce-ca5274756683_1034x872.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Lemon Squeezy is good to get started and it seems that it works very well with one-time purchase products, but when it comes to subscription revenue, many things fell short.</p><p>The one thing that made me make the switch is that the subscription analytics of Lemon Squeezy is very basic, the MMR/churn calculation is often wrong, and it&#8217;s almost impossible to get metrics like LTV, retention, etc.</p><p>So, I have moved all new subscriptions to Stripe. Even with a bit more on the coding part, I think it&#8217;s safe to assume Stripe will support almost every customization or analytics I&#8217;d want to do and not have to contact support.</p><h2>New product!</h2><p>The last thing, I created a new product: <a href="https://image.social">image.social</a> (yes I&#8217;m not using dot com this time!)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aZ4d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca99241a-621e-4d22-a020-9cb0d2ae77c8_1880x1456.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aZ4d!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca99241a-621e-4d22-a020-9cb0d2ae77c8_1880x1456.png 424w, https://substackcdn.com/image/fetch/$s_!aZ4d!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca99241a-621e-4d22-a020-9cb0d2ae77c8_1880x1456.png 848w, https://substackcdn.com/image/fetch/$s_!aZ4d!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca99241a-621e-4d22-a020-9cb0d2ae77c8_1880x1456.png 1272w, https://substackcdn.com/image/fetch/$s_!aZ4d!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca99241a-621e-4d22-a020-9cb0d2ae77c8_1880x1456.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aZ4d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca99241a-621e-4d22-a020-9cb0d2ae77c8_1880x1456.png" width="1456" height="1128" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ca99241a-621e-4d22-a020-9cb0d2ae77c8_1880x1456.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1128,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:554112,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aZ4d!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca99241a-621e-4d22-a020-9cb0d2ae77c8_1880x1456.png 424w, https://substackcdn.com/image/fetch/$s_!aZ4d!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca99241a-621e-4d22-a020-9cb0d2ae77c8_1880x1456.png 848w, https://substackcdn.com/image/fetch/$s_!aZ4d!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca99241a-621e-4d22-a020-9cb0d2ae77c8_1880x1456.png 1272w, https://substackcdn.com/image/fetch/$s_!aZ4d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca99241a-621e-4d22-a020-9cb0d2ae77c8_1880x1456.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I plan to make this a micro SaaS that will run on its own.</p><p>I have had the idea for a long time, it came from the pain of setting up open-graph images for every page when creating new products.</p><p>So I created this to automate that. I&#8217;m already using this on production for Typing Mind and DevUtils!</p><p>As of now, the product is still in beta, I plan to finish some small but important tasks for it and launch in the next weeks when I have the free time.</p><p>I&#8217;ll share more on the details of this product soon! (probably in the next newsletter issue).</p><h2>That&#8217;s all for now!</h2><p>Thanks for reading! I&#8217;ll see you next month!</p>]]></content:encoded></item><item><title><![CDATA[Another 6-figure exit, and the future]]></title><description><![CDATA[I sold Xnapper, here is a quick update about the acquisition details]]></description><link>https://news.tonydinh.com/p/another-6-figure-exit-and-the-future</link><guid isPermaLink="false">https://news.tonydinh.com/p/another-6-figure-exit-and-the-future</guid><dc:creator><![CDATA[Tony Dinh]]></dc:creator><pubDate>Tue, 19 Mar 2024 05:10:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!6_SY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc80325-d31f-4a93-b01b-58e291c4d534_3322x2078.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello everyone, it&#8217;s Tony! &#128075;</p><p>One of my products - Xnapper - has been acquired for <strong>$150,000</strong></p><p>If you are a long-time subscriber, you probably know I shared about &#8220;a new screenshot app&#8221; in my <a href="https://news.tonydinh.com/p/jun-2022-updates-100k-arr-reflections-and-a-screenshot-app-1206061">June 2022 newsletter issue</a>. I also shared the <a href="https://www.indiehackers.com/post/xnapper-s-launch-report-4-212-learnings-a86905f09e">building and launching story</a> of Xnapper on the Indie Hackers forum.</p><p>Today, I want to write a short update to keep you all updated about the acquisition and share some more thoughts on the future of my indie journey.</p><h2>Reason for selling</h2><p>As shared in my <a href="https://news.tonydinh.com/p/500k-milestone-my-reflections-after">last newsletter&#8217;s issue</a>, the main reason I want to sell Xnapper is that I feel like I&#8217;m wasting its potential.</p><p>With Typing Mind making $40K+/month, I don&#8217;t have much time or motivation left to work on Xnapper, so I decided to clean up my portfolio a bit.</p><p>Normally, I would be fine letting the product run on auto-pilot. Like DevUtils, Xnapper is a one-time purchase macOS app, with very low maintenance effort.</p><p>However, for Xnapper, I think it has much more room to grow, and letting it on auto-pilot is very wasteful.</p><p>There are many screenshot apps on the niche macOS market, but the truly good ones are only a few. Xnapper was lucky to receive so much love and support from its users. I really believe it has a shot of becoming the #2 or even #1 screenshot app for macOS.</p><p>But, as I said, I don&#8217;t have much time or motivation. So, I thought selling it was the best path forward.</p><h2>How I find the buyer</h2><p>I found <a href="https://x.com/brianshinsh?s=20">Brian</a> (the buyer) on Twitter from <a href="https://x.com/tdinh_me/status/1758085010127749310?s=20">my tweet</a>. Having an audience is great for cases like this!</p><p>Via our video calls, I find Brian an enthusiastic and energetic entrepreneur who really believes in the future of Xnapper.</p><p>I also listed Xnapper on Acquire.com around the same time. Later, I received one other offer at a higher price of $169K, but I had already accepted Brian&#8217;s offer, so I moved forward with the deal with Brian.</p><p>One thing about Acquire.com I learned is that they now charge you a 4% fee on the total acquisition deal value if you find the buyer via their network, which is not a small number! That would have cost me $6,000 in fees for Xnapper&#8217;s acquisition!</p><p>Normally, a transaction via escrow.com is less than 1%.</p><h2>The process</h2><p>In case you never know how an acquisition happens, here is the process of my acquisition from start to finish.</p><p><strong>Prepare the data</strong></p><p>Before looking for buyers, I prepared a spreadsheet that contains all the information about the product that the buyer may want to know - a &#8220;fact sheet&#8221;. It looks like 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_!6_SY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc80325-d31f-4a93-b01b-58e291c4d534_3322x2078.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6_SY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc80325-d31f-4a93-b01b-58e291c4d534_3322x2078.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6_SY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc80325-d31f-4a93-b01b-58e291c4d534_3322x2078.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6_SY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc80325-d31f-4a93-b01b-58e291c4d534_3322x2078.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6_SY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc80325-d31f-4a93-b01b-58e291c4d534_3322x2078.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6_SY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc80325-d31f-4a93-b01b-58e291c4d534_3322x2078.jpeg" width="1456" height="911" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fbc80325-d31f-4a93-b01b-58e291c4d534_3322x2078.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:911,&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;: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_!6_SY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc80325-d31f-4a93-b01b-58e291c4d534_3322x2078.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6_SY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc80325-d31f-4a93-b01b-58e291c4d534_3322x2078.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6_SY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc80325-d31f-4a93-b01b-58e291c4d534_3322x2078.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6_SY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc80325-d31f-4a93-b01b-58e291c4d534_3322x2078.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In the tweet where I look for buyers, I include this spreadsheet (now taken offline).</p><p>Listing the products on Acquire.com requires a lot of information, but most of them are already available in the sheet, so I just copied them over.</p><p><strong>Collect Letter of Intent</strong></p><p>I started talking to potential buyers and answering questions they had about the product. Most buyers reached out to me via Twitter DM, and some reached out via Acquire.com.</p><p>Once they are happy with what they want to know, some will start to send a Letter of Intent (LOI). In my case, I received Brian&#8217;s LOI the next day we had a video call.</p><p>The LOI listed some important information about the deal:</p><ul><li><p>Total deal value: $150K</p></li><li><p>Payment terms: $100K will be paid upfront, and the rest of $50K will be paid monthly via revenue share.</p></li><li><p>Assets included in the transaction (domain, source code, social accounts, etc.)</p></li><li><p>Due diligence and other agreements (e.g., non-complete).</p></li></ul><p>As you may have guessed, my personal Twitter account probably influences Xnapper revenue quite a lot. So, we picked a suitable payment term, a mix of upfront and revenue share, that will benefit both of us in the medium term. This gives Brian enough time to explore other marketing channels instead of relying solely on Twitter.</p><p>I accepted the LOI from Brian the next day.</p><p>Usually, I should wait until I receive some better LOIs from other buyers, but I thought Brian's offer was good enough, and he seems to be very responsive/fast with the process. So, if I move forward with Brian, we can probably close the deal early, which is good.</p><p><strong>Due Diligence and Purchase Agreement</strong></p><p>Once I accepted the LOI, we started to draft out a Purchase Agreement and schedule a due diligence video call.</p><p>I already have a Purchase Agreement template from the last time <a href="https://news.tonydinh.com/p/may-2023-i-sold-my-2-years-old-business">I sold Black Magic</a>, so the agreement was quick.</p><p>The due diligence call was also quick (as I said, Brian is very responsive). So it took us only a few days to finalize everything.</p><p><strong>Pay via Escrow, Transfer Assets</strong></p><p>Once we had the contract signed via DocuSign, both of us registered an account on Escrow.com and started the transaction. Escrow costs $890, and we split the fees.</p><p>The typical flow of purchase on Escrow looks like this:</p><ul><li><p>The buyer and the seller register an account and verify ID/business</p></li><li><p>The buyer deposits the money to Escrow, they verify the fund</p></li><li><p>The seller starts transferring the assets (domain, source code, accounts, etc.)</p></li><li><p>The buyer verifies the assets and then notifies Escrow when all assets are received in good condition.</p></li><li><p>Escrow transfers the fund to the seller. Transaction closes.</p></li></ul><p>For Xnapper&#8217;s assets transfer, I prepared another sheet with the list of all assets that need to be transferred so we can track the status of each item together.</p><p>It looks like 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_!JIX9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1916eef9-3f01-4a00-ae82-ee45589df889_2266x860.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JIX9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1916eef9-3f01-4a00-ae82-ee45589df889_2266x860.png 424w, https://substackcdn.com/image/fetch/$s_!JIX9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1916eef9-3f01-4a00-ae82-ee45589df889_2266x860.png 848w, https://substackcdn.com/image/fetch/$s_!JIX9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1916eef9-3f01-4a00-ae82-ee45589df889_2266x860.png 1272w, https://substackcdn.com/image/fetch/$s_!JIX9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1916eef9-3f01-4a00-ae82-ee45589df889_2266x860.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JIX9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1916eef9-3f01-4a00-ae82-ee45589df889_2266x860.png" width="1456" height="553" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1916eef9-3f01-4a00-ae82-ee45589df889_2266x860.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:553,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:372539,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JIX9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1916eef9-3f01-4a00-ae82-ee45589df889_2266x860.png 424w, https://substackcdn.com/image/fetch/$s_!JIX9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1916eef9-3f01-4a00-ae82-ee45589df889_2266x860.png 848w, https://substackcdn.com/image/fetch/$s_!JIX9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1916eef9-3f01-4a00-ae82-ee45589df889_2266x860.png 1272w, https://substackcdn.com/image/fetch/$s_!JIX9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1916eef9-3f01-4a00-ae82-ee45589df889_2266x860.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>So that&#8217;s the whole process of Xnapper&#8217;s acquisition.</p><h2>The Future</h2><p>For Xnapper, I think it&#8217;s in good hands. Brian is already making progress on growing the app, which I&#8217;m happy to see.</p><p>For me, this marks my second product acquisition. This time the deal is bigger than <a href="https://news.tonydinh.com/p/may-2023-i-sold-my-2-years-old-business">the Black Magic acquisition</a> ($128K).</p><p>It&#8217;s funny that Xnapper, a one-time purchase product with only ~$4K/month revenue, now sold at a higher price than Black Magic, which was making $14K MRR. The solopreneur journey is full of surprises.</p><p>During the acquisition, I had an idea: Maybe I can sell every product I own now, get some money, then go back to square one and start exploring other, bigger ideas.</p><p>Sounds tempting, but it could be a lot of work and very distracting.</p><p>Right now, I only have 2 products left: DevUtils and Typing Mind. I don&#8217;t have much motivation to sell either of the products.</p><p>DevUtils is nearly feature-complete, cruising nicely on auto-pilot, making revenue stablely every month. Besides, it&#8217;s my first successful indie product; I have some emotional attachment to it.</p><p>Typing Mind is still too early and too exciting to work on. There are so many unexplored areas, and the whole AI scene is going up. I can&#8217;t sell it now!</p><p>More on Typing Mind. One thing that stresses me out a bit is the pressure to get more people on the team. I feel like Typing Mind needs a lot more attention than I&#8217;m giving it right now, it needs a whole team to push this forward and capture a larger chunk of the growing market. This is judging from the growing demand from customers and inbound leads I got over the past few months.</p><p>Me working just <a href="https://x.com/tdinh_me/status/1754049455408734570?s=20">4 hours a day</a> with some freelancers is probably not going to cut it. But I don&#8217;t want to work more, I also don&#8217;t want to hire and manage a team. Maybe I&#8217;ll have to do it eventually, or maybe I will sell the whole thing if someone has a good offer.</p><p>In one of my old newsletter issues, I talked about the idea of &#8220;Always be selling&#8221;:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://open.substack.com/pub/tdinh/p/jan-2021-i-got-a-500k-acquisition?r=n1ci0&amp;selection=d6136a57-8440-4dcc-bd96-16b246664b33&amp;utm_campaign=post-share-selection&amp;utm_medium=web" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!70vt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb507d743-1013-4620-b749-a484dd9a5d6a_1200x1200.jpeg 424w, https://substackcdn.com/image/fetch/$s_!70vt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb507d743-1013-4620-b749-a484dd9a5d6a_1200x1200.jpeg 848w, https://substackcdn.com/image/fetch/$s_!70vt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb507d743-1013-4620-b749-a484dd9a5d6a_1200x1200.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!70vt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb507d743-1013-4620-b749-a484dd9a5d6a_1200x1200.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!70vt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb507d743-1013-4620-b749-a484dd9a5d6a_1200x1200.jpeg" width="446" height="446" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b507d743-1013-4620-b749-a484dd9a5d6a_1200x1200.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1200,&quot;width&quot;:1200,&quot;resizeWidth&quot;:446,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://open.substack.com/pub/tdinh/p/jan-2021-i-got-a-500k-acquisition?r=n1ci0&amp;selection=d6136a57-8440-4dcc-bd96-16b246664b33&amp;utm_campaign=post-share-selection&amp;utm_medium=web&quot;,&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_!70vt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb507d743-1013-4620-b749-a484dd9a5d6a_1200x1200.jpeg 424w, https://substackcdn.com/image/fetch/$s_!70vt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb507d743-1013-4620-b749-a484dd9a5d6a_1200x1200.jpeg 848w, https://substackcdn.com/image/fetch/$s_!70vt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb507d743-1013-4620-b749-a484dd9a5d6a_1200x1200.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!70vt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb507d743-1013-4620-b749-a484dd9a5d6a_1200x1200.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This time, I might actually do it, let&#8217;s see.</p><h2>That&#8217;s all for now!</h2><p>I hope this month&#8217;s issue is helpful to you!</p><p>Actually, there is something I want to ask. If you&#8217;ve found my newsletter helpful or add some value to you, AND you are a Typing Mind customer, you can help me by leaving a review for Typing Mind:</p><ul><li><p><a href="https://www.g2.com/products/typingmind-typingmind/reviews">Review Typing Mind on G2</a></p></li><li><p><a href="https://www.trustpilot.com/review/typingmind.com">Review Typing Mind on TrustPilot</a></p></li><li><p><a href="https://www.capterra.com/p/10014630/TypingMind/">Review Typing Mind on Capterra</a></p></li></ul><p>You can pick any of the above (or all of them if you have time!). I read every review, and it would help me and the product a lot!</p><p>Ok, that&#8217;s all.</p><p>Thanks for reading, and I&#8217;ll see you again next month.</p><p>Cheers!</p><p>- Tony</p><p></p>]]></content:encoded></item><item><title><![CDATA[$500K milestone – my reflections after 1 year of building Typing Mind]]></title><description><![CDATA[Also in this issue: one-off purchase vs. subscription, selling Xnapper, and other updates from me in Feb 2024]]></description><link>https://news.tonydinh.com/p/500k-milestone-my-reflections-after</link><guid isPermaLink="false">https://news.tonydinh.com/p/500k-milestone-my-reflections-after</guid><dc:creator><![CDATA[Tony Dinh]]></dc:creator><pubDate>Mon, 26 Feb 2024 02:57:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_sx_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2aa009b7-4910-4aba-bd73-6a034f798712_1000x1333.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi everyone, it&#8217;s Tony again with another update! &#128075;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_sx_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2aa009b7-4910-4aba-bd73-6a034f798712_1000x1333.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_sx_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2aa009b7-4910-4aba-bd73-6a034f798712_1000x1333.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_sx_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2aa009b7-4910-4aba-bd73-6a034f798712_1000x1333.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_sx_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2aa009b7-4910-4aba-bd73-6a034f798712_1000x1333.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_sx_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2aa009b7-4910-4aba-bd73-6a034f798712_1000x1333.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_sx_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2aa009b7-4910-4aba-bd73-6a034f798712_1000x1333.jpeg" width="1000" height="1333" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2aa009b7-4910-4aba-bd73-6a034f798712_1000x1333.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1333,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:460403,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_sx_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2aa009b7-4910-4aba-bd73-6a034f798712_1000x1333.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_sx_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2aa009b7-4910-4aba-bd73-6a034f798712_1000x1333.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_sx_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2aa009b7-4910-4aba-bd73-6a034f798712_1000x1333.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_sx_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2aa009b7-4910-4aba-bd73-6a034f798712_1000x1333.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">I&#8217;m working remotely from a coffee in Bangkok. Amazing city :)</figcaption></figure></div><p>In February 2024, my ChatGPT chat frontend, <a href="https://www.typingmind.com">Typing Mind</a>, reaches $500K in total revenue. It started out almost exactly one year ago as a simple UI for ChatGPT API.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pU11!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cc1c15e-af7d-4175-b0ad-e0f28758d764_3080x1572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pU11!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cc1c15e-af7d-4175-b0ad-e0f28758d764_3080x1572.png 424w, https://substackcdn.com/image/fetch/$s_!pU11!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cc1c15e-af7d-4175-b0ad-e0f28758d764_3080x1572.png 848w, https://substackcdn.com/image/fetch/$s_!pU11!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cc1c15e-af7d-4175-b0ad-e0f28758d764_3080x1572.png 1272w, https://substackcdn.com/image/fetch/$s_!pU11!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cc1c15e-af7d-4175-b0ad-e0f28758d764_3080x1572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pU11!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cc1c15e-af7d-4175-b0ad-e0f28758d764_3080x1572.png" width="1456" height="743" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7cc1c15e-af7d-4175-b0ad-e0f28758d764_3080x1572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:743,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:416621,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pU11!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cc1c15e-af7d-4175-b0ad-e0f28758d764_3080x1572.png 424w, https://substackcdn.com/image/fetch/$s_!pU11!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cc1c15e-af7d-4175-b0ad-e0f28758d764_3080x1572.png 848w, https://substackcdn.com/image/fetch/$s_!pU11!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cc1c15e-af7d-4175-b0ad-e0f28758d764_3080x1572.png 1272w, https://substackcdn.com/image/fetch/$s_!pU11!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cc1c15e-af7d-4175-b0ad-e0f28758d764_3080x1572.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Thanks to everyone who has purchased and enjoyed using the app!</p><p>Looking back, I have some thoughts on this amazing one-year journey I want to share with you here.</p><h2><strong>Being early to the niche is a huge advantage</strong></h2><p>Typing Mind <a href="https://news.tonydinh.com/p/making-22k-in-7-days-the-story">was released</a> just 5 days after OpenAI announced the API. I think it is the first of its kind, providing an alternative UI for ChatGPT with the &#8220;Use your own API Key&#8221; concept.</p><p>When you&#8217;re first to the niche, your first version (MVP) doesn&#8217;t have to be so amazing. People have an itch, and there&#8217;s nothing on the market to fix it. If you give them something to scratch that itch, even just a bit, they&#8217;ll be happy to buy.</p><p>In this case, there were many annoying things with the standard ChatGPT interface e.g., it keeps logging you out every day, it types the answer very slowly, and there was no way to search past conversations&#8230;</p><p>Even though OpenAI fixed all this a few months later, I was able to capture the public attention during this time. If I were late to the party, there wouldn&#8217;t be any annoying problems to solve anymore, or at least the problems wouldn&#8217;t be that painful/important anymore.</p><p>Another example I&#8217;ve seen that captured a niche early is Chatbase (built by <a href="https://x.com/yasser_elsaid_/status/1759603542489272384?s=20">Yasser</a>) - an AI chatbot SaaS. He launched on February 2023 when most of us still hadn&#8217;t really realized how big the AI chatbot (or chat with documents/website/etc) space could be. Now he is making $3M/year. Compared to Chatbase, Typing Mind is a tiny product.</p><h2>Pressure to keep up</h2><p>The AI space is moving incredibly fast.</p><p>Once captured the initial traction, I need to keep moving to catch up.</p><p>Within the last 12 months, I pushed out <a href="https://www.typingmind.com/changelog">171 updates</a> to Typing Mind, and I still have <a href="https://typingmind.com/ideas">a ton more</a> to do.</p><p>People come up with new ways to chat with AI all the time; OpenAI also drops new big announcements once every few months. And all this won&#8217;t be stopping anytime soon.</p><p>I had to spend all of my time building and improving the product. Very little time to do anything else like marketing, SEO, trying paid ads, cold outreach, building community, etc.</p><p>The good thing is that I enjoyed building/coding. New customers still come in every day, so the overall experience wasn&#8217;t so bad for me personally.</p><p>However, to create a sustainable business, I&#8217;m not sure I can rely solely on organic traffic forever. I&#8217;ve been considering doing some &#8220;real marketing&#8221; or at least hiring someone to do it, but this comes with a different set of problems I need to learn to solve.</p><h2>One-time purchase vs. Subscription</h2><p>In the beginning, Typing Mind started with a one-time purchase. It was one of the reasons why the app sold so well in the beginning.</p><p>This was possible because the core product of Typing Mind is just a static web app with no back end and no database. It doesn&#8217;t even have an account system or login/logout. Typing Mind is activated using only a license key. That means it costs me almost nothing to host and run the app, and that&#8217;s why I can afford to sell the license as a one-time purchase.</p><p>Then, I gradually added a new subscription sources:</p><ul><li><p>A Cloud Sync &amp; Backup server to allow users to seamlessly sync data across devices. This comes with a server and database to run, so I charge a subscription.</p></li><li><p>The custom version of Typing Mind for teams (<a href="https://custom.typingmind.com">Typing Mind Custom</a>) requires a subscription, as it needs servers and databases.</p></li><li><p>In the custom version, there is also an &#8220;Additional training data limit plan&#8221; which is also a subscription.</p></li></ul><p>Typing Mind&#8217;s revenue is now a mix of one-off purchases and subscription revenue. It&#8217;s a healthy mix!</p><p>As of now, the subscription part of Typing Mind is at $15K MRR. This has surpassed my last record of a subscription product, Black Magic (which was making $14K MRR at the time of acquisition).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iufM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F743cfde7-4794-447c-8fd0-0ff85ce27a3c_1162x770.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iufM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F743cfde7-4794-447c-8fd0-0ff85ce27a3c_1162x770.png 424w, https://substackcdn.com/image/fetch/$s_!iufM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F743cfde7-4794-447c-8fd0-0ff85ce27a3c_1162x770.png 848w, https://substackcdn.com/image/fetch/$s_!iufM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F743cfde7-4794-447c-8fd0-0ff85ce27a3c_1162x770.png 1272w, https://substackcdn.com/image/fetch/$s_!iufM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F743cfde7-4794-447c-8fd0-0ff85ce27a3c_1162x770.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iufM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F743cfde7-4794-447c-8fd0-0ff85ce27a3c_1162x770.png" width="606" height="401.56626506024094" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/743cfde7-4794-447c-8fd0-0ff85ce27a3c_1162x770.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:770,&quot;width&quot;:1162,&quot;resizeWidth&quot;:606,&quot;bytes&quot;:227433,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!iufM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F743cfde7-4794-447c-8fd0-0ff85ce27a3c_1162x770.png 424w, https://substackcdn.com/image/fetch/$s_!iufM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F743cfde7-4794-447c-8fd0-0ff85ce27a3c_1162x770.png 848w, https://substackcdn.com/image/fetch/$s_!iufM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F743cfde7-4794-447c-8fd0-0ff85ce27a3c_1162x770.png 1272w, https://substackcdn.com/image/fetch/$s_!iufM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F743cfde7-4794-447c-8fd0-0ff85ce27a3c_1162x770.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I find this mix of subscription and one-time purchase to be the best model.</p><ul><li><p>On the one hand, I don&#8217;t have to worry about not being sustainable for providing lifetime access. The revenue from the subscription sources could easily justify the costs for lifetime users (mostly the cost of customer support).</p></li><li><p>On the other hand, every feature and improvement I add to the static version (one-time purchase) will automatically benefit the Custom version (subscription), and vice versa. This will also help make the static version more attractive to new users and encourage them to buy.</p></li></ul><p>Obviously, an all-subscription model would bring me more stable revenue. But the benefit here is that I can sell to regular users more easily with a lifetime license, as it only costs once. Most users will be happy to pay once and use the product forever, which saves them more money in the long term.</p><p>The downside is that I need to be very careful every time I add a new feature to the static version (one-time purchase). I can&#8217;t simply add a feature that requires an ongoing cost (like a free sync service). The maths must check out. Otherwise, it&#8217;s hard to keep my promise of giving lifetime access.</p><h2>Other updates: I&#8217;m selling Xnapper</h2><p>Last week, I posted on Twitter that I was looking for a buyer for Xnapper. I&#8217;ve already found a buyer, and I&#8217;m in the process of acquisition.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://x.com/tdinh_me/status/1758085010127749310?s=20" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kvX5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F406c61a8-f85a-4e24-bd05-6992b1e812be_1466x1734.png 424w, https://substackcdn.com/image/fetch/$s_!kvX5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F406c61a8-f85a-4e24-bd05-6992b1e812be_1466x1734.png 848w, https://substackcdn.com/image/fetch/$s_!kvX5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F406c61a8-f85a-4e24-bd05-6992b1e812be_1466x1734.png 1272w, https://substackcdn.com/image/fetch/$s_!kvX5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F406c61a8-f85a-4e24-bd05-6992b1e812be_1466x1734.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kvX5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F406c61a8-f85a-4e24-bd05-6992b1e812be_1466x1734.png" width="1456" height="1722" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/406c61a8-f85a-4e24-bd05-6992b1e812be_1466x1734.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1722,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1662005,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://x.com/tdinh_me/status/1758085010127749310?s=20&quot;,&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_!kvX5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F406c61a8-f85a-4e24-bd05-6992b1e812be_1466x1734.png 424w, https://substackcdn.com/image/fetch/$s_!kvX5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F406c61a8-f85a-4e24-bd05-6992b1e812be_1466x1734.png 848w, https://substackcdn.com/image/fetch/$s_!kvX5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F406c61a8-f85a-4e24-bd05-6992b1e812be_1466x1734.png 1272w, https://substackcdn.com/image/fetch/$s_!kvX5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F406c61a8-f85a-4e24-bd05-6992b1e812be_1466x1734.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The main reason I want to sell Xnapper is that I feel like I&#8217;m wasting its potential. I spend all of my time on Typing Mind these days, which brings me the majority of my revenue, so I have little time and motivation left to continue growing Xnapper.</p><p>Of course, I can just leave it on autopilot and take my sweet passive income, but it just feels very &#8220;wasteful&#8221; to me, considering I know how much potential Xnapper has for growth.</p><p>I love and use Xnapper every day (as you can see from the screenshots in this post), but right now, I don&#8217;t have the time to bring it to the next level.</p><p>I&#8217;ve evaluated all the potential buyers who reached out and agreed to go forward with a very enthusiastic, energetic buyer who is super interested in growing Xnapper.</p><p>I&#8217;ll share more about this acquisition in the next newsletter issue once the acquisition officially closes.</p><h2>That&#8217;s all for now!</h2><p>Thank you for reading my updates. I hope it&#8217;s been helpful in some way &#128516;</p><p>I&#8217;ll see you next month with more updates and follow-up on the acquisition of Xnapper.</p><p>Until next time!</p><p>- Tony</p>]]></content:encoded></item><item><title><![CDATA[2023 Recap]]></title><description><![CDATA[I turn 30, built a new app, and other updates in December 2023]]></description><link>https://news.tonydinh.com/p/2023-recap</link><guid isPermaLink="false">https://news.tonydinh.com/p/2023-recap</guid><dc:creator><![CDATA[Tony Dinh]]></dc:creator><pubDate>Tue, 26 Dec 2023 14:04:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ZspW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ceb278c-1734-44f8-86a4-652026b7aa38_768x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello everyone, Tony here &#128075;</p><p>Here&#8217;s another update from me in December 2023.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZspW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ceb278c-1734-44f8-86a4-652026b7aa38_768x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZspW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ceb278c-1734-44f8-86a4-652026b7aa38_768x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZspW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ceb278c-1734-44f8-86a4-652026b7aa38_768x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZspW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ceb278c-1734-44f8-86a4-652026b7aa38_768x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZspW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ceb278c-1734-44f8-86a4-652026b7aa38_768x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZspW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ceb278c-1734-44f8-86a4-652026b7aa38_768x1024.jpeg" width="768" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6ceb278c-1734-44f8-86a4-652026b7aa38_768x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:768,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:226779,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZspW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ceb278c-1734-44f8-86a4-652026b7aa38_768x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZspW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ceb278c-1734-44f8-86a4-652026b7aa38_768x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZspW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ceb278c-1734-44f8-86a4-652026b7aa38_768x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZspW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ceb278c-1734-44f8-86a4-652026b7aa38_768x1024.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Turned 30 years old</h2><p>My career milestones in the last ten years (from 20yo to 30yo):</p><ul><li><p>2013: studied software engineering</p></li><li><p>2014: graduated and worked as a software engineer</p></li><li><p>2018: relocate to Singapore, senior software engineer</p></li><li><p>2021: quit the job market and started working for myself</p></li><li><p>2023: first &#8220;startup exit&#8221; (Black Magic)</p></li></ul><p>As with almost everyone else, the 20 to 30 period is probably the most &#8220;eventful&#8221; decade of my career.</p><p>Not saying it will be all boring from now on, but I have a feeling it&#8217;ll be hard to beat &#128514;</p><h2>New app</h2><p>In December, I built a new app for fun: <a href="https://voicedual.com">voicedual.com</a></p><p>It allows you to change your voice using AI. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yrYh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37364a36-bf59-4336-9542-d92c9aa66dd7_1962x1962.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yrYh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37364a36-bf59-4336-9542-d92c9aa66dd7_1962x1962.png 424w, https://substackcdn.com/image/fetch/$s_!yrYh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37364a36-bf59-4336-9542-d92c9aa66dd7_1962x1962.png 848w, https://substackcdn.com/image/fetch/$s_!yrYh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37364a36-bf59-4336-9542-d92c9aa66dd7_1962x1962.png 1272w, https://substackcdn.com/image/fetch/$s_!yrYh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37364a36-bf59-4336-9542-d92c9aa66dd7_1962x1962.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yrYh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37364a36-bf59-4336-9542-d92c9aa66dd7_1962x1962.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/37364a36-bf59-4336-9542-d92c9aa66dd7_1962x1962.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1320768,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yrYh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37364a36-bf59-4336-9542-d92c9aa66dd7_1962x1962.png 424w, https://substackcdn.com/image/fetch/$s_!yrYh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37364a36-bf59-4336-9542-d92c9aa66dd7_1962x1962.png 848w, https://substackcdn.com/image/fetch/$s_!yrYh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37364a36-bf59-4336-9542-d92c9aa66dd7_1962x1962.png 1272w, https://substackcdn.com/image/fetch/$s_!yrYh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37364a36-bf59-4336-9542-d92c9aa66dd7_1962x1962.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><a href="https://x.com/tdinh_me/status/1735827841978364096?s=20">The demo tweet</a> got 1000+ likes, which was a good sign! I was hoping this could be my next successful app, but it turns out not.</p><p>I built the initial version using a private API from ElevenLabs (speech-to-speech).</p><p>At the time, I tried the speech-to-speech feature and got the idea that ElevenLabs didn&#8217;t have a public API yet, but I decided to build the app anyway, hoping that they would release the API around the same time I finished.</p><p>Turns out they still haven&#8217;t released it. So, I modified the app to use another similar API from <a href="https://www.resemble.ai/">resemble.ai</a>. The app is now live on <a href="https://voicedual.com">voicedual.com</a>. You can give it a try!</p><p>Later, I added payment. The business model was simple: $5 to remove the watermark.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!W3gc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c877dc-0518-4cba-afc0-e9214b46c29b_1230x1230.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!W3gc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c877dc-0518-4cba-afc0-e9214b46c29b_1230x1230.png 424w, https://substackcdn.com/image/fetch/$s_!W3gc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c877dc-0518-4cba-afc0-e9214b46c29b_1230x1230.png 848w, https://substackcdn.com/image/fetch/$s_!W3gc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c877dc-0518-4cba-afc0-e9214b46c29b_1230x1230.png 1272w, https://substackcdn.com/image/fetch/$s_!W3gc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c877dc-0518-4cba-afc0-e9214b46c29b_1230x1230.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!W3gc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c877dc-0518-4cba-afc0-e9214b46c29b_1230x1230.png" width="530" height="530" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/00c877dc-0518-4cba-afc0-e9214b46c29b_1230x1230.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1230,&quot;width&quot;:1230,&quot;resizeWidth&quot;:530,&quot;bytes&quot;:582053,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!W3gc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c877dc-0518-4cba-afc0-e9214b46c29b_1230x1230.png 424w, https://substackcdn.com/image/fetch/$s_!W3gc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c877dc-0518-4cba-afc0-e9214b46c29b_1230x1230.png 848w, https://substackcdn.com/image/fetch/$s_!W3gc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c877dc-0518-4cba-afc0-e9214b46c29b_1230x1230.png 1272w, https://substackcdn.com/image/fetch/$s_!W3gc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c877dc-0518-4cba-afc0-e9214b46c29b_1230x1230.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In about a week, ~900 videos were created.</p><p>I made $0 &#128514;</p><p>Actually, I&#8217;m at a loss of -$200 or something for API fees and servers.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OkoX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbae2b206-b091-40aa-8385-480eff2512ef_2266x1210.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OkoX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbae2b206-b091-40aa-8385-480eff2512ef_2266x1210.png 424w, https://substackcdn.com/image/fetch/$s_!OkoX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbae2b206-b091-40aa-8385-480eff2512ef_2266x1210.png 848w, https://substackcdn.com/image/fetch/$s_!OkoX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbae2b206-b091-40aa-8385-480eff2512ef_2266x1210.png 1272w, https://substackcdn.com/image/fetch/$s_!OkoX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbae2b206-b091-40aa-8385-480eff2512ef_2266x1210.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OkoX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbae2b206-b091-40aa-8385-480eff2512ef_2266x1210.png" width="1456" height="777" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bae2b206-b091-40aa-8385-480eff2512ef_2266x1210.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:777,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:396092,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OkoX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbae2b206-b091-40aa-8385-480eff2512ef_2266x1210.png 424w, https://substackcdn.com/image/fetch/$s_!OkoX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbae2b206-b091-40aa-8385-480eff2512ef_2266x1210.png 848w, https://substackcdn.com/image/fetch/$s_!OkoX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbae2b206-b091-40aa-8385-480eff2512ef_2266x1210.png 1272w, https://substackcdn.com/image/fetch/$s_!OkoX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbae2b206-b091-40aa-8385-480eff2512ef_2266x1210.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">(That $5 transaction is my test purchase)</figcaption></figure></div><p>I guess this app is fun but not quite enough for people to buy.</p><p>Anyway, I&#8217;ll keep the app running for a while more. I may still need it to impress my friends at the bar and library when needed &#128514;</p><p>I also learned a few more things building this app:</p><ul><li><p>First time using Next.JS app router. I have mixed feelings about the App router (compared to the pages router), but overall, I think I like it more. I&#8217;m not a fan of the caching behavior, &lt;Image&gt;, &lt;Link&gt;, etc., because it seems too vendor lock-in, but the good thing is I can just&#8230; not use it. I&#8217;m going to use App router for all my future projects.</p></li><li><p>First time using Stripe for a &#8220;real&#8221; project. Right now, the problem with all Merchants of Record (Paddle, Lemon Squeezy) is that they require manual account verification, which takes 2-7 days. So, from now on, when testing out a new idea, I&#8217;ll use Stripe. Stripe also requires verification, but they do it later (when you start to have revenue), and most of them are automated, so I can just create a new account and start charging people in about 5 minutes!</p></li><li><p>First time setting up a video processing pipeline. It&#8217;s not anything fancy, just a bunch of FFmpeg commands and a few API calls. But this will probably save me time next time I have similar ideas.</p><p></p></li></ul><h2>Updates in Typing Mind</h2><p><a href="https://www.typingmind.com">Typing Mind</a> remains my primary focus. In December, I cleaned up the UI, added new features, and fixed many bugs.</p><p>The <a href="https://custom.typingmind.com">B2B version (Typing Mind Custom)</a> also received a lot of great features, like Single Sign-On (as requested by my business customers).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EZM9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d9b0557-ed88-48c9-9752-d968f7f08519_3036x2074.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EZM9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d9b0557-ed88-48c9-9752-d968f7f08519_3036x2074.png 424w, https://substackcdn.com/image/fetch/$s_!EZM9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d9b0557-ed88-48c9-9752-d968f7f08519_3036x2074.png 848w, https://substackcdn.com/image/fetch/$s_!EZM9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d9b0557-ed88-48c9-9752-d968f7f08519_3036x2074.png 1272w, https://substackcdn.com/image/fetch/$s_!EZM9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d9b0557-ed88-48c9-9752-d968f7f08519_3036x2074.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EZM9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d9b0557-ed88-48c9-9752-d968f7f08519_3036x2074.png" width="1456" height="995" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1d9b0557-ed88-48c9-9752-d968f7f08519_3036x2074.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:995,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1892756,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EZM9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d9b0557-ed88-48c9-9752-d968f7f08519_3036x2074.png 424w, https://substackcdn.com/image/fetch/$s_!EZM9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d9b0557-ed88-48c9-9752-d968f7f08519_3036x2074.png 848w, https://substackcdn.com/image/fetch/$s_!EZM9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d9b0557-ed88-48c9-9752-d968f7f08519_3036x2074.png 1272w, https://substackcdn.com/image/fetch/$s_!EZM9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d9b0557-ed88-48c9-9752-d968f7f08519_3036x2074.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;m thinking about being more aggressive with the marketing and could reach out for Typing Mind Custom. Like hiring salespeople and letting them get more business customers somehow.</p><p>Maybe I&#8217;ll do it myself first. There are some good learning opportunities in the process: generating leads, cold outreach, doing demo calls, following up, and closing the deal.</p><p>I&#8217;ve never done this myself, so part of me wants to do it. The only thing is that &#8220;doing a demo call&#8221; conflicts with my current &#8220;no meeting policy.&#8221; And I heard only 10% of the demo calls end up being a successful deal, so that&#8217;s discouraging.</p><h2>2023 Recap</h2><p>Only a few days left in 2023. Here is the recap with some highlights:</p><ul><li><p>&#129318; January: I got a <a href="https://news.tonydinh.com/p/jan-2021-i-got-a-500k-acquisition">$500K acquisition offer</a>, and I rejected it.</p></li><li><p>&#129321; February: joined <a href="https://twitter.com/phuctm97/status/1626071900895219712">Hackaigon</a> in HCMC was fun!</p></li><li><p>&#129351; March: Built TypingMind, which became super successful! Highlight of the year!</p></li><li><p>&#128184; April: Sold Black Magic <a href="https://news.tonydinh.com/p/apr-2023-i-sold-black-magic">for $128K</a>. Pretty sad.</p></li><li><p>&#128198; September: marked 2 years after quitting my job. My <a href="https://news.tonydinh.com/p/my-solopreneur-story-zero-to-45kmo">solopreneur story</a> goes viral.</p></li><li><p>&#10060; November: Built a new app <a href="https://speakdual.com">speakdual.com</a> (made $0, didn&#8217;t attempt to monetize).</p></li><li><p>&#10060; December: Built a new app <a href="https://voicedual.com">voicedual.com</a> (tried to monetize, made $0)</p></li></ul><p>Overall, this was a great year.</p><ul><li><p>&#9989; Financially ok. Typing Mind saved my ass. Otherwise, I would have been quite stressed after selling Black Magic.</p></li><li><p>&#9989; I met new indie hacker friends in real life, which was fun and I should do more often.</p></li><li><p>&#9989; A lot of surfing and boxing. Always do physical activities and exercise for a healthy body.</p></li></ul><h2>That&#8217;s all for now!</h2><p>Thank you for reading my updates.</p><p>I wish you and your family a Merry Christmas and Happy New Year (soon)!</p><p>See you in 2024 &#128075;</p><p>- Tony</p>]]></content:encoded></item><item><title><![CDATA[Why I run Black Friday deals (things I learned)]]></title><description><![CDATA[I also curated 300+ Black Friday deals for you]]></description><link>https://news.tonydinh.com/p/why-i-run-black-friday-deals-things</link><guid isPermaLink="false">https://news.tonydinh.com/p/why-i-run-black-friday-deals-things</guid><dc:creator><![CDATA[Tony Dinh]]></dc:creator><pubDate>Tue, 21 Nov 2023 09:25:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!v-fS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ade895-6843-4c1e-a3b6-00c24e82c6a7_2000x1177.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This is the 3rd year I run Black Friday deals. This year, I also curated a list of 300+ deals across 30 categories for you.</p><p><em>(sharing some learnings about running Black Friday deals in the 2nd part of this email)</em></p><h2><strong>But first, here are my deals:</strong></h2><ul><li><p><a href="https://www.typingmind.com">TypingMind.com</a> &#8211; 40% off</p></li><li><p><a href="https://DevUtils.com">DevUtils.com</a> &#8211; 50% off</p></li><li><p><a href="https://Xnapper.com">Xnapper.com</a> &#8211; 50% off</p></li><li><p><a href="https://blackmagic.so">BlackMagic.so</a> &#8211; 40% off the first year on the annual plan.</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_!v-fS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ade895-6843-4c1e-a3b6-00c24e82c6a7_2000x1177.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!v-fS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ade895-6843-4c1e-a3b6-00c24e82c6a7_2000x1177.png 424w, https://substackcdn.com/image/fetch/$s_!v-fS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ade895-6843-4c1e-a3b6-00c24e82c6a7_2000x1177.png 848w, https://substackcdn.com/image/fetch/$s_!v-fS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ade895-6843-4c1e-a3b6-00c24e82c6a7_2000x1177.png 1272w, https://substackcdn.com/image/fetch/$s_!v-fS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ade895-6843-4c1e-a3b6-00c24e82c6a7_2000x1177.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!v-fS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ade895-6843-4c1e-a3b6-00c24e82c6a7_2000x1177.png" width="1456" height="857" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f6ade895-6843-4c1e-a3b6-00c24e82c6a7_2000x1177.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:857,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:607238,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!v-fS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ade895-6843-4c1e-a3b6-00c24e82c6a7_2000x1177.png 424w, https://substackcdn.com/image/fetch/$s_!v-fS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ade895-6843-4c1e-a3b6-00c24e82c6a7_2000x1177.png 848w, https://substackcdn.com/image/fetch/$s_!v-fS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ade895-6843-4c1e-a3b6-00c24e82c6a7_2000x1177.png 1272w, https://substackcdn.com/image/fetch/$s_!v-fS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ade895-6843-4c1e-a3b6-00c24e82c6a7_2000x1177.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Other than that, I also curated a list of 300+ Black Friday deals in <a href="https://github.com/trungdq88/Awesome-Black-Friday-Cyber-Monday">this GitHub repo</a>. You&#8217;ll likely find something interesting there. Enjoy!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BaMk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F449fb6ed-1fe2-4471-bc7a-f38b1a2ab0f6_1952x1470.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BaMk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F449fb6ed-1fe2-4471-bc7a-f38b1a2ab0f6_1952x1470.png 424w, https://substackcdn.com/image/fetch/$s_!BaMk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F449fb6ed-1fe2-4471-bc7a-f38b1a2ab0f6_1952x1470.png 848w, https://substackcdn.com/image/fetch/$s_!BaMk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F449fb6ed-1fe2-4471-bc7a-f38b1a2ab0f6_1952x1470.png 1272w, https://substackcdn.com/image/fetch/$s_!BaMk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F449fb6ed-1fe2-4471-bc7a-f38b1a2ab0f6_1952x1470.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BaMk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F449fb6ed-1fe2-4471-bc7a-f38b1a2ab0f6_1952x1470.png" width="1456" height="1096" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/449fb6ed-1fe2-4471-bc7a-f38b1a2ab0f6_1952x1470.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1096,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:714900,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BaMk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F449fb6ed-1fe2-4471-bc7a-f38b1a2ab0f6_1952x1470.png 424w, https://substackcdn.com/image/fetch/$s_!BaMk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F449fb6ed-1fe2-4471-bc7a-f38b1a2ab0f6_1952x1470.png 848w, https://substackcdn.com/image/fetch/$s_!BaMk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F449fb6ed-1fe2-4471-bc7a-f38b1a2ab0f6_1952x1470.png 1272w, https://substackcdn.com/image/fetch/$s_!BaMk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F449fb6ed-1fe2-4471-bc7a-f38b1a2ab0f6_1952x1470.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Why I run Black Friday deals</h2><p>Some people don&#8217;t like running promotions because it makes your product look cheap. I don&#8217;t think so.</p><p>Here are the reasons I always do Black Friday deals every year (and maybe you should, too).</p><ul><li><p>I normally don&#8217;t do a lot of marketing activities, and I feel guilty about it. So, Black Friday seems like a cheat code for me to do some real marketing with very little effort.</p></li><li><p>People are used to getting deals around this time of the year, so I don&#8217;t think it makes your product cheap to follow the tradition and offer discounts for your product just this time of the year.</p></li><li><p>Extra revenue for November is nice! Last year, I made ~$50K of revenue across all products.</p></li><li><p>It&#8217;s an opportunity to test your price at a lower tier. What I always do is to silently run the discount one month early. During this one month, I won&#8217;t advertise or announce the discount. Just add the discount code automatically for all purchases. This has several benefits:</p><ul><li><p>You can test to see if a lower price (~40% less than your normal price) will make you more revenue. If it does, maybe just use that as your official price later on!</p></li><li><p>By running the discount silently early, you avoid people who ask for refunds because they &#8220;just bought yesterday, and now the price is lower&#8221;. This reduces a lot of headaches, especially when the sales start coming in and you get busy.</p></li></ul></li><li><p>Another benefit is that more customers will usually bring more future customers. When I started selling <a href="https://devutils.com">DevUtils</a>, my customer base was very small. Running a Black Friday deal is a perfect excuse for me to &#8220;distribute&#8221; DevUtils to a lot more customers (while still having some revenue). These early customers are the seed for future customers via word of mouth and their reviews. And remember, you can always upsell these customers later!</p></li><li><p>Lastly, running a Black Friday deal so you have something to post on social media, creating engagements!</p></li></ul><p>I should also mention that these reasons are mostly related to software businesses. You should do your own research to avoid falling into some common traps:</p><ul><li><p>Don&#8217;t run a discount at a loss!</p></li><li><p>Be aware of the extra load on customer support when you onboard many new customers in a short time.</p></li></ul><h2>That&#8217;s all for now!</h2><p>This started as a promotional email, but I wrote a lot longer than I thought!</p><p>Hope some of this is helpful for you.</p><p>Thank you for reading, and see you in the next updates!</p><p>Best,</p><p>- Tony</p>]]></content:encoded></item><item><title><![CDATA[Oct 2023: side project, interview on Indie Hackers]]></title><description><![CDATA[Going viral, my thoughts, and updates from me in October 2023.]]></description><link>https://news.tonydinh.com/p/oct-2023-side-project-interview-on</link><guid isPermaLink="false">https://news.tonydinh.com/p/oct-2023-side-project-interview-on</guid><dc:creator><![CDATA[Tony Dinh]]></dc:creator><pubDate>Mon, 06 Nov 2023 07:41:20 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/81ee1e1d-1bc1-46ae-845a-9b27647da98d_1002x668.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Happy Monday, everyone &#128075;</p><p>I want to spend some time today to write about some updates in the last few weeks.</p><h2>I went viral + my thoughts.</h2><p>My <a href="https://news.tonydinh.com/p/my-solopreneur-story-zero-to-45kmo">last newsletter issue</a> was the most popular issue I&#8217;ve ever written in this newsletter.</p><p>It went &#8220;semi-viral&#8221; <a href="https://x.com/tdinh_me/status/1705155679819084179?s=20">on Twitter</a> and <a href="https://news.ycombinator.com/item?id=37622702">#1 on Hacker News</a> for a whole day.</p><p>I&#8217;ve read through almost all of the 600 comments, and I want to share some random thoughts on things people have talked about.</p><h3><strong>Indie products are &#8220;largely useless products&#8221; and &#8220;pet rocks&#8221;?</strong></h3><p>This is a common attitude towards indie products, and it&#8217;s completely wrong.</p><p>I make a living from a screenshot app. It contributes almost nothing to advancing humanity to a better world, but at least I&#8217;m helping some people out there with their tiny problems, and I&#8217;m proud of it.</p><p>If you&#8217;re building an indie product, never let anyone tell you that it&#8217;s useless or not. Only listen to &#8220;the market&#8221; and your customers, they are the ones who can decide the value of your product.</p><h3><strong>Is it all luck? Survivorship bias?</strong></h3><p>I can confirm that luck is a factor. However, it&#8217;s not all luck. If you put in consistent effort, when luck comes, it multiplies your output. It&#8217;s called &#8220;be prepared to get lucky&#8221;.</p><p>I could be a &#8220;survivor&#8221;, and I&#8217;m aware of that possibility. That&#8217;s why in the post, I encouraged people to cherry-pick things they learned from my story, not to try to replicate everything. However, it seems many people didn&#8217;t really read the whole post, or they read, but because of their biases, they only &#8220;see what they want to see&#8221;.</p><h3><strong>The positivity</strong></h3><p>Other than the negative comments, there are also a lot of positive comments in the Hacker News thread. Thank you to everyone who has put in nice words!</p><p>My intention to write the post is to share and inspire, and I think going viral really helped.</p><p>I don&#8217;t know about you, but for me, knowing &#8220;something is possible&#8221; before attempting to do it is quite important, and sometimes is the decision maker for a lot of things I do.</p><p>By writing the post, I want to let people know that it&#8217;s possible to become a solopreneur/indie hacker and make a good living from it. No need to spend half of your waking hours working a job you don&#8217;t like, stuck living in one city because that&#8217;s where your job is, or drown yourself in corporate drama.</p><h2>New side project</h2><p>Last week, I built <a href="https://twitter.com/tdinh_me/status/1718168640783294941">a new project</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_!llKa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F546dee10-649b-4356-832c-392f72a3aa98_1418x1906.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!llKa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F546dee10-649b-4356-832c-392f72a3aa98_1418x1906.png 424w, https://substackcdn.com/image/fetch/$s_!llKa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F546dee10-649b-4356-832c-392f72a3aa98_1418x1906.png 848w, https://substackcdn.com/image/fetch/$s_!llKa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F546dee10-649b-4356-832c-392f72a3aa98_1418x1906.png 1272w, https://substackcdn.com/image/fetch/$s_!llKa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F546dee10-649b-4356-832c-392f72a3aa98_1418x1906.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!llKa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F546dee10-649b-4356-832c-392f72a3aa98_1418x1906.png" width="502" height="674.7616361071932" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/546dee10-649b-4356-832c-392f72a3aa98_1418x1906.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1906,&quot;width&quot;:1418,&quot;resizeWidth&quot;:502,&quot;bytes&quot;:1120833,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!llKa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F546dee10-649b-4356-832c-392f72a3aa98_1418x1906.png 424w, https://substackcdn.com/image/fetch/$s_!llKa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F546dee10-649b-4356-832c-392f72a3aa98_1418x1906.png 848w, https://substackcdn.com/image/fetch/$s_!llKa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F546dee10-649b-4356-832c-392f72a3aa98_1418x1906.png 1272w, https://substackcdn.com/image/fetch/$s_!llKa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F546dee10-649b-4356-832c-392f72a3aa98_1418x1906.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;ve been wanting to build this since ElevenLabs announced the <a href="https://twitter.com/elevenlabsio/status/1688638033980014592">input streaming API</a>.</p><p>The idea was to create an &#8220;AI conversation&#8221; as real as possible so I could talk to an AI like in real life.</p><p>Previously, <a href="https://typingmind.com">Typing Mind</a> could do this too, but one big problem is that the voice can only start after the full response from GPT-4 is received. This causes a delay, and it kills the &#8220;feeling&#8221; of real-time conversation.</p><p>You can play with it here (with your own API keys): <a href="https://speakdual.com">speakdual.com</a></p><p>It is built using three main components:</p><ul><li><p>Browser Speech-to-Text API: run directly on the browser.</p></li><li><p>ElevenLabs streaming input/output: also runs directly on the browser using Web Socket and Audio API.</p></li><li><p>Browser CaptureStream API to visualize the microphone voice and audio output.</p></li></ul><p>The latency between &#8220;you finish talking&#8221; and &#8220;AI start talking&#8221; is about 2 seconds, which I was very happy with!</p><p>I tried to make it run entirely on the browser, it kinda works. The only problem is that not all browsers support the APIs I listed above (not yet). Most importantly, it doesn&#8217;t work on iOS Safari, so that&#8217;s a big turndown.</p><p>The browser limitation demotivates me a bit, knowing that whatever product I built out of this will not run on all devices. I released it anyway and told people to use Chrome for the best experience &#128514;</p><p>If I do this again, I will probably give up on trying to make it work entirely on the browser. Instead, I would stream the input to the server, do GPT-4 and text-to-speech on the server, and then stream the output back to the client. That would work on most browsers and devices.</p><p>On another related note, just yesterday, the ChatGPT mobile app finally became available in the Vietnam App Store. I have never been able to try the mobile app until now.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NdTg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe45e935-6ffd-4918-b010-404bf33a41c7_1290x2796.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NdTg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe45e935-6ffd-4918-b010-404bf33a41c7_1290x2796.png 424w, https://substackcdn.com/image/fetch/$s_!NdTg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe45e935-6ffd-4918-b010-404bf33a41c7_1290x2796.png 848w, https://substackcdn.com/image/fetch/$s_!NdTg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe45e935-6ffd-4918-b010-404bf33a41c7_1290x2796.png 1272w, https://substackcdn.com/image/fetch/$s_!NdTg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe45e935-6ffd-4918-b010-404bf33a41c7_1290x2796.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NdTg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe45e935-6ffd-4918-b010-404bf33a41c7_1290x2796.png" width="284" height="615.553488372093" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be45e935-6ffd-4918-b010-404bf33a41c7_1290x2796.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2796,&quot;width&quot;:1290,&quot;resizeWidth&quot;:284,&quot;bytes&quot;:108880,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!NdTg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe45e935-6ffd-4918-b010-404bf33a41c7_1290x2796.png 424w, https://substackcdn.com/image/fetch/$s_!NdTg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe45e935-6ffd-4918-b010-404bf33a41c7_1290x2796.png 848w, https://substackcdn.com/image/fetch/$s_!NdTg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe45e935-6ffd-4918-b010-404bf33a41c7_1290x2796.png 1272w, https://substackcdn.com/image/fetch/$s_!NdTg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe45e935-6ffd-4918-b010-404bf33a41c7_1290x2796.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>When I used the voice chat feature of ChatGPT, it was waaay better than what I&#8217;d built. The latency and the animation were extremely good. The voice-to-text recognition could have been better (but that&#8217;s probably because of my English accent.)</p><p>If I had access to the ChatGPT mobile app since the beginning, I probably wouldn&#8217;t have built the <a href="https://speakdual.com">speakdual.com</a> side project. But anyway, I got some new experience working with audio APIs, plus owning a cool new domain name!</p><div><hr></div><h2><em>A quick word</em></h2><p><em>As I'm about to send out this email, <strong><a href="https://twitter.com/dvassallo">Daniel Vassallo</a></strong> reached out for a sponsorship.</em></p><p><em>Daniel is one of my indie hacker idols. I learned about him via the Indie Hacker podcast 2 years ago when I started my journey. Daniel has been really supportive of me, especially in the early days. We also shared the same mindset on a lot of topics related to indie hacking and solopreneur.</em></p><p><em>I&#8217;m happy to do a one-off sponsorship with Daniel and his latest work. Here is a message from Daniel:</em></p><blockquote><p>Hey friends of Tony! &#8212; I run the Small Bets community with my co-host Louie Bacaj. If you're interested in solopreneurship, forget about "starting a company". Try making $1,000 with a small project first :)</p><p>We learn a lot more from small wins than from big failures. When you join Small Bets you'll find a support network ready to help you get your first small wins, along with regular live workshops to teach you various solopreneurship topics.</p><p>If this interests you, we're running an early Black Friday deal. $185 instead of $375 for a lifetime membership. Pay once, member forever. No recurring fees.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://smallbets.co/?ref=news.tonydinh.com&amp;utm_source=news.tonydinh.com&quot;,&quot;text&quot;:&quot;Join us today!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://smallbets.co/?ref=news.tonydinh.com&amp;utm_source=news.tonydinh.com"><span>Join us today!</span></a></p></blockquote><div><hr></div><h2>My interview on Indie Hackers</h2><p>A few weeks ago, I did an email interview with James from Indie Hackers. James later turned this into a conversation format, which I find interesting, it changed the flow and the tone of the conversation a bit, but overall no major issues &#128516;</p><p>We talked about indie hacking, platform risk, mindset, work/life balance, and some more random topics. <a href="https://www.indiehackers.com/post/tony-dinh-hit-22k-in-11-days-by-decoupling-input-from-output-e07829fe23">You can read the interview here.</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_!QbQm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea36c15e-58ed-4aa7-8c65-d195dd4d682c_2008x1992.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QbQm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea36c15e-58ed-4aa7-8c65-d195dd4d682c_2008x1992.png 424w, https://substackcdn.com/image/fetch/$s_!QbQm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea36c15e-58ed-4aa7-8c65-d195dd4d682c_2008x1992.png 848w, https://substackcdn.com/image/fetch/$s_!QbQm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea36c15e-58ed-4aa7-8c65-d195dd4d682c_2008x1992.png 1272w, https://substackcdn.com/image/fetch/$s_!QbQm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea36c15e-58ed-4aa7-8c65-d195dd4d682c_2008x1992.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QbQm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea36c15e-58ed-4aa7-8c65-d195dd4d682c_2008x1992.png" width="1456" height="1444" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ea36c15e-58ed-4aa7-8c65-d195dd4d682c_2008x1992.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1444,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1331610,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QbQm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea36c15e-58ed-4aa7-8c65-d195dd4d682c_2008x1992.png 424w, https://substackcdn.com/image/fetch/$s_!QbQm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea36c15e-58ed-4aa7-8c65-d195dd4d682c_2008x1992.png 848w, https://substackcdn.com/image/fetch/$s_!QbQm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea36c15e-58ed-4aa7-8c65-d195dd4d682c_2008x1992.png 1272w, https://substackcdn.com/image/fetch/$s_!QbQm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea36c15e-58ed-4aa7-8c65-d195dd4d682c_2008x1992.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Other updates</h2><p>As for work, I&#8217;m still focusing on building out Typing Mind.</p><p>Most noticeably, I decided to automate the selling process of the self-host version of <a href="https://custom.typingmind.com">Typing Mind Custom</a>. Previously, anyone who wanted to buy had to &#8220;Contact Us&#8221;. Now, it&#8217;s all self-serve.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yLAw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b7f0763-4912-4ede-a103-14e1ea43bbc2_1606x1864.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yLAw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b7f0763-4912-4ede-a103-14e1ea43bbc2_1606x1864.png 424w, https://substackcdn.com/image/fetch/$s_!yLAw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b7f0763-4912-4ede-a103-14e1ea43bbc2_1606x1864.png 848w, https://substackcdn.com/image/fetch/$s_!yLAw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b7f0763-4912-4ede-a103-14e1ea43bbc2_1606x1864.png 1272w, https://substackcdn.com/image/fetch/$s_!yLAw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b7f0763-4912-4ede-a103-14e1ea43bbc2_1606x1864.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yLAw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b7f0763-4912-4ede-a103-14e1ea43bbc2_1606x1864.png" width="1456" height="1690" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4b7f0763-4912-4ede-a103-14e1ea43bbc2_1606x1864.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1690,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:486531,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yLAw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b7f0763-4912-4ede-a103-14e1ea43bbc2_1606x1864.png 424w, https://substackcdn.com/image/fetch/$s_!yLAw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b7f0763-4912-4ede-a103-14e1ea43bbc2_1606x1864.png 848w, https://substackcdn.com/image/fetch/$s_!yLAw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b7f0763-4912-4ede-a103-14e1ea43bbc2_1606x1864.png 1272w, https://substackcdn.com/image/fetch/$s_!yLAw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b7f0763-4912-4ede-a103-14e1ea43bbc2_1606x1864.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Some people are curious about the decision to sell the self-host version. Here are answers to some frequently asked questions:</p><ul><li><p>This self-host version only gives the compiled source, so I&#8217;m not selling the whole product. Even though, if a big customer (enterprise) comes and asks for the full source code, I could probably consider that if the deal size is big enough.</p></li><li><p>The price is set high enough so that I can reduce the risk of bad actors trying to get the compiled source and reverse engineer it.</p></li><li><p>The price is a one-time purchase because after the customer buys the self-host source code, they&#8217;ll deploy it on their infra, and it doesn&#8217;t cost me the server and database.</p></li><li><p>Do people buy this? Yes, they do. I have 3 customers buying the self-host version so far. </p></li></ul><p>In October, my overall revenue from Typing Mind went down. Fluctuations are expected as it&#8217;s just a one-time purchase revenue.</p><p>However, the recurring revenue MRR is still going up. This is a good sign and gives me more confidence in focusing on the custom version of Typing Mind!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zAIP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d431cd1-9491-4977-ae74-9ac082fdda83_1772x1690.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zAIP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d431cd1-9491-4977-ae74-9ac082fdda83_1772x1690.jpeg 424w, https://substackcdn.com/image/fetch/$s_!zAIP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d431cd1-9491-4977-ae74-9ac082fdda83_1772x1690.jpeg 848w, https://substackcdn.com/image/fetch/$s_!zAIP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d431cd1-9491-4977-ae74-9ac082fdda83_1772x1690.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!zAIP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d431cd1-9491-4977-ae74-9ac082fdda83_1772x1690.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zAIP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d431cd1-9491-4977-ae74-9ac082fdda83_1772x1690.jpeg" width="594" height="566.6662087912088" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d431cd1-9491-4977-ae74-9ac082fdda83_1772x1690.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1389,&quot;width&quot;:1456,&quot;resizeWidth&quot;:594,&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_!zAIP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d431cd1-9491-4977-ae74-9ac082fdda83_1772x1690.jpeg 424w, https://substackcdn.com/image/fetch/$s_!zAIP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d431cd1-9491-4977-ae74-9ac082fdda83_1772x1690.jpeg 848w, https://substackcdn.com/image/fetch/$s_!zAIP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d431cd1-9491-4977-ae74-9ac082fdda83_1772x1690.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!zAIP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d431cd1-9491-4977-ae74-9ac082fdda83_1772x1690.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>That&#8217;s all for now!</h2><p>This newsletter now has almost 10,000 subscribers. Thank you for being a part of my journey!</p><p>I&#8217;ll see you again next month with more updates.</p><p>Have a great week ahead!</p><p>- Tony</p>]]></content:encoded></item><item><title><![CDATA[My solopreneur story: zero to $45K/mo in 2 years]]></title><description><![CDATA[Today is exactly 2 years since I quit my job and become a full-time indie hacker.]]></description><link>https://news.tonydinh.com/p/my-solopreneur-story-zero-to-45kmo</link><guid isPermaLink="false">https://news.tonydinh.com/p/my-solopreneur-story-zero-to-45kmo</guid><dc:creator><![CDATA[Tony Dinh]]></dc:creator><pubDate>Fri, 22 Sep 2023 09:16:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!bdpk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9eacc001-a04d-40b0-9795-6faabaf292e5_3024x3491.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>20 September 2021 was the first day I became unemployed and started working for myself.</p><p>It&#8217;s the best decision I&#8217;ve ever made. Working for myself gives me a freedom I&#8217;ve never experienced before.</p><p>Over the past two years, I have:</p><ul><li><p>created <strong>four</strong> small but successful products (all will be mentioned later in this post)</p></li><li><p>built an audience of <strong>97K followers</strong> on Twitter</p></li><li><p>created this newsletter with <strong>6,000+</strong> subscribers</p></li><li><p>jumped on <strong>the AI hype train</strong> and successfully created a product with it</p></li><li><p>and survived a drama that <strong>almost killed</strong> my business</p></li></ul><p>At the moment, my total revenue across all products is about $45K/month at ~90% profit.</p><p>I want to take this opportunity to write a recap of my journey so far. I hope this will be helpful for people who are looking to become their own boss one 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_!bdpk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9eacc001-a04d-40b0-9795-6faabaf292e5_3024x3491.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bdpk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9eacc001-a04d-40b0-9795-6faabaf292e5_3024x3491.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bdpk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9eacc001-a04d-40b0-9795-6faabaf292e5_3024x3491.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bdpk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9eacc001-a04d-40b0-9795-6faabaf292e5_3024x3491.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bdpk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9eacc001-a04d-40b0-9795-6faabaf292e5_3024x3491.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bdpk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9eacc001-a04d-40b0-9795-6faabaf292e5_3024x3491.jpeg" width="1456" height="1681" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9eacc001-a04d-40b0-9795-6faabaf292e5_3024x3491.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1681,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1468234,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!bdpk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9eacc001-a04d-40b0-9795-6faabaf292e5_3024x3491.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bdpk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9eacc001-a04d-40b0-9795-6faabaf292e5_3024x3491.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bdpk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9eacc001-a04d-40b0-9795-6faabaf292e5_3024x3491.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bdpk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9eacc001-a04d-40b0-9795-6faabaf292e5_3024x3491.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">This is me in Da Nang City, Vietnam :)</figcaption></figure></div><p></p><h2>A bit of background</h2><p>Before quitting my job, I was a software engineer with 7 years of experience (in 2021).</p><p>I love building software. My first software product was built with Visual Basic 6 in high school. Throughout my career, I have always had some side projects along with my full-time job.</p><p>Below is a summary of my full career history:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PNv_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e84a260-69b4-422c-8ea5-f863894c1ba5_1376x1542.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PNv_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e84a260-69b4-422c-8ea5-f863894c1ba5_1376x1542.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PNv_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e84a260-69b4-422c-8ea5-f863894c1ba5_1376x1542.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PNv_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e84a260-69b4-422c-8ea5-f863894c1ba5_1376x1542.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PNv_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e84a260-69b4-422c-8ea5-f863894c1ba5_1376x1542.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PNv_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e84a260-69b4-422c-8ea5-f863894c1ba5_1376x1542.jpeg" width="1376" height="1542" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5e84a260-69b4-422c-8ea5-f863894c1ba5_1376x1542.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1542,&quot;width&quot;:1376,&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_!PNv_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e84a260-69b4-422c-8ea5-f863894c1ba5_1376x1542.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PNv_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e84a260-69b4-422c-8ea5-f863894c1ba5_1376x1542.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PNv_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e84a260-69b4-422c-8ea5-f863894c1ba5_1376x1542.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PNv_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e84a260-69b4-422c-8ea5-f863894c1ba5_1376x1542.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Thanks to 7 years working in the industry, I picked up a lot of useful skills: frontend, backend, DevOps, mobile apps, game dev, and a bit of UX/UI design.</p><p>These skills became my biggest advantage and have helped me tremendously later in my journey.</p><h2>Learned about Indie Hackers</h2><p>Early 2020, COVID happened. I was forced to work remotely alone at home (in a foreign country).</p><p>It was incredibly boring.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CNwI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4faf39b1-1e30-472c-8baf-8e1753146afd_450x300.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CNwI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4faf39b1-1e30-472c-8baf-8e1753146afd_450x300.jpeg 424w, https://substackcdn.com/image/fetch/$s_!CNwI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4faf39b1-1e30-472c-8baf-8e1753146afd_450x300.jpeg 848w, https://substackcdn.com/image/fetch/$s_!CNwI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4faf39b1-1e30-472c-8baf-8e1753146afd_450x300.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!CNwI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4faf39b1-1e30-472c-8baf-8e1753146afd_450x300.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CNwI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4faf39b1-1e30-472c-8baf-8e1753146afd_450x300.jpeg" width="450" height="300" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4faf39b1-1e30-472c-8baf-8e1753146afd_450x300.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:300,&quot;width&quot;:450,&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_!CNwI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4faf39b1-1e30-472c-8baf-8e1753146afd_450x300.jpeg 424w, https://substackcdn.com/image/fetch/$s_!CNwI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4faf39b1-1e30-472c-8baf-8e1753146afd_450x300.jpeg 848w, https://substackcdn.com/image/fetch/$s_!CNwI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4faf39b1-1e30-472c-8baf-8e1753146afd_450x300.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!CNwI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4faf39b1-1e30-472c-8baf-8e1753146afd_450x300.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I discovered <a href="http://IndieHackers.com">IndieHackers.com</a> and started listening to their podcast every day. I got really inspired by the stories of successful indie hackers like <a href="https://twitter.com/levelsio">Pieter Levels</a>, <a href="https://twitter.com/kylegawley">Kyle Gawley</a>, <a href="https://twitter.com/yongfook">Jon Yongfook</a> (and many more).</p><p>The inspiration, the boredom of COVID, and the extra time I got from not having to commute to work led me back to my passion: building software products.</p><p>So I gave it a try. I started working on a new side project with the hope of generating some revenue.</p><h2>First failure</h2><p>My first attempt was to build a log viewer macOS app.</p><p>As a good software engineer, I wanted the app to have a beautiful UI, tons of features, a comprehensive architecture, and a unit test suite with &gt;95% test coverage.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!011X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e48554f-82de-4434-86c1-37399feb4430_1600x1497.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!011X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e48554f-82de-4434-86c1-37399feb4430_1600x1497.png 424w, https://substackcdn.com/image/fetch/$s_!011X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e48554f-82de-4434-86c1-37399feb4430_1600x1497.png 848w, https://substackcdn.com/image/fetch/$s_!011X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e48554f-82de-4434-86c1-37399feb4430_1600x1497.png 1272w, https://substackcdn.com/image/fetch/$s_!011X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e48554f-82de-4434-86c1-37399feb4430_1600x1497.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!011X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e48554f-82de-4434-86c1-37399feb4430_1600x1497.png" width="1456" height="1362" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2e48554f-82de-4434-86c1-37399feb4430_1600x1497.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1362,&quot;width&quot;:1456,&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_!011X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e48554f-82de-4434-86c1-37399feb4430_1600x1497.png 424w, https://substackcdn.com/image/fetch/$s_!011X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e48554f-82de-4434-86c1-37399feb4430_1600x1497.png 848w, https://substackcdn.com/image/fetch/$s_!011X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e48554f-82de-4434-86c1-37399feb4430_1600x1497.png 1272w, https://substackcdn.com/image/fetch/$s_!011X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e48554f-82de-4434-86c1-37399feb4430_1600x1497.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">This is the failed app, I still have it in my Xcode</figcaption></figure></div><p>I worked on it for ~6 months. I felt like the project would never finish. Then, I got bored and abandoned the project.</p><p>It failed spectacularly.</p><p>But at least I got something from it: I gained a lot of experience working with Swift, which means I can build macOS and iOS apps much faster now.</p><h2>First successful app: DevUtils</h2><p>It took me a while to recover from my first failure.</p><p>About a month later, I decided to give it another try (and this time, you can be certain that I wrote zero test cases &#128514;).</p><p>I built the first version of <a href="https://devutils.com">DevUtils</a> in about 2 weeks. It&#8217;s an app that bundles all the frequently used developer tools into one unified interface that works offline on your macOS.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RbwF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33cd31d6-2589-4cc5-9dde-88cd91e03775_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RbwF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33cd31d6-2589-4cc5-9dde-88cd91e03775_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!RbwF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33cd31d6-2589-4cc5-9dde-88cd91e03775_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!RbwF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33cd31d6-2589-4cc5-9dde-88cd91e03775_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!RbwF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33cd31d6-2589-4cc5-9dde-88cd91e03775_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RbwF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33cd31d6-2589-4cc5-9dde-88cd91e03775_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/33cd31d6-2589-4cc5-9dde-88cd91e03775_1600x900.png&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;: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_!RbwF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33cd31d6-2589-4cc5-9dde-88cd91e03775_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!RbwF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33cd31d6-2589-4cc5-9dde-88cd91e03775_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!RbwF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33cd31d6-2589-4cc5-9dde-88cd91e03775_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!RbwF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33cd31d6-2589-4cc5-9dde-88cd91e03775_1600x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I sent the app to friends, family, and co-workers to use (for free) and received some good feedback. People love the app!</p><p>That was the sign I was looking for. I was excited and decided to add payment to the app: $9 - a one-time purchase to use the app forever.</p><p>Then, I <a href="https://news.ycombinator.com/item?id=24604291">posted the app on Hacker News</a>. I think I got lucky, the post received some positive comments, and I got to the top of Hacker News for a few hours.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mDzW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6491b00f-8ae2-4d5e-9883-3e299409004a_1600x662.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mDzW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6491b00f-8ae2-4d5e-9883-3e299409004a_1600x662.png 424w, https://substackcdn.com/image/fetch/$s_!mDzW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6491b00f-8ae2-4d5e-9883-3e299409004a_1600x662.png 848w, https://substackcdn.com/image/fetch/$s_!mDzW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6491b00f-8ae2-4d5e-9883-3e299409004a_1600x662.png 1272w, https://substackcdn.com/image/fetch/$s_!mDzW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6491b00f-8ae2-4d5e-9883-3e299409004a_1600x662.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mDzW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6491b00f-8ae2-4d5e-9883-3e299409004a_1600x662.png" width="1456" height="602" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6491b00f-8ae2-4d5e-9883-3e299409004a_1600x662.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:602,&quot;width&quot;:1456,&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_!mDzW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6491b00f-8ae2-4d5e-9883-3e299409004a_1600x662.png 424w, https://substackcdn.com/image/fetch/$s_!mDzW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6491b00f-8ae2-4d5e-9883-3e299409004a_1600x662.png 848w, https://substackcdn.com/image/fetch/$s_!mDzW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6491b00f-8ae2-4d5e-9883-3e299409004a_1600x662.png 1272w, https://substackcdn.com/image/fetch/$s_!mDzW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6491b00f-8ae2-4d5e-9883-3e299409004a_1600x662.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>And that&#8217;s how I got my first ever internet dollar. I jumped like crazy in my bedroom in Singapore (I was still working full-time at the time).</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5M7S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dfc5122-3d14-4c1b-a17a-a6233e24046d_1462x634.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5M7S!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dfc5122-3d14-4c1b-a17a-a6233e24046d_1462x634.png 424w, https://substackcdn.com/image/fetch/$s_!5M7S!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dfc5122-3d14-4c1b-a17a-a6233e24046d_1462x634.png 848w, https://substackcdn.com/image/fetch/$s_!5M7S!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dfc5122-3d14-4c1b-a17a-a6233e24046d_1462x634.png 1272w, https://substackcdn.com/image/fetch/$s_!5M7S!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dfc5122-3d14-4c1b-a17a-a6233e24046d_1462x634.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5M7S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dfc5122-3d14-4c1b-a17a-a6233e24046d_1462x634.png" width="552" height="239.22527472527472" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5dfc5122-3d14-4c1b-a17a-a6233e24046d_1462x634.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:631,&quot;width&quot;:1456,&quot;resizeWidth&quot;:552,&quot;bytes&quot;:374105,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5M7S!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dfc5122-3d14-4c1b-a17a-a6233e24046d_1462x634.png 424w, https://substackcdn.com/image/fetch/$s_!5M7S!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dfc5122-3d14-4c1b-a17a-a6233e24046d_1462x634.png 848w, https://substackcdn.com/image/fetch/$s_!5M7S!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dfc5122-3d14-4c1b-a17a-a6233e24046d_1462x634.png 1272w, https://substackcdn.com/image/fetch/$s_!5M7S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dfc5122-3d14-4c1b-a17a-a6233e24046d_1462x634.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p></p><h2>I discovered Twitter</h2><p>Things started to slow down after the initial traffic spike from the Hacker News front page. I posted the app <a href="https://www.producthunt.com/products/devutils#devutils">on Product Hunt</a> and got another traffic spike, and that was it.</p><p>A week after that, I rarely get any visitors to the website. No more sales.</p><p>I knew that posting the app to websites and forums on the internet and hoping for a traffic spike wouldn&#8217;t work in the long term. I can&#8217;t get lucky forever.</p><p>So, I started to look for a long-term distribution channel.</p><p>I tried Google paid ads, wrote SEO articles, looked for sponsorships on newsletter/YouTube channels, and tons of other things.</p><p>There were some small results, but in the end, I didn&#8217;t see a way that could give me traffic for the long-term without continuous effort. (Except for SEO, but SEO is extremely slow to see the results)</p><p>This is when I think about Twitter and the #buildinpublic community.</p><p>I decided to give it a try to become a Twitter influencer.</p><p>The plan was that if I could get a lot of followers, I would have a consistent flow of traffic to DevUtils without doing much.</p><p>And so, I reactivated my old Twitter account and started building my personal brand. Most of my tweets were about DevUtils and it was quite boring.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2tYC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdde92d91-0106-4612-8a00-e38f82ed1945_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2tYC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdde92d91-0106-4612-8a00-e38f82ed1945_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!2tYC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdde92d91-0106-4612-8a00-e38f82ed1945_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!2tYC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdde92d91-0106-4612-8a00-e38f82ed1945_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!2tYC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdde92d91-0106-4612-8a00-e38f82ed1945_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2tYC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdde92d91-0106-4612-8a00-e38f82ed1945_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dde92d91-0106-4612-8a00-e38f82ed1945_1600x900.png&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;: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_!2tYC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdde92d91-0106-4612-8a00-e38f82ed1945_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!2tYC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdde92d91-0106-4612-8a00-e38f82ed1945_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!2tYC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdde92d91-0106-4612-8a00-e38f82ed1945_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!2tYC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdde92d91-0106-4612-8a00-e38f82ed1945_1600x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Building an audience</h2><p>I quickly learned that tweeting about DevUtils alone wasn&#8217;t going to help me gain followers. People just don&#8217;t care.</p><p>Sure, I engaged with other people in the community, replied to their tweets, made jokes, and was just hanging around. But in the end, if I don&#8217;t have something interesting on my own timeline, people have no reason to follow me. Just tweeting about DevUtils wasn&#8217;t going to cut it.</p><p>I needed to do something interesting to get the attention.</p><p>So I started doing a lot of fun stuff, using my skills and advantages: coding.</p><p>For example, this experiment is <a href="https://twitter.com/tdinh_me/status/1378995883090452481">my first ever &#8220;viral&#8221; tweet</a> with 100+ likes:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oT6x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ff79375-94b2-45f1-850e-11ed5a7185c4_1472x1874.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oT6x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ff79375-94b2-45f1-850e-11ed5a7185c4_1472x1874.png 424w, https://substackcdn.com/image/fetch/$s_!oT6x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ff79375-94b2-45f1-850e-11ed5a7185c4_1472x1874.png 848w, https://substackcdn.com/image/fetch/$s_!oT6x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ff79375-94b2-45f1-850e-11ed5a7185c4_1472x1874.png 1272w, https://substackcdn.com/image/fetch/$s_!oT6x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ff79375-94b2-45f1-850e-11ed5a7185c4_1472x1874.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oT6x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ff79375-94b2-45f1-850e-11ed5a7185c4_1472x1874.png" width="556" height="707.9835164835165" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8ff79375-94b2-45f1-850e-11ed5a7185c4_1472x1874.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1854,&quot;width&quot;:1456,&quot;resizeWidth&quot;:556,&quot;bytes&quot;:746361,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oT6x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ff79375-94b2-45f1-850e-11ed5a7185c4_1472x1874.png 424w, https://substackcdn.com/image/fetch/$s_!oT6x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ff79375-94b2-45f1-850e-11ed5a7185c4_1472x1874.png 848w, https://substackcdn.com/image/fetch/$s_!oT6x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ff79375-94b2-45f1-850e-11ed5a7185c4_1472x1874.png 1272w, https://substackcdn.com/image/fetch/$s_!oT6x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ff79375-94b2-45f1-850e-11ed5a7185c4_1472x1874.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In summary, my Twitter strategy was:</p><ul><li><p>Build interesting stuff and share it in public</p></li><li><p>Engage with other people</p></li><li><p>Write threads</p></li><li><p>A lot of memes and jokes</p></li><li><p>Overall, be an interesting person and be nice</p></li></ul><p>After 6 months of consistently doing this, from 100 followers in November 2020, I grew my account to <a href="https://twitter.com/tdinh_me/status/1388789631420796931">700 followers</a> in May 2021.</p><h2>First &#8220;real&#8221; business: Black Magic</h2><p>I considered <a href="https://blackmagic.so">Black Magic</a> to be my first ever &#8220;real&#8221; business because it has a subscription pricing model with recurring revenue.</p><p>This is how it started.</p><p>Around May 2021, when I was approaching 1,000 followers on Twitter, I decided to do something special to celebrate it (and also to get more engagements!).</p><p>By looking around the Twitter API document, I learned that I can update the profile picture via API. So, I built a small script that shows a progress bar around my profile picture.</p><p><a href="https://twitter.com/tdinh_me/status/1391980513573806081">The progress bar </a>would get closer and closer to 100% as I get to 1,000 followers.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dlT7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9641e399-5550-4fbe-ae2e-c887d738feea_984x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dlT7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9641e399-5550-4fbe-ae2e-c887d738feea_984x1048.png 424w, https://substackcdn.com/image/fetch/$s_!dlT7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9641e399-5550-4fbe-ae2e-c887d738feea_984x1048.png 848w, https://substackcdn.com/image/fetch/$s_!dlT7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9641e399-5550-4fbe-ae2e-c887d738feea_984x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!dlT7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9641e399-5550-4fbe-ae2e-c887d738feea_984x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dlT7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9641e399-5550-4fbe-ae2e-c887d738feea_984x1048.png" width="476" height="506.9593495934959" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9641e399-5550-4fbe-ae2e-c887d738feea_984x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:984,&quot;resizeWidth&quot;:476,&quot;bytes&quot;:807270,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dlT7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9641e399-5550-4fbe-ae2e-c887d738feea_984x1048.png 424w, https://substackcdn.com/image/fetch/$s_!dlT7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9641e399-5550-4fbe-ae2e-c887d738feea_984x1048.png 848w, https://substackcdn.com/image/fetch/$s_!dlT7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9641e399-5550-4fbe-ae2e-c887d738feea_984x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!dlT7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9641e399-5550-4fbe-ae2e-c887d738feea_984x1048.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>People loved the idea so much! So, I turned the script into a web app and added a $4/month subscription fee for the &#8220;Pro&#8221; version, where people can customize the progress bar color.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QY60!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4bd7615-bb86-46b3-a5fa-945ae58e68dd_1032x1188.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QY60!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4bd7615-bb86-46b3-a5fa-945ae58e68dd_1032x1188.png 424w, https://substackcdn.com/image/fetch/$s_!QY60!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4bd7615-bb86-46b3-a5fa-945ae58e68dd_1032x1188.png 848w, https://substackcdn.com/image/fetch/$s_!QY60!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4bd7615-bb86-46b3-a5fa-945ae58e68dd_1032x1188.png 1272w, https://substackcdn.com/image/fetch/$s_!QY60!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4bd7615-bb86-46b3-a5fa-945ae58e68dd_1032x1188.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QY60!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4bd7615-bb86-46b3-a5fa-945ae58e68dd_1032x1188.png" width="472" height="543.3488372093024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a4bd7615-bb86-46b3-a5fa-945ae58e68dd_1032x1188.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1188,&quot;width&quot;:1032,&quot;resizeWidth&quot;:472,&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_!QY60!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4bd7615-bb86-46b3-a5fa-945ae58e68dd_1032x1188.png 424w, https://substackcdn.com/image/fetch/$s_!QY60!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4bd7615-bb86-46b3-a5fa-945ae58e68dd_1032x1188.png 848w, https://substackcdn.com/image/fetch/$s_!QY60!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4bd7615-bb86-46b3-a5fa-945ae58e68dd_1032x1188.png 1272w, https://substackcdn.com/image/fetch/$s_!QY60!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4bd7615-bb86-46b3-a5fa-945ae58e68dd_1032x1188.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>And that was how I got my <a href="https://twitter.com/tdinh_me/status/1399225474006478849">first ever recurring revenue dollar</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_!SbFp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46a7a205-22ec-438c-8fd3-66c3272a9b0e_1474x1784.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SbFp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46a7a205-22ec-438c-8fd3-66c3272a9b0e_1474x1784.png 424w, https://substackcdn.com/image/fetch/$s_!SbFp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46a7a205-22ec-438c-8fd3-66c3272a9b0e_1474x1784.png 848w, https://substackcdn.com/image/fetch/$s_!SbFp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46a7a205-22ec-438c-8fd3-66c3272a9b0e_1474x1784.png 1272w, https://substackcdn.com/image/fetch/$s_!SbFp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46a7a205-22ec-438c-8fd3-66c3272a9b0e_1474x1784.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SbFp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46a7a205-22ec-438c-8fd3-66c3272a9b0e_1474x1784.png" width="522" height="631.7060439560439" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/46a7a205-22ec-438c-8fd3-66c3272a9b0e_1474x1784.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1762,&quot;width&quot;:1456,&quot;resizeWidth&quot;:522,&quot;bytes&quot;:788262,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SbFp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46a7a205-22ec-438c-8fd3-66c3272a9b0e_1474x1784.png 424w, https://substackcdn.com/image/fetch/$s_!SbFp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46a7a205-22ec-438c-8fd3-66c3272a9b0e_1474x1784.png 848w, https://substackcdn.com/image/fetch/$s_!SbFp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46a7a205-22ec-438c-8fd3-66c3272a9b0e_1474x1784.png 1272w, https://substackcdn.com/image/fetch/$s_!SbFp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46a7a205-22ec-438c-8fd3-66c3272a9b0e_1474x1784.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>At this time, I was still working at full-time job.</p><p>Embraced the traction, I worked on Black Magic with all the free time I had.</p><p>I added many other features to Black Magic, mostly Twitter tools that help users create more engagements.</p><p>By building and tweeting at the same time, both my MRR (monthly recurring revenue) and my followers were increasing fast.</p><h2>Quit job</h2><p>By August 2021, I have:</p><ul><li><p>~$300 MRR from Black Magic</p></li><li><p>~$200/mo from DevUtils</p></li><li><p>~8,000 followers</p></li><li><p>~1,500 active users (most are free users)</p></li></ul><p>Overall, there is great momentum. I felt confident that I might actually have a shot at making a living out of Black Magic and DevUtils.</p><p>That was when I handed in my notice, officially quitting my job. 20 September 2021 was my last working day and my first day as a full-time indie hacker.</p><p>I remember I went outside for a walk, took a fresh breath of air, and felt the freedom I never experienced before.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dEy4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbba76f3f-6a7c-40c1-b33f-08011defab5b_4032x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dEy4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbba76f3f-6a7c-40c1-b33f-08011defab5b_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dEy4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbba76f3f-6a7c-40c1-b33f-08011defab5b_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dEy4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbba76f3f-6a7c-40c1-b33f-08011defab5b_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dEy4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbba76f3f-6a7c-40c1-b33f-08011defab5b_4032x3024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dEy4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbba76f3f-6a7c-40c1-b33f-08011defab5b_4032x3024.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bba76f3f-6a7c-40c1-b33f-08011defab5b_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;:5087815,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dEy4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbba76f3f-6a7c-40c1-b33f-08011defab5b_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dEy4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbba76f3f-6a7c-40c1-b33f-08011defab5b_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dEy4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbba76f3f-6a7c-40c1-b33f-08011defab5b_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dEy4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbba76f3f-6a7c-40c1-b33f-08011defab5b_4032x3024.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The park near my place when I was working in Singapore.</figcaption></figure></div><p>Around the same time, I started writing a newsletter (this newsletter!). If you are a long-time reader, you may remember I wrote about it in detail. Here is the post:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;bbd0aab8-7660-4ee6-8792-d82ba1d74e4b&quot;,&quot;caption&quot;:&quot;Hello everyone, it&#8217;s me again, Tony &#128075; A quick update. &#128188; I quit my job After a long time of consideration, I have decided to quit my job to pursue full-time indie hacking. &#129395;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Quitting my job to pursue full-time indie hacking&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:38694024,&quot;name&quot;:&quot;Tony Dinh&quot;,&quot;bio&quot;:&quot;Indie hacker.\n\nTypingMind.com (New!)\nChatOrigin.com\nXnapper.com\nBlackMagic.so\nDevUtils.com&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/52001ffc-c1bd-44ea-b987-45661aab4680_512x512.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2021-09-01T10:26:18.259Z&quot;,&quot;cover_image&quot;:&quot;https://cdn.substack.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9892259b-0318-430d-9d89-af95541cd95b_2118x1104.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://news.tonydinh.com/p/quitting-my-job-to-pursue-full-time&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:40753134,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:7,&quot;comment_count&quot;:4,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Tony Dinh's Newsletter&quot;,&quot;publication_logo_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%2F0fb71642-2c8a-4280-bc78-5b9a53eba457_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>I have a saving of 2 years in the bank. If I lived in Vietnam (my hometown), I could easily go as far as 4 years without revenue. My backup plan was to just get back to a full-time job if things didn&#8217;t work out.</p><p>At the time, I didn&#8217;t have a family yet, no wife, and no kid. It was the best time for me to make the biggest bet of my life. So I did.</p><p>My goal was to get to $1K MRR in the first year, which would be enough for me to live comfortably in Vietnam forever.</p><h2>Ramen profitability in year one</h2><p>Since quitting my job, I spent all of my time working on Black Magic/DevUtils, and still keep tweeting to build an audience.</p><p>The growth started to pick up. I added many new features to Black Magic, most noticeably <a href="https://twitter.com/tdinh_me/status/1449394099014934532">the Magic Sidebar</a> &#8211; a Chrome extension for Twitter that provides Analytics &amp; CRM features.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hxCD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F314514a6-f96c-44ae-8892-5c006fb8aae2_3448x1930.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hxCD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F314514a6-f96c-44ae-8892-5c006fb8aae2_3448x1930.png 424w, https://substackcdn.com/image/fetch/$s_!hxCD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F314514a6-f96c-44ae-8892-5c006fb8aae2_3448x1930.png 848w, https://substackcdn.com/image/fetch/$s_!hxCD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F314514a6-f96c-44ae-8892-5c006fb8aae2_3448x1930.png 1272w, https://substackcdn.com/image/fetch/$s_!hxCD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F314514a6-f96c-44ae-8892-5c006fb8aae2_3448x1930.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hxCD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F314514a6-f96c-44ae-8892-5c006fb8aae2_3448x1930.png" width="1456" height="815" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/314514a6-f96c-44ae-8892-5c006fb8aae2_3448x1930.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:815,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3291364,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hxCD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F314514a6-f96c-44ae-8892-5c006fb8aae2_3448x1930.png 424w, https://substackcdn.com/image/fetch/$s_!hxCD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F314514a6-f96c-44ae-8892-5c006fb8aae2_3448x1930.png 848w, https://substackcdn.com/image/fetch/$s_!hxCD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F314514a6-f96c-44ae-8892-5c006fb8aae2_3448x1930.png 1272w, https://substackcdn.com/image/fetch/$s_!hxCD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F314514a6-f96c-44ae-8892-5c006fb8aae2_3448x1930.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This feature single-handedly changed Black Magic as a product forever. From being a fun engagement tool to becoming a true painkiller and solving big problems that many big Twitter accounts had at the time.</p><p>Later, I pivoted the whole product around this feature. I changed the landing page to exclusively talk about this feature instead of the profile progress bar and other fun features. You can see it at <a href="https://blackmagic.so">BlackMagic.so</a>.</p><p>Within a few months, by building, tweeting, and launching the product on Product Hunt, my monthly revenue grew to $4K MRR.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5xau!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03dfc793-d5c6-45b0-a5ae-3da828cc64cc_3036x1560.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5xau!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03dfc793-d5c6-45b0-a5ae-3da828cc64cc_3036x1560.png 424w, https://substackcdn.com/image/fetch/$s_!5xau!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03dfc793-d5c6-45b0-a5ae-3da828cc64cc_3036x1560.png 848w, https://substackcdn.com/image/fetch/$s_!5xau!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03dfc793-d5c6-45b0-a5ae-3da828cc64cc_3036x1560.png 1272w, https://substackcdn.com/image/fetch/$s_!5xau!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03dfc793-d5c6-45b0-a5ae-3da828cc64cc_3036x1560.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5xau!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03dfc793-d5c6-45b0-a5ae-3da828cc64cc_3036x1560.png" width="1456" height="748" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/03dfc793-d5c6-45b0-a5ae-3da828cc64cc_3036x1560.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:748,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1561503,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5xau!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03dfc793-d5c6-45b0-a5ae-3da828cc64cc_3036x1560.png 424w, https://substackcdn.com/image/fetch/$s_!5xau!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03dfc793-d5c6-45b0-a5ae-3da828cc64cc_3036x1560.png 848w, https://substackcdn.com/image/fetch/$s_!5xau!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03dfc793-d5c6-45b0-a5ae-3da828cc64cc_3036x1560.png 1272w, https://substackcdn.com/image/fetch/$s_!5xau!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03dfc793-d5c6-45b0-a5ae-3da828cc64cc_3036x1560.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p> There&#8217;s a lot going on during this period. Luckily, I&#8217;ve written about everything in this newsletter once a month like a machine.</p><p>You can read the related posts in this period here:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;f0b58a7b-1f3e-4411-9b24-760cf0e27bd5&quot;,&quot;caption&quot;:&quot;Hello everyone, this is Tony! &#128075; Today is a special day. I want to share with you all this post I originally posted on Indie Hackers, but I think you all will also be interested! It&#8217;s a long post about my journey growing Black Magic to $2K MRR in the last 2 months.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;$322 &#8594; $2K MRR in 60 days by building in public&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:38694024,&quot;name&quot;:&quot;Tony Dinh&quot;,&quot;bio&quot;:&quot;Indie hacker.\n\nTypingMind.com (New!)\nChatOrigin.com\nXnapper.com\nBlackMagic.so\nDevUtils.com&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/52001ffc-c1bd-44ea-b987-45661aab4680_512x512.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2021-12-16T14:34:07.000Z&quot;,&quot;cover_image&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%2F8310b9ac-81b4-4149-bd24-54d1e3ea7a1d_1408x1150.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://news.tonydinh.com/p/322-2k-mrr-in-60-days-by-building-in-public-910564&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:66963492,&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;Tony Dinh's Newsletter&quot;,&quot;publication_logo_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%2F0fb71642-2c8a-4280-bc78-5b9a53eba457_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;b1eee6af-87e5-4caf-9cdb-ec6b5e0172b2&quot;,&quot;caption&quot;:&quot;Hello everyone, this is Tony! &#128075; In January 2022, I released a new DevUtils version, added a lot of features for Black Magic, reached $4K MRR, and learned a ton! Here comes the monthly update! Hope you like it! &#129513; New DevUtils release: 1.13 The latest release of DevUtils comes with a brand new integration with Alfred and Raycast. These are the features peo&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Jan 2022 updates: 4K MRR, new release, new features, new learnings&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:38694024,&quot;name&quot;:&quot;Tony Dinh&quot;,&quot;bio&quot;:&quot;Indie hacker.\n\nTypingMind.com (New!)\nChatOrigin.com\nXnapper.com\nBlackMagic.so\nDevUtils.com&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/52001ffc-c1bd-44ea-b987-45661aab4680_512x512.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2022-02-02T15:35:13.000Z&quot;,&quot;cover_image&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%2F2be1b93f-00ee-4eba-938a-1bf548c8d46f_2742x1520.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://news.tonydinh.com/p/jan-2022-updates-4k-mrr-new-release-new-features-new-learnings-940315&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:66963499,&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;Tony Dinh's Newsletter&quot;,&quot;publication_logo_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%2F0fb71642-2c8a-4280-bc78-5b9a53eba457_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>By February 2022, I have reached $4K MRR and 28K followers on Twitter, far beyond my goal.</p><h2>Travel, Work, and Play</h2><p>In the first few months after quitting my job, I worked a lot. Probably 12 hours a day, or even 16 hours/day if you also count Twitter as &#8220;work&#8221;.</p><p>So when I reached $4K MRR, a decent amount considering my living cost in Vietnam, I started to slow down.</p><p>I still want to get more revenue, but I realized that this is a moving goalpost, and it will never stop. $10K, then $20K, then $50K. I knew I would never satisfied.</p><p>It&#8217;s much better to work and play at the same time.</p><p>So I traveled. I went for a trip around Vietnam.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UJAj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8ec3eca-65dd-4a6f-afe0-619f76d78f26_2584x2278.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UJAj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8ec3eca-65dd-4a6f-afe0-619f76d78f26_2584x2278.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UJAj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8ec3eca-65dd-4a6f-afe0-619f76d78f26_2584x2278.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UJAj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8ec3eca-65dd-4a6f-afe0-619f76d78f26_2584x2278.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UJAj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8ec3eca-65dd-4a6f-afe0-619f76d78f26_2584x2278.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UJAj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8ec3eca-65dd-4a6f-afe0-619f76d78f26_2584x2278.jpeg" width="1456" height="1284" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c8ec3eca-65dd-4a6f-afe0-619f76d78f26_2584x2278.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1284,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:551306,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!UJAj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8ec3eca-65dd-4a6f-afe0-619f76d78f26_2584x2278.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UJAj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8ec3eca-65dd-4a6f-afe0-619f76d78f26_2584x2278.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UJAj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8ec3eca-65dd-4a6f-afe0-619f76d78f26_2584x2278.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UJAj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8ec3eca-65dd-4a6f-afe0-619f76d78f26_2584x2278.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>My average working hours during this period was about 4 hours/day. I still tweet a lot.</p><p>Around September 2022, something magical happened: I was invited to the Indie Hacker podcast! The very podcast that I listened to every day when I started out. It was like a dream come true!</p><p>The podcast was released on <a href="https://twitter.com/tdinh_me/status/1572743468585463810">22nd September 2022</a>, almost exactly one year after I quit my job.</p><p>Fast forward to October 2022, Black Magic grew to $13K MRR steadily.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PVzU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48db81e-ff8f-47fe-b1fe-52f853107bd3_1600x901.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PVzU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48db81e-ff8f-47fe-b1fe-52f853107bd3_1600x901.png 424w, https://substackcdn.com/image/fetch/$s_!PVzU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48db81e-ff8f-47fe-b1fe-52f853107bd3_1600x901.png 848w, https://substackcdn.com/image/fetch/$s_!PVzU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48db81e-ff8f-47fe-b1fe-52f853107bd3_1600x901.png 1272w, https://substackcdn.com/image/fetch/$s_!PVzU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48db81e-ff8f-47fe-b1fe-52f853107bd3_1600x901.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PVzU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48db81e-ff8f-47fe-b1fe-52f853107bd3_1600x901.png" width="1456" height="820" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a48db81e-ff8f-47fe-b1fe-52f853107bd3_1600x901.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:820,&quot;width&quot;:1456,&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_!PVzU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48db81e-ff8f-47fe-b1fe-52f853107bd3_1600x901.png 424w, https://substackcdn.com/image/fetch/$s_!PVzU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48db81e-ff8f-47fe-b1fe-52f853107bd3_1600x901.png 848w, https://substackcdn.com/image/fetch/$s_!PVzU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48db81e-ff8f-47fe-b1fe-52f853107bd3_1600x901.png 1272w, https://substackcdn.com/image/fetch/$s_!PVzU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48db81e-ff8f-47fe-b1fe-52f853107bd3_1600x901.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>My 3rd product: Xnapper</h2><p>Besides working on my existing products, I experimented and tried new things all the time.</p><p>I built several small products, some of which failed (EmojiAI, AskCommand).</p><p>One of them, <strong><a href="https://xnapper.com">Xnapper</a></strong> - a screenshot app, picked up my <a href="https://twitter.com/tdinh_me/status/1530118451540684801">audience's interest</a> and became my 3rd successful product. It&#8217;s now making <strong>$6K/month</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!a5xM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6e0e32-8110-4dc1-aa53-ba431590403c_1550x1752.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!a5xM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6e0e32-8110-4dc1-aa53-ba431590403c_1550x1752.png 424w, https://substackcdn.com/image/fetch/$s_!a5xM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6e0e32-8110-4dc1-aa53-ba431590403c_1550x1752.png 848w, https://substackcdn.com/image/fetch/$s_!a5xM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6e0e32-8110-4dc1-aa53-ba431590403c_1550x1752.png 1272w, https://substackcdn.com/image/fetch/$s_!a5xM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6e0e32-8110-4dc1-aa53-ba431590403c_1550x1752.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!a5xM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6e0e32-8110-4dc1-aa53-ba431590403c_1550x1752.png" width="642" height="725.7774725274726" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0e6e0e32-8110-4dc1-aa53-ba431590403c_1550x1752.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1646,&quot;width&quot;:1456,&quot;resizeWidth&quot;:642,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Untitled&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="Untitled" title="Untitled" srcset="https://substackcdn.com/image/fetch/$s_!a5xM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6e0e32-8110-4dc1-aa53-ba431590403c_1550x1752.png 424w, https://substackcdn.com/image/fetch/$s_!a5xM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6e0e32-8110-4dc1-aa53-ba431590403c_1550x1752.png 848w, https://substackcdn.com/image/fetch/$s_!a5xM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6e0e32-8110-4dc1-aa53-ba431590403c_1550x1752.png 1272w, https://substackcdn.com/image/fetch/$s_!a5xM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6e0e32-8110-4dc1-aa53-ba431590403c_1550x1752.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;ve written more about how Xnapper started in this post:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;03e27875-aa57-4d8e-af9f-d55c0d731003&quot;,&quot;caption&quot;:&quot;Hello everyone &#128075; It&#8217;s Tony again with another monthly update! &#128516;Thanks for reading Tony Dinh&#8217;s Newsletter! Subscribe for free to receive new posts and support my work. Phu Yen Province, Vietnam Welcome 313 new subscribers since my last issue! &#128075; If you are new here: My name is Tony Dinh. This is a monthly newsletter of my indie startup journey. I try to do&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Jun 2022 updates, $100K ARR, reflections, and a screenshot app!&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:38694024,&quot;name&quot;:&quot;Tony Dinh&quot;,&quot;bio&quot;:&quot;Indie hacker.\n\nTypingMind.com (New!)\nChatOrigin.com\nXnapper.com\nBlackMagic.so\nDevUtils.com&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/52001ffc-c1bd-44ea-b987-45661aab4680_512x512.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2022-07-05T04:30:03.000Z&quot;,&quot;cover_image&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%2F96823d6a-ef44-4abf-9390-888755c5343e_4032x3024.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://news.tonydinh.com/p/jun-2022-updates-100k-arr-reflections-and-a-screenshot-app-1206061&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:66963496,&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;Tony Dinh's Newsletter&quot;,&quot;publication_logo_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%2F0fb71642-2c8a-4280-bc78-5b9a53eba457_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Working on multiple products allowed me to switch between them when I feel bored with one product, reducing my stress.</p><p>It&#8217;s also a good way to have a fresh new content for the Twitter audience. I was embracing &#8220;build in public&#8221; and I shared about everything when I was building the app.</p><p>For example, <a href="https://twitter.com/tdinh_me/status/1539895622069022720">this tweet</a> showing the mobile app demo got 1,700 likes! It&#8217;s almost like free marketing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Vtwf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1af305d-90b5-4e3f-bd2a-7886ff4b8bae_2000x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Vtwf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1af305d-90b5-4e3f-bd2a-7886ff4b8bae_2000x1500.png 424w, https://substackcdn.com/image/fetch/$s_!Vtwf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1af305d-90b5-4e3f-bd2a-7886ff4b8bae_2000x1500.png 848w, https://substackcdn.com/image/fetch/$s_!Vtwf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1af305d-90b5-4e3f-bd2a-7886ff4b8bae_2000x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!Vtwf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1af305d-90b5-4e3f-bd2a-7886ff4b8bae_2000x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Vtwf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1af305d-90b5-4e3f-bd2a-7886ff4b8bae_2000x1500.png" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c1af305d-90b5-4e3f-bd2a-7886ff4b8bae_2000x1500.png&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;Untitled&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="Untitled" title="Untitled" srcset="https://substackcdn.com/image/fetch/$s_!Vtwf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1af305d-90b5-4e3f-bd2a-7886ff4b8bae_2000x1500.png 424w, https://substackcdn.com/image/fetch/$s_!Vtwf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1af305d-90b5-4e3f-bd2a-7886ff4b8bae_2000x1500.png 848w, https://substackcdn.com/image/fetch/$s_!Vtwf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1af305d-90b5-4e3f-bd2a-7886ff4b8bae_2000x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!Vtwf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1af305d-90b5-4e3f-bd2a-7886ff4b8bae_2000x1500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Twitter drama, and my 4th product</h2><p>Around February 2023, shortly after Elon Musk bought Twitter, they announced that Twitter API (which Black Magic is using) will no longer be free.</p><p>I didn&#8217;t think this would be a big deal. I was making good money from Black Magic and would be happy to pay.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bTFG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5098faa1-2e6f-4412-828f-d3245c51a0f5_1410x792.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bTFG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5098faa1-2e6f-4412-828f-d3245c51a0f5_1410x792.png 424w, https://substackcdn.com/image/fetch/$s_!bTFG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5098faa1-2e6f-4412-828f-d3245c51a0f5_1410x792.png 848w, https://substackcdn.com/image/fetch/$s_!bTFG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5098faa1-2e6f-4412-828f-d3245c51a0f5_1410x792.png 1272w, https://substackcdn.com/image/fetch/$s_!bTFG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5098faa1-2e6f-4412-828f-d3245c51a0f5_1410x792.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bTFG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5098faa1-2e6f-4412-828f-d3245c51a0f5_1410x792.png" width="1410" height="792" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5098faa1-2e6f-4412-828f-d3245c51a0f5_1410x792.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:792,&quot;width&quot;:1410,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:355270,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!bTFG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5098faa1-2e6f-4412-828f-d3245c51a0f5_1410x792.png 424w, https://substackcdn.com/image/fetch/$s_!bTFG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5098faa1-2e6f-4412-828f-d3245c51a0f5_1410x792.png 848w, https://substackcdn.com/image/fetch/$s_!bTFG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5098faa1-2e6f-4412-828f-d3245c51a0f5_1410x792.png 1272w, https://substackcdn.com/image/fetch/$s_!bTFG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5098faa1-2e6f-4412-828f-d3245c51a0f5_1410x792.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Little did I know that, the price was announced <strong>$42K/month</strong> (per month, not per year). There was a smaller plan at $100/month, but the restrictions and limits are so low that you can&#8217;t even run a weather bot with it.</p><p>Black Magic was at $14K MRR at the time. That means there&#8217;s no way I could afford the API price.</p><p>I was &#8220;forced&#8221; to either shut down or sell.</p><p>Long story short, I sold Black Magic for <strong>$128K</strong>. You can read about the whole story here:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b93bee0a-78ac-4b12-9a72-669414339159&quot;,&quot;caption&quot;:&quot;Hello everyone, it&#8217;s Tony again with another monthly update &#128516;&#128075; In case you&#8217;re new here: &#128075; In the past 2 years, I built and grew BlackMagic.so - a Twitter SaaS - from $0 to $14K monthly recurring revenue. Black Magic was the most successful product I have ever built.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;May 2023: I sold my 2 years old business for only $128K&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:38694024,&quot;name&quot;:&quot;Tony Dinh&quot;,&quot;bio&quot;:&quot;Indie hacker.\n\nTypingMind.com (New!)\nChatOrigin.com\nXnapper.com\nBlackMagic.so\nDevUtils.com&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/52001ffc-c1bd-44ea-b987-45661aab4680_512x512.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2023-06-05T14:22:10.900Z&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%2F159fb613-e436-46a0-85b2-82859a6a2457_1458x724.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://news.tonydinh.com/p/may-2023-i-sold-my-2-years-old-business&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:125697037,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:75,&quot;comment_count&quot;:21,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Tony Dinh's Newsletter&quot;,&quot;publication_logo_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%2F0fb71642-2c8a-4280-bc78-5b9a53eba457_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>As of now, I no longer own Black Magic, but I still love the product and use it every day.</p><p>The funny thing is, a few months later, Twitter changed their mind about the pricing. They introduced a new plan at $5,000/month.</p><p>This plan comes with some restrictions and API limits, it may or may not work for Black Magic, but I didn&#8217;t even bothered to check, because it was no longer matter.</p><p>So that was my first product exit. Not the way I wanted, but there was nothing I could do.</p><p>Around the same time, I started working on a new product: Typing Mind.</p><h2>Typing Mind: my 4th product</h2><p>OpenAI <a href="https://openai.com/blog/introducing-chatgpt-and-whisper-apis">announced the ChatGPT API</a> on March 1, 2023. I&#8217;ve been using ChatGPT via the web interface for a while at that point.</p><p>The web interface was very limited and I get annoyed by it for a long time. For example, you can&#8217;t search your previous chats, the text output was slow, etc. Most annoyingly, the app logged you out and you had to login again every day, which was extremely frustrating.</p><p>At some point I was thinking of writing a Chrome extension to scratch my own itch.</p><p>OpenAI releasing the API was exactly what I was wating for. I immediately think of writing a better UI for ChatGPT using the API.</p><p>The next day, I registered the domain name <a href="https://www.typingmind.com">typingmind.com</a> and started working on the prototype for a few hours.</p><p>The Twitter drama kept me busy for the rest of the week, but I managed to get the first version of Typing Mind finished on the weekend.</p><p>On Monday, 6th March 2023, I released the first version to the public, and <a href="https://twitter.com/tdinh_me/status/1632631838866051074">announced it on Twitter</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_!FdYX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5383e8fb-0d4e-49bc-913d-9e7ad7f2c20a_1472x1948.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FdYX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5383e8fb-0d4e-49bc-913d-9e7ad7f2c20a_1472x1948.png 424w, https://substackcdn.com/image/fetch/$s_!FdYX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5383e8fb-0d4e-49bc-913d-9e7ad7f2c20a_1472x1948.png 848w, https://substackcdn.com/image/fetch/$s_!FdYX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5383e8fb-0d4e-49bc-913d-9e7ad7f2c20a_1472x1948.png 1272w, https://substackcdn.com/image/fetch/$s_!FdYX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5383e8fb-0d4e-49bc-913d-9e7ad7f2c20a_1472x1948.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FdYX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5383e8fb-0d4e-49bc-913d-9e7ad7f2c20a_1472x1948.png" width="618" height="817.9162087912088" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5383e8fb-0d4e-49bc-913d-9e7ad7f2c20a_1472x1948.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1927,&quot;width&quot;:1456,&quot;resizeWidth&quot;:618,&quot;bytes&quot;:659359,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FdYX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5383e8fb-0d4e-49bc-913d-9e7ad7f2c20a_1472x1948.png 424w, https://substackcdn.com/image/fetch/$s_!FdYX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5383e8fb-0d4e-49bc-913d-9e7ad7f2c20a_1472x1948.png 848w, https://substackcdn.com/image/fetch/$s_!FdYX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5383e8fb-0d4e-49bc-913d-9e7ad7f2c20a_1472x1948.png 1272w, https://substackcdn.com/image/fetch/$s_!FdYX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5383e8fb-0d4e-49bc-913d-9e7ad7f2c20a_1472x1948.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The app immediately received a lot of traction.</p><p>I added a paid plan at <strong>$9</strong>, then slowly increased the price as I add more features to the app in the next few days (it&#8217;s now priced at <strong>$39</strong>)</p><p>Within the first day of releasing the app, I made $1K of revenue, then $2K the next day, then $4K the next day.</p><p>In 7 days, I made a total of <strong>$22K </strong>of license revenue.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;68430d99-7b4f-4532-905d-fe288a557cd6&quot;,&quot;caption&quot;:&quot;Hello everyone! &#128075; It&#8217;s Tony again &#128516; March 2023 has been a crazy month for me, both positively and negatively. Here&#8217;s a recap: My new AI product typingmind.com was a success! Twitter announced &#8220;no more free API&#8221; and charged $42K/month. What will happen to Black Magic?&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Making $22K in 7 days: the story&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:38694024,&quot;name&quot;:&quot;Tony Dinh&quot;,&quot;bio&quot;:&quot;Indie hacker.\n\nTypingMind.com (New!)\nChatOrigin.com\nXnapper.com\nBlackMagic.so\nDevUtils.com&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/52001ffc-c1bd-44ea-b987-45661aab4680_512x512.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2023-04-02T08:15:51.551Z&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%2F64d1b610-ca35-4640-bcfc-d8d61141d84f_2400x1256.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://news.tonydinh.com/p/making-22k-in-7-days-the-story&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:112149795,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:66,&quot;comment_count&quot;:13,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Tony Dinh's Newsletter&quot;,&quot;publication_logo_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%2F0fb71642-2c8a-4280-bc78-5b9a53eba457_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Typing Mind has become my primary focus since April. I&#8217;ve been adding features, improving the product, and building a <a href="https://custom.typingmind.com">B2B version</a> for companies to create their own ChatGPT UI. The app is currently making ~<strong>$30K/month</strong> revenue on average.</p><p>And this is where I am at right now.</p><h2>Building a team</h2><p>One thing significantly changed in my 2nd year is that I have started to build a team.</p><p>I&#8217;ve always prefer to go solo. Working alone mean I don&#8217;t have to spend time on discussions, meeting, and more time for building.</p><p>However, it get boring quickly to do the same thing over and over again. Things like customer support and some coding task that I know how to do but don&#8217;t find it interesting to do anymore.</p><p>So over the last year, I&#8217;ve hired 1 full-time employee (for content, marketing, support) and 3 freelancers (developers).</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;badd532b-fb50-45c8-99a6-d67e8b834df5&quot;,&quot;caption&quot;:&quot;Hello everyone, it&#8217;s Tony again &#128516;&#128075; This month&#8217;s update will be a quick one. Mostly working on TypingMind I&#8217;ve been spending most of my time in June working on typingmind.com The team and I have added 20+ new updates to the product. We also released a Plugins system (and a plugin marketplace soon!).&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Jun 2023: How I work with employees&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:38694024,&quot;name&quot;:&quot;Tony Dinh&quot;,&quot;bio&quot;:&quot;Indie hacker.\n\nTypingMind.com (New!)\nChatOrigin.com\nXnapper.com\nBlackMagic.so\nDevUtils.com&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/52001ffc-c1bd-44ea-b987-45661aab4680_512x512.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2023-07-06T16:09:54.780Z&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%2Fd44fbdb2-b299-47c1-a7ff-6c975dfdc53d_4032x3024.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://news.tonydinh.com/p/jun-2023-how-i-work-with-employees&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:133459768,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:21,&quot;comment_count&quot;:1,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Tony Dinh's Newsletter&quot;,&quot;publication_logo_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%2F0fb71642-2c8a-4280-bc78-5b9a53eba457_512x512.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>With the help from the team, I got back a lot of my free time without sacrificing customers&#8217; happiness. The products also keep moving forward (new features and bug fixes) without me having to actively working.</p><p>I still work 4 hours/day on average, but now I only work on things I&#8217;m interested in, whether it&#8217;s a new feature, or experimenting with a new product.</p><p>What do I do with the rest 20 hours in the day?</p><p>Let&#8217;s talk a bit about lifestyle change.</p><h2>Lifestyle changes, the good &amp; bad</h2><p>I absolutely love working for myself and not having a 9-5 job. However, there are pros and cons to everything. After 2 years on this journey, I can understand why this is not the way for everyone.</p><h3>The good</h3><p>The first and most important benefit to me is the freedom.</p><p>When I have reached the ramen profitability level, I can choose to change my &#8220;work-life-balance&#8221; level as how I want it.</p><p>I have so much free time that allowed me to pursue other interests I have in life, like <a href="https://twitter.com/tdinh_me/status/1613498539216375810">learning hardware</a>, <a href="https://x.com/tdinh_me/status/1550390303936647168?s=20">surfing</a>, <a href="https://twitter.com/tdinh_me/status/1531661506756345857">traveling</a>, <a href="https://twitter.com/tdinh_me/status/1463804239948382211">playing games</a>, etc.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!z_tt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9df88e5f-743f-4f70-be61-14da9ab237b7_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!z_tt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9df88e5f-743f-4f70-be61-14da9ab237b7_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!z_tt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9df88e5f-743f-4f70-be61-14da9ab237b7_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!z_tt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9df88e5f-743f-4f70-be61-14da9ab237b7_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!z_tt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9df88e5f-743f-4f70-be61-14da9ab237b7_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!z_tt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9df88e5f-743f-4f70-be61-14da9ab237b7_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9df88e5f-743f-4f70-be61-14da9ab237b7_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;: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_!z_tt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9df88e5f-743f-4f70-be61-14da9ab237b7_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!z_tt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9df88e5f-743f-4f70-be61-14da9ab237b7_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!z_tt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9df88e5f-743f-4f70-be61-14da9ab237b7_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!z_tt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9df88e5f-743f-4f70-be61-14da9ab237b7_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">I surf almost every day now &#127940;&#8205;&#9794;&#65039;</figcaption></figure></div><p>I can choose to work on any day as I feel like it, or I can spend the whole day watching Netflix without asking anyone for permission.</p><p>The money is also great, I make much more than my last drawn salary (which was ~$9k/month). To make $45K/month as an employee is not an easy task, I would have to be extremely good at coding (and also office politics!).</p><p>The learnings are also one of the benefits.</p><p>Running a company requires a wide range of skills that I learned along the way: marketing, legal, finance, partnership, sales, etc.</p><p>Even thought I&#8217;m at a very small scale, I feel much more confident talking about business now compared to when I was just an employee doing what being told.</p><h2>The bad</h2><p><strong>The cold start</strong></p><p>Nothing comes for free. It could be very challenging and stressful to find a product and make it work, especially in the beginning.</p><p>I always tell people not to quit their job without a stable revenue each month, a lot of savings, and backup plans.</p><p>Working on side projects while having a full-time job can be stressful too. I was lucky because I haven&#8217;t yet have a family and only need to take care of myself. For people who have a full-time job, wife, and kids, there isn&#8217;t much time and energy left to work on side projects. The risk factor is also much larger in case of failure.</p><p><strong>The risks</strong></p><p>Even when you have a successful product, the risks still remain.</p><p>Revenue may fluctuate, the market may change, new competitors showing up, or maybe you do something stupid. It could affect the business and so affects you.</p><p>Look at what happened to Black Magic, if I couldn&#8217;t managed to get the new product (Typing Mind) generating a new revenue stream for me at the time, I would be extremely stressed, which can cause a spiral downturn, who knows.</p><p>This is also the reason why I prefer to have multiple products, to reduce the risk of one dying.</p><p><strong>The social life</strong></p><p>I had to sacrifice my professional network and social life. It gets very lonely.</p><p>When I quit my job, I didn&#8217;t think this would be a big problem, so I didn&#8217;t really paying attention to keeping my connections with people around me.</p><p>Now I&#8217;m starting to build the back connections, but it&#8217;s difficult to keep in touch with people when you no longer work in the same office and have the same topics to talk about.</p><p>My friends all have a full-time jobs, not a lot of indie hacker friends around me and they all have different favorite country/city to live. My best option if I want to fix this is to move to some popular indie hubs around the world like Bali or Lisbon, but I still think this isn&#8217;t going to work long-term.</p><p>It&#8217;s just the trade off I have to make going on this path. Lucky for me at least I still have the online Twitter community to hang out with.</p><h2>Today and the future. Takeaways.</h2><p>So that&#8217;s my entire story from the very beginning.</p><p>What&#8217;s next? I don&#8217;t really know.</p><p>Right now, I don&#8217;t have a long-term plan. I only have a general guideline that I live to: stay healthy, make more money by doing things that I&#8217;m interested in, all of that while not sacrificing my freedom.</p><p>Work and enjoy life at the same time.</p><p>As for short-term plan, I&#8217;ll keep working on my products: Typing Mind (current focus), DevUtils, Xnapper. Maybe even a new product in the near future!</p><p>I hope this post will be helpful for anyone want to pursue the same path.</p><p>If you are looking to do the same thing as I did, here are some of my key takeaways:</p><ul><li><p>First and foremost, keep in mind that all of this is my story, &#8220;my way&#8221;. It&#8217;s definitely not the &#8220;only way&#8221;, and probably not &#8220;the best way&#8221;. All you can do is to cherry pick what I shared here and see if it works for you. There is no formula to guarantee success.</p></li><li><p>If you plan to work alone like me, try to become a generalist: know a bit of everything. For example, if you are a developer, don&#8217;t restrict yourself to only work as a frontend dev, try to develop in backend too, and mobile apps, and design, then also learn marketing, etc. Make use of the 80/20 rule: use 20% of your effort to capture 80% of the value.</p></li><li><p>Build unfair advantages for yourself. I considered my coding skills as an unfair advantage. I can build apps very fast because I&#8217;ve been doing it for years. If you don&#8217;t have any unfair advantages, find it or build it today.</p></li><li><p>Build an audience. This is not for everyone, but if you can, give it a try. Build an audience or a community of your own on Twitter/Reddit/internet forums. Anything you do later will be much more easier. The benefit is compounded. I built an audience of 97K followers on Twitter over the past 2 years and now that&#8217;s one of my unfair advantages too.</p></li><li><p>Ship early, ship small, ship frequently. Don&#8217;t stuck on one idea for too long if it doesn&#8217;t work. Practice shipping products more frequently to build &#8220;muscle memory&#8221;.</p></li><li><p>When building product: focus on the core value it brings to the customer. Practice viewing the product from customer point-of-view to avoid over-engineering. Talk to your customers and involve them to your building process.</p></li><li><p>Be patient and be prepared for luck. It&#8217;s a long term game.</p></li></ul><p>That&#8217;s all I have to share for now. If you like what you&#8217;ve just read, make sure to subscribe to <a href="https://news.tonydinh.com">my newsletter</a>. I write once a month with updates on my journey and share things I know.</p><h2>Finally, thank you for all the support!</h2><p>I&#8217;m grateful to have received a lot of support from the community (that includes you), whether it&#8217;s on Twitter, on Indie Hackers forum, or from this newsletter. Especially on the early days. The community is a big factor in my success.</p><p>I hope this post will contribute my small part back to the community, and I hope to see more indie hackers in the future.</p><p>Thank you so much and see you soon!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.tonydinh.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">Thanks for reading Tony Dinh's Newsletter! Subscribe for free to receive new posts and support my work.</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>]]></content:encoded></item><item><title><![CDATA[July 2023: $6K MRR – getting back on recurring revenue]]></title><description><![CDATA[small updates from me in July 2023]]></description><link>https://news.tonydinh.com/p/july-2023-6k-mrr-getting-back-on</link><guid isPermaLink="false">https://news.tonydinh.com/p/july-2023-6k-mrr-getting-back-on</guid><dc:creator><![CDATA[Tony Dinh]]></dc:creator><pubDate>Mon, 07 Aug 2023 04:02:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!KuzE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6d5147a-c710-4ee4-96d5-87581c77556f_1454x1966.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><a href="https://twitter.com/emilthemaker/status/1688148032649400320">This tweet</a> from Emil sums up what I&#8217;ve done in the last few months pretty well: I&#8217;m in love with building <a href="https://www.typingmind.com">Typing Mind</a> to be the best AI chat app out there &#128525;</p><ul><li><p>111 free updates since release.</p></li><li><p>New update on average 1.3 days.</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_!KuzE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6d5147a-c710-4ee4-96d5-87581c77556f_1454x1966.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KuzE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6d5147a-c710-4ee4-96d5-87581c77556f_1454x1966.png 424w, https://substackcdn.com/image/fetch/$s_!KuzE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6d5147a-c710-4ee4-96d5-87581c77556f_1454x1966.png 848w, https://substackcdn.com/image/fetch/$s_!KuzE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6d5147a-c710-4ee4-96d5-87581c77556f_1454x1966.png 1272w, https://substackcdn.com/image/fetch/$s_!KuzE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6d5147a-c710-4ee4-96d5-87581c77556f_1454x1966.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KuzE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6d5147a-c710-4ee4-96d5-87581c77556f_1454x1966.png" width="1454" height="1966" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f6d5147a-c710-4ee4-96d5-87581c77556f_1454x1966.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1966,&quot;width&quot;:1454,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:761645,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KuzE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6d5147a-c710-4ee4-96d5-87581c77556f_1454x1966.png 424w, https://substackcdn.com/image/fetch/$s_!KuzE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6d5147a-c710-4ee4-96d5-87581c77556f_1454x1966.png 848w, https://substackcdn.com/image/fetch/$s_!KuzE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6d5147a-c710-4ee4-96d5-87581c77556f_1454x1966.png 1272w, https://substackcdn.com/image/fetch/$s_!KuzE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6d5147a-c710-4ee4-96d5-87581c77556f_1454x1966.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>So, in this month&#8217;s issue, I don&#8217;t really have much update other than working on the same thing: Typing Mind.</p><p>Here are some updates &amp; my thoughts on how to improve Typing Mind further.</p><h2>$6K Monthly Recurring Revenue</h2><p>The <a href="https://custom.typingmind.com">Typing Mind Custom</a> version is doing pretty well!</p><p>It&#8217;s another product line of Typing Mind that allows people to create a custom version of Typing Mind for their team. It costs $79/month.</p><p>I&#8217;ve reached $6K MRR a few days ago.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!83IT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f8c60-440d-418d-aadf-f0efcc8afa3c_1132x742.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!83IT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f8c60-440d-418d-aadf-f0efcc8afa3c_1132x742.jpeg 424w, https://substackcdn.com/image/fetch/$s_!83IT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f8c60-440d-418d-aadf-f0efcc8afa3c_1132x742.jpeg 848w, https://substackcdn.com/image/fetch/$s_!83IT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f8c60-440d-418d-aadf-f0efcc8afa3c_1132x742.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!83IT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f8c60-440d-418d-aadf-f0efcc8afa3c_1132x742.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!83IT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f8c60-440d-418d-aadf-f0efcc8afa3c_1132x742.jpeg" width="1132" height="742" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7c2f8c60-440d-418d-aadf-f0efcc8afa3c_1132x742.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:742,&quot;width&quot;:1132,&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_!83IT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f8c60-440d-418d-aadf-f0efcc8afa3c_1132x742.jpeg 424w, https://substackcdn.com/image/fetch/$s_!83IT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f8c60-440d-418d-aadf-f0efcc8afa3c_1132x742.jpeg 848w, https://substackcdn.com/image/fetch/$s_!83IT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f8c60-440d-418d-aadf-f0efcc8afa3c_1132x742.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!83IT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f8c60-440d-418d-aadf-f0efcc8afa3c_1132x742.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I haven&#8217;t put much effort into marketing for this one yet, as I feel it is not quite ready. The only place I&#8217;m advertising this is in the footer of Typing Mind:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pVcQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84085fea-96cb-49a6-9abc-46845008125f_992x728.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pVcQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84085fea-96cb-49a6-9abc-46845008125f_992x728.png 424w, https://substackcdn.com/image/fetch/$s_!pVcQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84085fea-96cb-49a6-9abc-46845008125f_992x728.png 848w, https://substackcdn.com/image/fetch/$s_!pVcQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84085fea-96cb-49a6-9abc-46845008125f_992x728.png 1272w, https://substackcdn.com/image/fetch/$s_!pVcQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84085fea-96cb-49a6-9abc-46845008125f_992x728.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pVcQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84085fea-96cb-49a6-9abc-46845008125f_992x728.png" width="556" height="408.03225806451616" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/84085fea-96cb-49a6-9abc-46845008125f_992x728.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:728,&quot;width&quot;:992,&quot;resizeWidth&quot;:556,&quot;bytes&quot;:325998,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pVcQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84085fea-96cb-49a6-9abc-46845008125f_992x728.png 424w, https://substackcdn.com/image/fetch/$s_!pVcQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84085fea-96cb-49a6-9abc-46845008125f_992x728.png 848w, https://substackcdn.com/image/fetch/$s_!pVcQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84085fea-96cb-49a6-9abc-46845008125f_992x728.png 1272w, https://substackcdn.com/image/fetch/$s_!pVcQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84085fea-96cb-49a6-9abc-46845008125f_992x728.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It&#8217;s nice to know that I still get customers signup from this almost every day.</p><p>I also created a completely new landing page with Framer (first time using a no-code landing page builder!): <a href="https://custom.typingmind.com">custom.typingmind.com</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_!ov79!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9158c2c7-f890-45fa-9921-572270e53aa5_2390x1778.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ov79!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9158c2c7-f890-45fa-9921-572270e53aa5_2390x1778.png 424w, https://substackcdn.com/image/fetch/$s_!ov79!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9158c2c7-f890-45fa-9921-572270e53aa5_2390x1778.png 848w, https://substackcdn.com/image/fetch/$s_!ov79!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9158c2c7-f890-45fa-9921-572270e53aa5_2390x1778.png 1272w, https://substackcdn.com/image/fetch/$s_!ov79!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9158c2c7-f890-45fa-9921-572270e53aa5_2390x1778.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ov79!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9158c2c7-f890-45fa-9921-572270e53aa5_2390x1778.png" width="1456" height="1083" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9158c2c7-f890-45fa-9921-572270e53aa5_2390x1778.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1083,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:780585,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ov79!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9158c2c7-f890-45fa-9921-572270e53aa5_2390x1778.png 424w, https://substackcdn.com/image/fetch/$s_!ov79!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9158c2c7-f890-45fa-9921-572270e53aa5_2390x1778.png 848w, https://substackcdn.com/image/fetch/$s_!ov79!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9158c2c7-f890-45fa-9921-572270e53aa5_2390x1778.png 1272w, https://substackcdn.com/image/fetch/$s_!ov79!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9158c2c7-f890-45fa-9921-572270e53aa5_2390x1778.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Focusing on B2B customers</h2><p>I have secured one contract with a B2B customer for Typing Mind Custom with a contract value of $20K so far.</p><p>Turns out, some people want to create a customized, self-hosted, custom-trained version of Typing Mind for their team or to resell it to their customers.</p><p>So I&#8217;ve been spending the last few weeks trying to make Typing Mind self-hostable: isolating all the service dependencies and technical stack, making it easy to deploy on another infrastructure.</p><p>The technical stack of Typing Mind is actually quite simple: one static web app + a cloud sync server. The cloud sync server requires a MySQL database and an SMTP email server to send login emails. That&#8217;s it!</p><p>I&#8217;m looking forward to onboarding more customers to the Custom version soon.</p><p>Also, this is the first time I have a &#8220;Contact Us&#8221; button in the pricing page &#128514;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BXrI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdc0bfe4-ab1b-4a65-8b86-045ae57330a1_2514x1472.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BXrI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdc0bfe4-ab1b-4a65-8b86-045ae57330a1_2514x1472.png 424w, https://substackcdn.com/image/fetch/$s_!BXrI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdc0bfe4-ab1b-4a65-8b86-045ae57330a1_2514x1472.png 848w, https://substackcdn.com/image/fetch/$s_!BXrI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdc0bfe4-ab1b-4a65-8b86-045ae57330a1_2514x1472.png 1272w, https://substackcdn.com/image/fetch/$s_!BXrI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdc0bfe4-ab1b-4a65-8b86-045ae57330a1_2514x1472.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BXrI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdc0bfe4-ab1b-4a65-8b86-045ae57330a1_2514x1472.png" width="1456" height="853" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cdc0bfe4-ab1b-4a65-8b86-045ae57330a1_2514x1472.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:853,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:576222,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BXrI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdc0bfe4-ab1b-4a65-8b86-045ae57330a1_2514x1472.png 424w, https://substackcdn.com/image/fetch/$s_!BXrI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdc0bfe4-ab1b-4a65-8b86-045ae57330a1_2514x1472.png 848w, https://substackcdn.com/image/fetch/$s_!BXrI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdc0bfe4-ab1b-4a65-8b86-045ae57330a1_2514x1472.png 1272w, https://substackcdn.com/image/fetch/$s_!BXrI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdc0bfe4-ab1b-4a65-8b86-045ae57330a1_2514x1472.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><br>I&#8217;ve always hated the &#8220;Contact Us&#8221; button. I wanted everything to be self-served, which is stress-free for me.</p><p>So I&#8217;ll have to adapt to doing business with B2B customers, a lot of emails &amp; calls. A lot of things to learn.</p><p>I still want to make it self-served in the end.</p><p>My plan is to get in touch with these businesses, understand what they need, and how to create some good generic packages that can fit most of them, then I&#8217;ll sell those packages fully autonomously without the &#8220;Contact Us&#8221; button.</p><p>Really hope this works.</p><h2>Some questions from Twitter</h2><p>I <a href="https://twitter.com/tdinh_me/status/1687627030719016962">asked what I should share more</a> on this issue. Here are the questions I received and the answers.</p><h3>About Marketing</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!P1nb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d72cef1-a0b8-4bd9-926f-d55e43cb131a_1446x516.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!P1nb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d72cef1-a0b8-4bd9-926f-d55e43cb131a_1446x516.png 424w, https://substackcdn.com/image/fetch/$s_!P1nb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d72cef1-a0b8-4bd9-926f-d55e43cb131a_1446x516.png 848w, https://substackcdn.com/image/fetch/$s_!P1nb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d72cef1-a0b8-4bd9-926f-d55e43cb131a_1446x516.png 1272w, https://substackcdn.com/image/fetch/$s_!P1nb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d72cef1-a0b8-4bd9-926f-d55e43cb131a_1446x516.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!P1nb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d72cef1-a0b8-4bd9-926f-d55e43cb131a_1446x516.png" width="1446" height="516" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4d72cef1-a0b8-4bd9-926f-d55e43cb131a_1446x516.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:516,&quot;width&quot;:1446,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:275884,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!P1nb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d72cef1-a0b8-4bd9-926f-d55e43cb131a_1446x516.png 424w, https://substackcdn.com/image/fetch/$s_!P1nb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d72cef1-a0b8-4bd9-926f-d55e43cb131a_1446x516.png 848w, https://substackcdn.com/image/fetch/$s_!P1nb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d72cef1-a0b8-4bd9-926f-d55e43cb131a_1446x516.png 1272w, https://substackcdn.com/image/fetch/$s_!P1nb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d72cef1-a0b8-4bd9-926f-d55e43cb131a_1446x516.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I build <a href="https://blog.typingmind.com">blog for SEO</a>, <a href="https://typingmind.com/affiliate">affiliates</a>, but most traffic comes from Twitter + Google (direct keywords).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tX8g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16050640-d71b-4a48-803a-fff6cafb0764_1424x986.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tX8g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16050640-d71b-4a48-803a-fff6cafb0764_1424x986.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tX8g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16050640-d71b-4a48-803a-fff6cafb0764_1424x986.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tX8g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16050640-d71b-4a48-803a-fff6cafb0764_1424x986.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tX8g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16050640-d71b-4a48-803a-fff6cafb0764_1424x986.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tX8g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16050640-d71b-4a48-803a-fff6cafb0764_1424x986.jpeg" width="1424" height="986" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/16050640-d71b-4a48-803a-fff6cafb0764_1424x986.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:986,&quot;width&quot;:1424,&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_!tX8g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16050640-d71b-4a48-803a-fff6cafb0764_1424x986.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tX8g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16050640-d71b-4a48-803a-fff6cafb0764_1424x986.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tX8g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16050640-d71b-4a48-803a-fff6cafb0764_1424x986.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tX8g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16050640-d71b-4a48-803a-fff6cafb0764_1424x986.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Web traffic to TypingMind.com</figcaption></figure></div><h3>About Hiring</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!84aJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85a8650-f0f2-4235-958b-5a3a59201667_1460x602.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!84aJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85a8650-f0f2-4235-958b-5a3a59201667_1460x602.png 424w, https://substackcdn.com/image/fetch/$s_!84aJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85a8650-f0f2-4235-958b-5a3a59201667_1460x602.png 848w, https://substackcdn.com/image/fetch/$s_!84aJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85a8650-f0f2-4235-958b-5a3a59201667_1460x602.png 1272w, https://substackcdn.com/image/fetch/$s_!84aJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85a8650-f0f2-4235-958b-5a3a59201667_1460x602.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!84aJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85a8650-f0f2-4235-958b-5a3a59201667_1460x602.png" width="1456" height="600" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f85a8650-f0f2-4235-958b-5a3a59201667_1460x602.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:600,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:322596,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!84aJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85a8650-f0f2-4235-958b-5a3a59201667_1460x602.png 424w, https://substackcdn.com/image/fetch/$s_!84aJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85a8650-f0f2-4235-958b-5a3a59201667_1460x602.png 848w, https://substackcdn.com/image/fetch/$s_!84aJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85a8650-f0f2-4235-958b-5a3a59201667_1460x602.png 1272w, https://substackcdn.com/image/fetch/$s_!84aJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85a8650-f0f2-4235-958b-5a3a59201667_1460x602.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I asked friends to introduce me to their friends, so I didn't really have to spend much time on this. (Probably not a helpful answer, I know &#128517;, but that&#8217;s how I hired all of my team)</p><h3>Validating Product Ideas</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Emmd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb6fa435-437c-4f21-88d7-0715fb11f75d_1352x562.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Emmd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb6fa435-437c-4f21-88d7-0715fb11f75d_1352x562.png 424w, https://substackcdn.com/image/fetch/$s_!Emmd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb6fa435-437c-4f21-88d7-0715fb11f75d_1352x562.png 848w, https://substackcdn.com/image/fetch/$s_!Emmd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb6fa435-437c-4f21-88d7-0715fb11f75d_1352x562.png 1272w, https://substackcdn.com/image/fetch/$s_!Emmd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb6fa435-437c-4f21-88d7-0715fb11f75d_1352x562.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Emmd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb6fa435-437c-4f21-88d7-0715fb11f75d_1352x562.png" width="1352" height="562" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bb6fa435-437c-4f21-88d7-0715fb11f75d_1352x562.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:562,&quot;width&quot;:1352,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:267111,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Emmd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb6fa435-437c-4f21-88d7-0715fb11f75d_1352x562.png 424w, https://substackcdn.com/image/fetch/$s_!Emmd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb6fa435-437c-4f21-88d7-0715fb11f75d_1352x562.png 848w, https://substackcdn.com/image/fetch/$s_!Emmd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb6fa435-437c-4f21-88d7-0715fb11f75d_1352x562.png 1272w, https://substackcdn.com/image/fetch/$s_!Emmd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb6fa435-437c-4f21-88d7-0715fb11f75d_1352x562.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>All of my ideas are in the &#8220;build for myself&#8221; category, so in a way, you can say that I validate my ideas on myself.</p><p>Then if I can find more people like me (who have the same pain point), it will likely be a successful product.</p><p>Some of my successful products: DevUtils (3 years old), Xnapper (1 year old), Black Magic (2 years old), and Typing Mind (6 months old). I still use all of them every day.</p><p>For my failed products (see my <a href="https://twitter.com/tdinh_me">Twitter banner</a>), I ended up not using them myself. If I don&#8217;t even use my own product, who will? &#128514;</p><p>Remember that this is just one way of validating ideas, not the only way. It&#8217;s also not the best way, it just works for me (and maybe for you too).</p><p>I shared more details on an example of how I validate &amp; build products in previous issues: <a href="https://www.indiehackers.com/post/xnapper-s-launch-report-4-212-learnings-a86905f09e">here is the Xnapper one</a>, <a href="https://news.tonydinh.com/p/322-2k-mrr-in-60-days-by-building-in-public-910564">the Black Magic one</a>, and <a href="https://news.tonydinh.com/p/making-22k-in-7-days-the-story">here is the Typing Mind one</a>.</p><h2>That&#8217;s all!</h2><p>Thank you for reading this far!</p><p>See you again in the next updates.</p><p>Cheers!</p>]]></content:encoded></item><item><title><![CDATA[Jun 2023: How I work with employees]]></title><description><![CDATA[Some quick updates from me in June 2023]]></description><link>https://news.tonydinh.com/p/jun-2023-how-i-work-with-employees</link><guid isPermaLink="false">https://news.tonydinh.com/p/jun-2023-how-i-work-with-employees</guid><dc:creator><![CDATA[Tony Dinh]]></dc:creator><pubDate>Thu, 06 Jul 2023 16:09:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!nhNb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd44fbdb2-b299-47c1-a7ff-6c975dfdc53d_4032x3024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello everyone, it&#8217;s Tony again &#128516;&#128075;</p><p>This month&#8217;s update will be a quick one.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nhNb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd44fbdb2-b299-47c1-a7ff-6c975dfdc53d_4032x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nhNb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd44fbdb2-b299-47c1-a7ff-6c975dfdc53d_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nhNb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd44fbdb2-b299-47c1-a7ff-6c975dfdc53d_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nhNb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd44fbdb2-b299-47c1-a7ff-6c975dfdc53d_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nhNb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd44fbdb2-b299-47c1-a7ff-6c975dfdc53d_4032x3024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nhNb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd44fbdb2-b299-47c1-a7ff-6c975dfdc53d_4032x3024.jpeg" width="1456" height="1941" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d44fbdb2-b299-47c1-a7ff-6c975dfdc53d_4032x3024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1941,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3718873,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nhNb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd44fbdb2-b299-47c1-a7ff-6c975dfdc53d_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nhNb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd44fbdb2-b299-47c1-a7ff-6c975dfdc53d_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nhNb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd44fbdb2-b299-47c1-a7ff-6c975dfdc53d_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nhNb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd44fbdb2-b299-47c1-a7ff-6c975dfdc53d_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Loving my new surfboard :)</figcaption></figure></div><h2>Mostly working on TypingMind</h2><p>I&#8217;ve been spending most of my time in June working on <a href="https://typingmind.com">typingmind.com</a></p><p>The team and I have added <a href="https://www.typingmind.com/changelog">20+ new updates</a> to the product. We also released a Plugins system (and a plugin marketplace soon!).</p><p>It has been growing quite stable over the last month.</p><p>I&#8217;m currently making ~$30K/month from Typing Mind, with ~$4.5K being recurring revenue:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OlKj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2879010f-f442-4572-bf12-a5d9968845df_1028x742.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OlKj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2879010f-f442-4572-bf12-a5d9968845df_1028x742.png 424w, https://substackcdn.com/image/fetch/$s_!OlKj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2879010f-f442-4572-bf12-a5d9968845df_1028x742.png 848w, https://substackcdn.com/image/fetch/$s_!OlKj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2879010f-f442-4572-bf12-a5d9968845df_1028x742.png 1272w, https://substackcdn.com/image/fetch/$s_!OlKj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2879010f-f442-4572-bf12-a5d9968845df_1028x742.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OlKj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2879010f-f442-4572-bf12-a5d9968845df_1028x742.png" width="568" height="409.97665369649803" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2879010f-f442-4572-bf12-a5d9968845df_1028x742.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:742,&quot;width&quot;:1028,&quot;resizeWidth&quot;:568,&quot;bytes&quot;:169771,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OlKj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2879010f-f442-4572-bf12-a5d9968845df_1028x742.png 424w, https://substackcdn.com/image/fetch/$s_!OlKj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2879010f-f442-4572-bf12-a5d9968845df_1028x742.png 848w, https://substackcdn.com/image/fetch/$s_!OlKj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2879010f-f442-4572-bf12-a5d9968845df_1028x742.png 1272w, https://substackcdn.com/image/fetch/$s_!OlKj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2879010f-f442-4572-bf12-a5d9968845df_1028x742.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The sales mostly come from my Twitter and word of mouth.</p><p>By the way, if you are a user, join the <a href="https://www.typingmind.com/discord">Discord server</a> I created for Typing Mind. There are more than 800 members now!</p><h2>Some changes to how I run my product</h2><p>Compared to my other products, Typing Mind has turned out to be the most successful one.</p><p>I now have a team to help me manage so many tasks that would stress me out if I were to do it on my own.</p><ul><li><p>One full-time employee (Ngoc - you may have seen her when contacting support). She helps me with everything except coding. She has been excellent at keeping up with customer support, marketing, content writing, partnerships, and everything in between.</p></li><li><p>Two part-time developers (Viet Anh and Ann) help me on delivering new features, improvements, and bug fixes.</p></li></ul><p>Over the past months, I think the team is running very well.</p><p>I&#8217;m no longer working solo like I did with my previous products, but I still code almost every day and don&#8217;t have to spend a lot of time managing employees and doing &#8220;management works&#8221;, which is great.</p><h2>How I work with employees</h2><p>Sharing some more on this as I think it could be interesting.</p><p><strong>1. No deadline.</strong></p><p>When giving out a task, most of the time, I don&#8217;t give a deadline. People can work anytime on their own schedule.</p><p>I choose to be an indie hacker so that I have the freedom. I don&#8217;t have deadlines, so I don&#8217;t need to give deadlines to my employees.</p><p>For me, it&#8217;s totally ok if the product goes slow a bit. I don&#8217;t have big contracts to close or any investors to report to. Truly a lifestyle business.</p><p>When the team finishes a task, they&#8217;ll let me know. I&#8217;ll review the code, deploy it, and give out the next task to work on.</p><p>Usually, the team gets it done in less than a week, sometimes faster, sometimes slower. I don&#8217;t mind, as long as the work is of good quality and there is progress.</p><p><strong>2. Everyone is on customer support.</strong></p><p>I think it&#8217;s important that everyone can hear and see the customers. It&#8217;s the only way to feel relevant to the work they&#8217;ve done and feel relevant to the product as a whole.</p><p>I added everyone to the customer support portal, and we split the tickets based on how we can help the customers.</p><p>Everyone can reply to the customers too.</p><p>Sometimes, the developer talks to the customers to help debug issues, write a fix, and then close the ticket, all by themself.</p><p><strong>3. Async Communication.</strong></p><p>There is absolutely no scheduled meeting.</p><p>Sometimes, rarely, we have &#8220;meetings&#8221;, which started like this: we were chatting on Telegram and then, &#8220;can you call video/screen sharing now?&#8221; - &#8220;yes&#8221; - &#8220;ok, here&#8217;s the Zoom link&#8221; &#8211; that&#8217;s how we do meetings.</p><p>We communicate async via Telegram about everything.</p><p>I also use Loom (async video) when giving out new tasks, as it helps me explain the task easier while sharing my screen.</p><div><hr></div><p>Clearly, this way of managing the team requires high trust.</p><p>It&#8217;s working well for me, but I&#8217;m unsure if this can be applied when the team grows to 5 or 10 people (if ever). So let&#8217;s see. &#128516;</p><h2>Other news</h2><p><strong>Apple Vision Pro</strong></p><p>I was excited about the device and wanted to build apps for it in the future, but I don&#8217;t have any app ideas yet.</p><p>Honestly, I still don&#8217;t fully buy into the future Apple has drawn with the headset. Assuming the next-gen device will have the same cost as a smartphone and is lighter and smaller, I still couldn&#8217;t think of a good use case for the device. All the demos Apple showed in their announcement are not that attractive to me.</p><p>Maybe I&#8217;ll change my mind when I actually try the headset to see how good it is. Who knows &#128516;</p><p><strong>Meta Threads </strong>is released.</p><p>I signed up for an account right away: <a href="https://www.threads.net/@tdinh_me">threads.net/@tdinh_me</a></p><p>Mostly out of FOMO.</p><p>I planned to mirror my tweets there, but they don&#8217;t have an API yet.</p><p>I&#8217;ll be surprised if they have an API at this time, as from what I see, they don&#8217;t even have: Lists, the Following timeline, a web app, and many other &#8220;basic&#8221; things.</p><p>It looks to me that Zuck wanted to rush it out because of &#8220;market timing&#8221; (recent Twitter drama &#128514;)</p><p>Anyway, I&#8217;ll give Threads a try, post the same content as on my Twitter (but not mirror). Who knows if it will actually become something big!</p><h2>That&#8217;s all!</h2><p>Thank you for reading this month&#8217;s update!</p><p>See you next month.</p><p>Cheers!</p>]]></content:encoded></item><item><title><![CDATA[May 2023: I sold my 2 years old business for only $128K]]></title><description><![CDATA[Everything about the Black Magic's acquisition + May 2023 updates]]></description><link>https://news.tonydinh.com/p/may-2023-i-sold-my-2-years-old-business</link><guid isPermaLink="false">https://news.tonydinh.com/p/may-2023-i-sold-my-2-years-old-business</guid><dc:creator><![CDATA[Tony Dinh]]></dc:creator><pubDate>Mon, 05 Jun 2023 14:22:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!LY0j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F159fb613-e436-46a0-85b2-82859a6a2457_1458x724.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello everyone, it&#8217;s <a href="https://twitter.com/tdinh_me">Tony</a> again with another monthly update &#128516;&#128075;</p><blockquote><p>In case you&#8217;re new here: &#128075;</p><p>In the past 2 years, I built and grew <a href="https://blackmagic.so">BlackMagic.so</a> - a Twitter SaaS - from $0 to $14K monthly recurring revenue.</p><p>Black Magic was the most successful product I have ever built.</p><p>With only me as the solo founder, healthy revenue growth, and happy customers, Black Magic enabled me to <a href="https://news.tonydinh.com/p/quitting-my-job-to-pursue-full-time">quit my job</a> and live an independent life as a full-time indie hacker.</p><p>However, after Twitter announced its new API pricing at <strong>$42K/month</strong>, suddenly, my business is no longer profitable.</p><p>After thinking about it for a very long time, I have decided to <a href="https://news.tonydinh.com/p/apr-2023-i-sold-black-magic">sell Black Magic</a>. It was the only responsible way I could find both for me and the current customers of Black Magic. There were no other choices.</p><p>Below is the story and the details of the acquisition.</p></blockquote><h2>The deal value</h2><p>Here&#8217;s the real meat: <strong>I sold Black Magic for USD$128,000</strong></p><p>Yes, that&#8217;s the total deal value.</p><p>At the time of selling, Black Magic was at ~<strong>$14K MRR</strong>, or <strong>$168K ARR</strong>.</p><p>That means I sold for <strong>less than x1 of the annual revenue.</strong></p><p>Just about 3 months ago, I received <a href="https://news.tonydinh.com/p/jan-2021-i-got-a-500k-acquisition">an acquisition offer at $500K</a>, which I rejected.</p><p>I would never have imagined I would have to sell it at $128K just a few months later.</p><h2>The story</h2><p>Around February 2023, Twitter announced that they would stop the free API.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LY0j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F159fb613-e436-46a0-85b2-82859a6a2457_1458x724.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LY0j!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F159fb613-e436-46a0-85b2-82859a6a2457_1458x724.png 424w, https://substackcdn.com/image/fetch/$s_!LY0j!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F159fb613-e436-46a0-85b2-82859a6a2457_1458x724.png 848w, https://substackcdn.com/image/fetch/$s_!LY0j!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F159fb613-e436-46a0-85b2-82859a6a2457_1458x724.png 1272w, https://substackcdn.com/image/fetch/$s_!LY0j!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F159fb613-e436-46a0-85b2-82859a6a2457_1458x724.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LY0j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F159fb613-e436-46a0-85b2-82859a6a2457_1458x724.png" width="1456" height="723" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/159fb613-e436-46a0-85b2-82859a6a2457_1458x724.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:723,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:463029,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LY0j!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F159fb613-e436-46a0-85b2-82859a6a2457_1458x724.png 424w, https://substackcdn.com/image/fetch/$s_!LY0j!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F159fb613-e436-46a0-85b2-82859a6a2457_1458x724.png 848w, https://substackcdn.com/image/fetch/$s_!LY0j!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F159fb613-e436-46a0-85b2-82859a6a2457_1458x724.png 1272w, https://substackcdn.com/image/fetch/$s_!LY0j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F159fb613-e436-46a0-85b2-82859a6a2457_1458x724.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Nobody knows how much it will cost at this point, but everybody feels like it won&#8217;t be something unreasonable.</p><p>I was in the camp of people who were ready to pay for the API.</p><p>I even added my credit card to my developer account and prepared it carefully.</p><p>My rule was simple: I&#8217;ll pay for the API as long as the business stays profitable. With $14K MRR at ~90% profit, I was confident that the business would live on.</p><p>Around March 2023, a big Twitter app company (can&#8217;t mention the name because I haven&#8217;t asked them if it&#8217;s ok) contacted me privately and broke the big news.</p><p>They have been talking with the Twitter Enterprise team for the past few weeks, and the new pricing will be, at a minimum $42K per month. There will be no free plan and no smaller plans.</p><p>They are quite sure about the pricing, and they wanted to see if Black Magic can survive the pricing change and, if not - some kind of partnership or an acquisition.</p><p>They also shared that Twitter will start to cut off the API access &#8220;<strong>anytime now</strong>&#8221;, and planned to cut off all free API access of all apps in about <strong>two weeks</strong>.</p><p>That was all the information I got.</p><h2>The situation</h2><p>You probably have heard the story about 3rd party Twitter clients getting shut down without notice, like <a href="https://tapbots.com/tweetbot/">Tweetbot</a>, <a href="https://twitterrific.com/beyond">Twitterrific</a>, <a href="https://twitter.com/fenix_app/status/1616577597042728961">Fenix</a>, <a href="https://twitter.com/TalonAndroid/status/1613879257515655168">Talon</a>, etc.</p><p>Knowing that, Twitter &#8220;cutting off free API access anytime now&#8221; is actually quite real.</p><p>So my situation was:</p><ul><li><p>First of all, there is no way I can afford $42K per month. I currently only make ~$14K per month on average from the business.</p></li><li><p>The whole Black Magic product runs on the Twitter API and can go down anytime now.</p></li><li><p>If that happens, I will have to apologize to all current customers, refund everyone who has paid, and shut down the business.</p></li><li><p>The only way for the product to continue to exist is to sell (an acquisition).</p></li><li><p>If I decide to sell, I will have absolutely no negotiation leverage.</p></li><li><p>Also, if I decide to sell, I only have about two weeks to complete the transaction and transfer everything. If Black Magic&#8217;s API got cut off before the transaction closed, customers would be mad and start to leave, the whole business would be in a super bad state, and I don&#8217;t think anyone would want to close the transaction at this point. If this happens, the only option will be to &#8220;sell for scrapes.&#8221;</p></li></ul><p>At the time, people in the <a href="https://join.slack.com/t/twittermakers/shared_invite/zt-z8ralaac-I7kagk5eLn_6z0IWQVg~SQ">Twitter Marker Slack</a> group got creative and suggested a few ideas like using private APIs or forming a &#8220;partnership&#8221; where small Twitter products unite with each other, use the same API key, and share the $42/month cost.</p><p>However, all that was against Twitter&#8217;s terms of service and was extremely risky for anyone involved. So I did not decide to do that.</p><h2>The considerations</h2><p>When I say I would have &#8220;absolutely no negotiation leverage,&#8221; it&#8217;s not quite 100% true.</p><p>I can still pitch Black Magic around to see who wants to pay the best price.</p><p>Given the time pressure, I only managed to get in touch with 3 potential buyers.</p><p>Out of the 3 buyers, I got 2 acquisition offers.</p><p>I decided to move forward with the <a href="https://blackmagicso.substack.com/p/black-magic-has-joined-hypefury">acquisition offer from Hypefury</a> for a total value of $128K.</p><p>Everything went super fast.</p><p>While I was talking with 3 potential buyers, I also considered another option: <strong>just shut down the business.</strong></p><p>My thinking was that:</p><ul><li><p>I kinda don&#8217;t want to go through an acquisition process. It&#8217;s the most boring and unproductive use of my time (at the time, I was working on a new app, <a href="http://typingmind.com">typingmind.com</a>)</p></li><li><p>I feel like it would have been ok for me if I completely lost ~$14K of monthly income overnight. I still have income from my <a href="https://tonydinh.com/">other products</a>, and maybe I can play the victim and blame Twitter for killing my business and gain some engagements on social media?!</p></li><li><p>I feel emotionally attached to the product and wouldn&#8217;t want to sell it to anyone else.</p></li></ul><p>However, I decided not to do that, as the downside seemed much worse.</p><ul><li><p>At the end of the day, most customers don&#8217;t care who owns the product. They just want to use it. It would be sad and irresponsible if I shut it down, and nobody could continue to use Black Magic anymore.</p></li><li><p>Having a bit of (final) cash payout is still better than nothing (plus not having to refund existing customers).</p></li><li><p>I guess I still have a story to tell and gain some engagements anyway!</p></li></ul><h2>The acquisition</h2><p>After we agreed on the deal and signed the Letter of Intent, the first thing we did was to tell Twitter about it.</p><p>Hypefury was on the train to bite the bullet, become a Twitter Enterprise customer, and pay $42K/month.</p><p>By telling Twitter about our acquisition, we let Twitter know that Black Magic is now a part of Hypefury, and they can give us more time before they cut off Black Magic API access.</p><p>Around 30 March (only 1 week after I heard the news), Twitter started cutting off free API access for everyone. Popular Twitter apps like Tweet Hunter and FeedHive are also affected.</p><p>Black Magic API access <a href="https://twitter.com/blackmagic_so/status/1643570661120696323?s=20">got cut off too</a>, but because we told Twitter about the acquisition, we got the API access back very soon after.</p><p>The rest of the acquisition was to complete the transaction on escrow.com, transfer all the assets, and start to work on the &#8220;user migration&#8221;.</p><p>The &#8220;user migration&#8221; is an unexpected requirement from Twitter. Twitter told us that if Hypefury is acquiring Black Magic, we will need to move all existing Black Magic customers under the Hypefury Twitter OAuth app.</p><p>That means we would need to ask all current users to reauthorize again after the acquisition closes.</p><p>Overall, the acquisition process went well. And we&#8217;re <a href="https://blackmagicso.substack.com/p/action-required-re-authorize-your">migrating the users</a> as requested by Twitter. I guess some people will not migrate, and we&#8217;ll lose some revenue, but there are no other options available for us.</p><h2>My thoughts on the acquisition</h2><p>One thing obvious is that nobody is happy with the new Twitter pricing change (except Twitter, I guess). But I signed up for that when I created the product around Twitter API: platform risk.</p><p>In general, I have mixed feeling about this whole acquisition.</p><p>On the one hand, personally, I consider this a failure from me for not making better business decisions at some critical points. I would have ended up in a much better position financially if I had done things a bit differently, for example:</p><ul><li><p>Sell the business earlier at $500K!</p></li><li><p>Look for more potential buyers when I heard the news for a better price point, maybe? (there was tremendous time pressure, but still, I think I could have reached out to more potential buyers).</p></li></ul><p>On the other hand, in terms of the business, I&#8217;m very happy with the outcome.</p><ul><li><p>I&#8217;m happy that the business didn&#8217;t have to shut down, that the product continues to exist, and that people can continue using the product I created.</p></li><li><p>I think Hypefury is a pretty good new home for Black Magic.</p></li><li><p>I think Black Magic is a unique and successful product, which I am very proud to put on my portfolio from now on.</p></li></ul><p>I guess it&#8217;s also a good time for me to step away from the Twitter product market after two years. I also haven&#8217;t been focusing on new features in Black Magic over the last few months (but the current product is pretty stable and growing steadily).</p><p>In conclusion, &#8220;mixed&#8221; is what describes my feeling the best about this acquisition.</p><p>I didn&#8217;t come out as I would want, but I did want I had to do given the information I got at the moment. I think I have maneuvered the situation as well as it could be. Do you think so too?</p><h2>About the new Twitter $5K/month plan</h2><p>Not long after, the acquisition closes. Twitter announced a new plan at $5K/month.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iSU6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3911135-983c-46bd-bd10-28f2187797ec_1436x1078.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iSU6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3911135-983c-46bd-bd10-28f2187797ec_1436x1078.png 424w, https://substackcdn.com/image/fetch/$s_!iSU6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3911135-983c-46bd-bd10-28f2187797ec_1436x1078.png 848w, https://substackcdn.com/image/fetch/$s_!iSU6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3911135-983c-46bd-bd10-28f2187797ec_1436x1078.png 1272w, https://substackcdn.com/image/fetch/$s_!iSU6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3911135-983c-46bd-bd10-28f2187797ec_1436x1078.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iSU6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3911135-983c-46bd-bd10-28f2187797ec_1436x1078.png" width="1436" height="1078" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c3911135-983c-46bd-bd10-28f2187797ec_1436x1078.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1078,&quot;width&quot;:1436,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:354139,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!iSU6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3911135-983c-46bd-bd10-28f2187797ec_1436x1078.png 424w, https://substackcdn.com/image/fetch/$s_!iSU6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3911135-983c-46bd-bd10-28f2187797ec_1436x1078.png 848w, https://substackcdn.com/image/fetch/$s_!iSU6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3911135-983c-46bd-bd10-28f2187797ec_1436x1078.png 1272w, https://substackcdn.com/image/fetch/$s_!iSU6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3911135-983c-46bd-bd10-28f2187797ec_1436x1078.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>My reactions: I would have totally paid $5K/month if this had been announced one month earlier.</p><p>I&#8217;m sure I can squeeze Black Magic to fit into the API limitations of this plan, even if that means I have to reduce or remove features.</p><p>However, the current situation is that the acquisition has closed, and even if not, Black Magic would have already been shut down 1 month ago.</p><p>So I didn&#8217;t bother to check the details of this $5K/month plan. It&#8217;s no longer matter.</p><p>Actually, given the current reputation of Twitter in the developer community, I&#8217;m actually glad that Twitter didn&#8217;t announce this earlier. It would have been a world of pain to work on the API&#8217;s limitations, plus the possibility that Twitter will change the pricing and put in place other limitations in the future.</p><h2>Future plan</h2><p>As part of the acquisition, I will continue to work on Black Magic for at least another year.</p><p>Mostly, I&#8217;ll be operating the business at the high level, while managing other devs and freelancers to work on the product. Sometimes, I&#8217;ll jump on coding too (if I really want to have a feature on Black Magic!)</p><p>I have always worked on multiple products at the same time (<a href="http://DevUtils.com">DevUtils.com</a>, <a href="http://Xnapper.com">Xnapper.com</a>, other random product ideas), so the acquisition doesn&#8217;t change much in my schedule.</p><p>Currently, my full focus is on the new product <a href="http://TypingMind.com">TypingMind.com</a>. I hope I can bring its MRR to Black Magic&#8217;s level soon!</p><h2>That&#8217;s all!</h2><p>It&#8217;s been a long email. Thank you for reading my story this far!</p><p>I dedicated this month&#8217;s issue to cover the details of this acquisition because I think it&#8217;s what you find interesting/helpful the most.</p><p>I&#8217;ll get back to sharing personal news and product updates next month.</p><p>Thank you for following my journey!</p><p>Be sure to share your thoughts in the comment below.</p><p>See you next time!</p><p>- Tony</p>]]></content:encoded></item><item><title><![CDATA[Apr 2023: I sold Black Magic]]></title><description><![CDATA[And other updates in April 2023]]></description><link>https://news.tonydinh.com/p/apr-2023-i-sold-black-magic</link><guid isPermaLink="false">https://news.tonydinh.com/p/apr-2023-i-sold-black-magic</guid><dc:creator><![CDATA[Tony Dinh]]></dc:creator><pubDate>Tue, 09 May 2023 07:06:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5pXD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a68b294-f4ad-4957-a756-066a9a06ae28_1920x1080.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello again, everyone! It&#8217;s Tony &#128075;&#128516;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5pXD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a68b294-f4ad-4957-a756-066a9a06ae28_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5pXD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a68b294-f4ad-4957-a756-066a9a06ae28_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5pXD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a68b294-f4ad-4957-a756-066a9a06ae28_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5pXD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a68b294-f4ad-4957-a756-066a9a06ae28_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5pXD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a68b294-f4ad-4957-a756-066a9a06ae28_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5pXD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a68b294-f4ad-4957-a756-066a9a06ae28_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4a68b294-f4ad-4957-a756-066a9a06ae28_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;:125823,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5pXD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a68b294-f4ad-4957-a756-066a9a06ae28_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5pXD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a68b294-f4ad-4957-a756-066a9a06ae28_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5pXD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a68b294-f4ad-4957-a756-066a9a06ae28_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5pXD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a68b294-f4ad-4957-a756-066a9a06ae28_1920x1080.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">That&#8217;s me surfing everyday, no matter what happen in my businesses &#127940;&#8205;&#9794;&#65039;  This is my reminder of the entire point of going indie is to have freedom instead of more stress!</figcaption></figure></div><p>Since the last newsletter issue, I&#8217;ve been caught up with so many things.</p><p>I feel like there is not a single good timeslot for sitting down and writing my monthly update.</p><p>But finally, 10 days late after the month starts, here I am, writing yet another issue for my monthly update &#128516;</p><p>Here is what happened since April 2023:</p><h2>Black Magic is acquired!</h2><p>Yep, you may have heard the news and dramas around the Twitter API pricing changes.</p><p>The minimum price is now $42,000 per month to use any meaningful API usage.</p><p>I mentioned in <a href="https://news.tonydinh.com/p/jan-2021-i-got-a-500k-acquisition">my previous email</a> that Black Magic was at $14K MRR. That means I cannot afford the new pricing.</p><p>I was forced to shutdown or sell.</p><p>After considering many options and talking with many founders who have interest in acquiring/partnering with Black Magic, I have come to conclusion to sell Black Magic.</p><p>We are still processing the acquisition, it&#8217;s almost done now.</p><p>Here are the gists:</p><ul><li><p>Black Magic will be merged with another bigger Twitter product (can you guess who? &#8211; comment below &#128514;)</p></li><li><p>I will continue to work on Black Magic!</p></li></ul><p>That&#8217;s all I can share at the moment.</p><p>I feel lucky to have found a good buyer who is a very good fit with what Black Magic is doing and can keep serving Black Magic to its customers.</p><p>I&#8217;ll make an official announcement to all existing users and on Black Magic website soon &#9996;&#65039;</p><h2>Dead focus on TypingMind</h2><p>Over the last month, I spent all of my focus and energy to <a href="https://www.TypingMind.com">TypingMind.com</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_!oQZ-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1111946c-382f-49e3-8fc2-fdeefedfc779_2268x1426.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oQZ-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1111946c-382f-49e3-8fc2-fdeefedfc779_2268x1426.png 424w, https://substackcdn.com/image/fetch/$s_!oQZ-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1111946c-382f-49e3-8fc2-fdeefedfc779_2268x1426.png 848w, https://substackcdn.com/image/fetch/$s_!oQZ-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1111946c-382f-49e3-8fc2-fdeefedfc779_2268x1426.png 1272w, https://substackcdn.com/image/fetch/$s_!oQZ-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1111946c-382f-49e3-8fc2-fdeefedfc779_2268x1426.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oQZ-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1111946c-382f-49e3-8fc2-fdeefedfc779_2268x1426.png" width="1456" height="915" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1111946c-382f-49e3-8fc2-fdeefedfc779_2268x1426.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:915,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:616721,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oQZ-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1111946c-382f-49e3-8fc2-fdeefedfc779_2268x1426.png 424w, https://substackcdn.com/image/fetch/$s_!oQZ-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1111946c-382f-49e3-8fc2-fdeefedfc779_2268x1426.png 848w, https://substackcdn.com/image/fetch/$s_!oQZ-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1111946c-382f-49e3-8fc2-fdeefedfc779_2268x1426.png 1272w, https://substackcdn.com/image/fetch/$s_!oQZ-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1111946c-382f-49e3-8fc2-fdeefedfc779_2268x1426.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I have delivered so many <a href="https://twitter.com/tdinh_me/status/1649682454679293952">new features</a>, <a href="https://twitter.com/tdinh_me/status/1647070500416548864">improvements</a>, and <a href="https://twitter.com/tdinh_me/status/1645086043690119168">bug fixes</a>.</p><p>I feel like I have done so much more in just a month than all the works I have done in the last 3 - 4 months!</p><p>It&#8217;s exactly the same feeling when I <a href="https://www.indiehackers.com/post/xnapper-s-launch-report-4-212-learnings-a86905f09e">started building Xnapper last year</a> too.</p><p>Now it&#8217;s a bit slowed down.</p><p>I&#8217;ve involved a freelancer to help me keep delivering features while I start to think more about the long term plan for the project.</p><p>When I first started TypingMind, I thought it will be making at most $5K and then dies out with the hype train.</p><p>Totally unexpected to keep seeing new customers coming in consistently.</p><p>This could be an entire business!</p><p>I recently offered <a href="https://www.typingmind.com/custom">Custom Deployment</a> and <a href="https://www.chatorigin.com">ChatOrigin.com</a> which brings recurring revenue too. I&#8217;m at $2.6K MRR at the moment.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SiMq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0342962c-c0b2-42d8-83a3-3241f44caee2_1130x742.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SiMq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0342962c-c0b2-42d8-83a3-3241f44caee2_1130x742.png 424w, https://substackcdn.com/image/fetch/$s_!SiMq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0342962c-c0b2-42d8-83a3-3241f44caee2_1130x742.png 848w, https://substackcdn.com/image/fetch/$s_!SiMq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0342962c-c0b2-42d8-83a3-3241f44caee2_1130x742.png 1272w, https://substackcdn.com/image/fetch/$s_!SiMq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0342962c-c0b2-42d8-83a3-3241f44caee2_1130x742.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SiMq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0342962c-c0b2-42d8-83a3-3241f44caee2_1130x742.png" width="518" height="340.1380530973451" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0342962c-c0b2-42d8-83a3-3241f44caee2_1130x742.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:742,&quot;width&quot;:1130,&quot;resizeWidth&quot;:518,&quot;bytes&quot;:242427,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SiMq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0342962c-c0b2-42d8-83a3-3241f44caee2_1130x742.png 424w, https://substackcdn.com/image/fetch/$s_!SiMq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0342962c-c0b2-42d8-83a3-3241f44caee2_1130x742.png 848w, https://substackcdn.com/image/fetch/$s_!SiMq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0342962c-c0b2-42d8-83a3-3241f44caee2_1130x742.png 1272w, https://substackcdn.com/image/fetch/$s_!SiMq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0342962c-c0b2-42d8-83a3-3241f44caee2_1130x742.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>With Black Magic sold, I no longer have any other recurring revenue streams. So I really hope TypingMind can be my next big hit.</p><p>Let&#8217;s see!</p><h2>I hired my first full-time employee</h2><p>It has finally come to that point where I need to hire.</p><p>I mentioned in <a href="https://news.tonydinh.com/i/66963497/a-new-experiment-hiring-a-freelancer">my previous emails</a> that I&#8217;m working with 2 freelancers: one developer and one with content marketing.</p><p>Over the past months, I asked if the content marketing freelancer would like to take up other tasks like customer supports, partnerships, etc.</p><p>She gladly agreed and helped me with so many other tasks around the business.</p><p>Finally, I feel that having her working full-time will help push things forward way faster than the old way when I was working alone.</p><p>So, I offered a 2x market rate salary to come work for me full-time.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GZsF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87181d9d-453a-4116-9122-8cf7c4342558_1424x552.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GZsF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87181d9d-453a-4116-9122-8cf7c4342558_1424x552.png 424w, https://substackcdn.com/image/fetch/$s_!GZsF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87181d9d-453a-4116-9122-8cf7c4342558_1424x552.png 848w, https://substackcdn.com/image/fetch/$s_!GZsF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87181d9d-453a-4116-9122-8cf7c4342558_1424x552.png 1272w, https://substackcdn.com/image/fetch/$s_!GZsF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87181d9d-453a-4116-9122-8cf7c4342558_1424x552.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GZsF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87181d9d-453a-4116-9122-8cf7c4342558_1424x552.png" width="652" height="252.74157303370785" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/87181d9d-453a-4116-9122-8cf7c4342558_1424x552.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:552,&quot;width&quot;:1424,&quot;resizeWidth&quot;:652,&quot;bytes&quot;:271383,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GZsF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87181d9d-453a-4116-9122-8cf7c4342558_1424x552.png 424w, https://substackcdn.com/image/fetch/$s_!GZsF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87181d9d-453a-4116-9122-8cf7c4342558_1424x552.png 848w, https://substackcdn.com/image/fetch/$s_!GZsF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87181d9d-453a-4116-9122-8cf7c4342558_1424x552.png 1272w, https://substackcdn.com/image/fetch/$s_!GZsF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87181d9d-453a-4116-9122-8cf7c4342558_1424x552.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It hasn&#8217;t been a week since she joined but I&#8217;ve already feel the different. Mostly the peace of mind to focus on other tasks that I want to work on.</p><p>I&#8217;ll share more on the progress soon!</p><h2>Considering making this newsletter paid</h2><p>Now that I no longer have a recurring revenue, I&#8217;m starting to think about ways to generate more.</p><p>One of the idea is to turn this newsletter into a paid newsletter.</p><p>If you have read this far, what do you think? (comment below)</p><div class="poll-embed" data-attrs="{&quot;id&quot;:70370}" data-component-name="PollToDOM"></div><h2>That&#8217;s all for now!</h2><p>Thanks for reading and and see you again soon! &#128516;</p>]]></content:encoded></item><item><title><![CDATA[Making $22K in 7 days: the story]]></title><description><![CDATA[and other updates from me in Mar 2023]]></description><link>https://news.tonydinh.com/p/making-22k-in-7-days-the-story</link><guid isPermaLink="false">https://news.tonydinh.com/p/making-22k-in-7-days-the-story</guid><dc:creator><![CDATA[Tony Dinh]]></dc:creator><pubDate>Sun, 02 Apr 2023 08:15:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!e-Nb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64d1b610-ca35-4640-bcfc-d8d61141d84f_2400x1256.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello everyone! &#128075; It&#8217;s Tony again &#128516;</p><p>March 2023 has been a crazy month for me, both positively and negatively. Here&#8217;s a recap:</p><ul><li><p>My new AI product <a href="https://typingmind.com">typingmind.com</a> was a success!</p></li><li><p>Twitter announced &#8220;no more free API&#8221; and charged $42K/month. What will happen to Black Magic?</p></li></ul><p>Let&#8217;s go into the details!</p><h2>My new product <a href="https://typingmind.com">TypingMind.com</a></h2><p>At the beginning of the month, I started working on a new product.</p><p>I&#8217;ve been using ChatGPT heavily recently, and I started to find out there are a lot of inconveniences with the default chat user interface OpenAI has. For example:</p><ul><li><p>I have to log in again every day (very annoying!)</p></li><li><p>ChatGPT types out the answer very slowly.</p></li><li><p>There is no way to search past conversations.</p></li></ul><p>There were a lot more pain points, but those two were the most annoying for me.</p><p>Then, on <strong>1st March</strong>, <a href="http://ChatGPT API">OpenAI announced ChatGPT API</a>.</p><p>Right on that day, I came up with the idea: I must create a new UI to solve my own pains!</p><p>On <strong>2nd March</strong>, I registered the domain name <strong>typingmind.com</strong> (suggested by ChatGPT &#128514;)</p><p>Then, I started working on the product.</p><p>Over the next few days, I worked on typingmind.com on and off. It started very slowly. I didn&#8217;t have a lot of motivation and started to get distracted.</p><p>Then the weekend came, and I decided to put all of my weekend into finishing it. Otherwise, I may never finish it.</p><p>On Monday, 6th March, 5 days after OpenAI announced their API, I finished the first version and shared it on Twitter:</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://twitter.com/tdinh_me/status/1632631838866051074&quot;,&quot;full_text&quot;:&quot;My weekend project is now available:\n\n<a class=\&quot;tweet-url\&quot; href=\&quot;http://typingmind.com\&quot;>typingmind.com</a>\n\nI was so annoyed by how ChatGPT slowly typed out the answers + kept logging me out every day, so I built a new UI on top of its API.\n\n(plus some more convenience features)\n\nFree to use with your own OpenAI API key &#128516;&quot;,&quot;username&quot;:&quot;tdinh_me&quot;,&quot;name&quot;:&quot;Tony Dinh &#127919;&quot;,&quot;profile_image_url&quot;:&quot;&quot;,&quot;date&quot;:&quot;Mon Mar 06 06:38:57 +0000 2023&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:100,&quot;like_count&quot;:990,&quot;impression_count&quot;:0,&quot;expanded_url&quot;:{&quot;url&quot;:&quot;http://typingmind.com&quot;,&quot;image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/64d1b610-ca35-4640-bcfc-d8d61141d84f_2400x1256.png&quot;,&quot;title&quot;:&quot;TypingMind &#8212; A better UI for ChatGPT&quot;,&quot;description&quot;:&quot;Use ChatGPT with enhanced features like chat history search, folders, integrations, prompt library, etc.&quot;,&quot;domain&quot;:&quot;typingmind.com&quot;},&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>The app got a lot of attention, so I decided to add payment. Then I get my first sale:</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://twitter.com/tdinh_me/status/1632769577687093249&quot;,&quot;full_text&quot;:&quot;First sale on <span class=\&quot;tweet-fake-link\&quot;>@lmsqueezy</span> &#129395;&#129395;&#129395; &quot;,&quot;username&quot;:&quot;tdinh_me&quot;,&quot;name&quot;:&quot;Tony Dinh &#127919;&quot;,&quot;profile_image_url&quot;:&quot;&quot;,&quot;date&quot;:&quot;Mon Mar 06 15:46:17 +0000 2023&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://pbs.substack.com/media/FqjDQ29aQAEH-eT.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/7pDcGyd3ZZ&quot;,&quot;alt_text&quot;:null}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:3,&quot;like_count&quot;:109,&quot;impression_count&quot;:0,&quot;expanded_url&quot;:{},&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>That feeling of the first sale never gets old!</p><p>I was so excited!</p><p>In the following days, I continuously added more and more features.</p><p>Every time I add a new feature, I tweet about it, and more sales come in!</p><p>Within 1 day, I hit $1K in revenue.</p><p>One more day, $2K.</p><p>One more day, $4K.</p><p>By 10th March, I hit $10K in revenue from my weekend project.</p><p>99% of the sales are from my Twitter reach.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://twitter.com/tdinh_me/status/1634220056711430144&quot;,&quot;full_text&quot;:&quot;$10K revenue! &#129395;\n\n- started as a weekend side project\n- domain <a class=\&quot;tweet-url\&quot; href=\&quot;http://typingmind.com\&quot;>typingmind.com</a> bought on 2nd Mar\n- MVP released on 6 Mar\n- 7 Mar: $1K\n- 8 Mar: $2K\n- 9 Mar: $4K\n- 10 Mar: $10K!\n\n- 11 Mar (tomorrow): Launch on Product Hunt! &quot;,&quot;username&quot;:&quot;tdinh_me&quot;,&quot;name&quot;:&quot;Tony Dinh &#127919;&quot;,&quot;profile_image_url&quot;:&quot;&quot;,&quot;date&quot;:&quot;Fri Mar 10 15:49:58 +0000 2023&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://pbs.substack.com/media/Fq3pRz4aQAAVxiW.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/fxrRhk86Kd&quot;,&quot;alt_text&quot;:null}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:93,&quot;like_count&quot;:1828,&quot;impression_count&quot;:0,&quot;expanded_url&quot;:{},&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>I worked on the project like crazy. Added new features, improvements, and bug fixes every single day, multiple times a day.</p><p>Every time I add a new feature, I tweet about it, and that&#8217;s my entire marketing strategy.</p><p>You can see a timeline of all of my tweets about the features (that I now use as the changelog) on <a href="https://tdinh.notion.site/Typing-Mind-Changelog-b23c1d7de373417bbad50247f7a1a7cb">this Notion page</a>.</p><p>People love the product because:</p><ul><li><p>It was faster than ChatGPT at the time (*)</p></li><li><p>A lot of convenience features (search, define character, prompt library, etc.)</p></li><li><p>People can use their API key, paying only for what they use. No monthly fee!</p></li><li><p>And most importantly (in my opinion): people don&#8217;t have to re-login every single day &#128514;</p></li></ul><p><em>(*) At the time of writing this, OpenAI has already improved the speed, but people have already fallen in love with TypingMind for various other unique features!</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_!TTjU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6698c87f-a6a9-41f2-a3a8-c2570011775d_1536x864.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TTjU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6698c87f-a6a9-41f2-a3a8-c2570011775d_1536x864.png 424w, https://substackcdn.com/image/fetch/$s_!TTjU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6698c87f-a6a9-41f2-a3a8-c2570011775d_1536x864.png 848w, https://substackcdn.com/image/fetch/$s_!TTjU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6698c87f-a6a9-41f2-a3a8-c2570011775d_1536x864.png 1272w, https://substackcdn.com/image/fetch/$s_!TTjU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6698c87f-a6a9-41f2-a3a8-c2570011775d_1536x864.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TTjU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6698c87f-a6a9-41f2-a3a8-c2570011775d_1536x864.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6698c87f-a6a9-41f2-a3a8-c2570011775d_1536x864.png&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;:235697,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!TTjU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6698c87f-a6a9-41f2-a3a8-c2570011775d_1536x864.png 424w, https://substackcdn.com/image/fetch/$s_!TTjU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6698c87f-a6a9-41f2-a3a8-c2570011775d_1536x864.png 848w, https://substackcdn.com/image/fetch/$s_!TTjU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6698c87f-a6a9-41f2-a3a8-c2570011775d_1536x864.png 1272w, https://substackcdn.com/image/fetch/$s_!TTjU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6698c87f-a6a9-41f2-a3a8-c2570011775d_1536x864.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>On 11 March, I launched the product on Product Hunt.</p><p>With a lot of help from my audience on Twitter and in this newsletter, TypingMind got to #1 product of the day.</p><p>Thank you all so much if you were there on the launch day! I really appreciate your help.</p><p>Revenue went from <strong>$10K &#8594; $22K</strong> in a day.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://twitter.com/tdinh_me/status/1634842333643698177&quot;,&quot;full_text&quot;:&quot;Launch report for <a class=\&quot;tweet-url\&quot; href=\&quot;http://typingmind.com\&quot;>typingmind.com</a>! &#129395;\n\n&#127942; #1 Product of the Day\n&#11014;&#65039; 902 votes\n&#127881; Added ~$5K revenue\n&#128176; $22.7K total revenue\n\nThank you all!!!\n\nThis is the beginning! I have a 2-week plan of what's coming next.\n\nGonna reveal in my next tweets! &quot;,&quot;username&quot;:&quot;tdinh_me&quot;,&quot;name&quot;:&quot;Tony Dinh &#127919;&quot;,&quot;profile_image_url&quot;:&quot;&quot;,&quot;date&quot;:&quot;Sun Mar 12 09:02:40 +0000 2023&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://pbs.substack.com/media/FrAffvKaYAEfNpw.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/fdLtwdVkux&quot;,&quot;alt_text&quot;:null}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:17,&quot;like_count&quot;:748,&quot;impression_count&quot;:0,&quot;expanded_url&quot;:{},&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>I was extremely surprised by the result.</p><p>When I made my first sale, I thought, "Okay, perhaps I could earn a few thousand dollars here."</p><p>Making $22K is sooooo out of my expectation.</p><p>I totally underestimated the hype around AI.</p><p>Obviously, I continue to make more revenue after the Product Hunt launch. But I decided to stop sharing the revenue after the launch for various reasons.</p><h2>Did I get lucky?</h2><p>Reading the timeline above may make you think that either:</p><ul><li><p>it&#8217;s very easy, or&#8230;</p></li><li><p>I&#8217;ve been very lucky, or&#8230;</p></li><li><p>I made it because I have ~76K followers on Twitter.</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_!WnDi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6faa8ed7-d6a7-4a0b-ba64-abfff5aed631_1462x656.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WnDi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6faa8ed7-d6a7-4a0b-ba64-abfff5aed631_1462x656.png 424w, https://substackcdn.com/image/fetch/$s_!WnDi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6faa8ed7-d6a7-4a0b-ba64-abfff5aed631_1462x656.png 848w, https://substackcdn.com/image/fetch/$s_!WnDi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6faa8ed7-d6a7-4a0b-ba64-abfff5aed631_1462x656.png 1272w, https://substackcdn.com/image/fetch/$s_!WnDi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6faa8ed7-d6a7-4a0b-ba64-abfff5aed631_1462x656.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WnDi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6faa8ed7-d6a7-4a0b-ba64-abfff5aed631_1462x656.png" width="1456" height="653" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6faa8ed7-d6a7-4a0b-ba64-abfff5aed631_1462x656.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:653,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:297912,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WnDi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6faa8ed7-d6a7-4a0b-ba64-abfff5aed631_1462x656.png 424w, https://substackcdn.com/image/fetch/$s_!WnDi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6faa8ed7-d6a7-4a0b-ba64-abfff5aed631_1462x656.png 848w, https://substackcdn.com/image/fetch/$s_!WnDi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6faa8ed7-d6a7-4a0b-ba64-abfff5aed631_1462x656.png 1272w, https://substackcdn.com/image/fetch/$s_!WnDi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6faa8ed7-d6a7-4a0b-ba64-abfff5aed631_1462x656.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>All of those may be true. There is no way I can tell what made it work.</p><p>But here are some facts that may help you better understand the context.</p><p><strong>Firstly, TypingMind was not my first AI product.</strong></p><p>I got hyped with the whole AI thing long ago (I mentioned that in my <a href="https://news.tonydinh.com/p/dec-2022-updates-and-happy-new-year#:~:text=AI%20products%20are,So%20let%E2%80%99s%20see!">past newsletter issue</a>).</p><p>I tried to build two different AI products before: EmojiAI and AskCommand, but both didn&#8217;t work out.</p><p>When I started those two products, I had ~50K followers on Twitter.</p><p>Especially for AskCommand, <a href="https://twitter.com/tdinh_me/status/1574627823951974400">this promote tweet got ~5,000 likes</a>. One would think the product would be so successful.</p><p>Nope, I ended up only making ~$100 for both attempts.</p><p>In the end, I think having a big audience helps, but it will not guarantee success. And I definitely will not make any meaningful money making a todo list &#128514;</p><p>These comments from <a href="https://twitter.com/GlavinW">Glavin</a> and <a href="https://twitter.com/jasonleowsg">Jason</a> sum it up very nicely:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!w1UI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48749a3-2853-4796-9d74-6d8a3b54ed60_1462x884.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!w1UI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48749a3-2853-4796-9d74-6d8a3b54ed60_1462x884.png 424w, https://substackcdn.com/image/fetch/$s_!w1UI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48749a3-2853-4796-9d74-6d8a3b54ed60_1462x884.png 848w, https://substackcdn.com/image/fetch/$s_!w1UI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48749a3-2853-4796-9d74-6d8a3b54ed60_1462x884.png 1272w, https://substackcdn.com/image/fetch/$s_!w1UI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48749a3-2853-4796-9d74-6d8a3b54ed60_1462x884.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!w1UI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48749a3-2853-4796-9d74-6d8a3b54ed60_1462x884.png" width="1456" height="880" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b48749a3-2853-4796-9d74-6d8a3b54ed60_1462x884.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:880,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:412847,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!w1UI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48749a3-2853-4796-9d74-6d8a3b54ed60_1462x884.png 424w, https://substackcdn.com/image/fetch/$s_!w1UI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48749a3-2853-4796-9d74-6d8a3b54ed60_1462x884.png 848w, https://substackcdn.com/image/fetch/$s_!w1UI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48749a3-2853-4796-9d74-6d8a3b54ed60_1462x884.png 1272w, https://substackcdn.com/image/fetch/$s_!w1UI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48749a3-2853-4796-9d74-6d8a3b54ed60_1462x884.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>Secondly, I have some unfair advantages.</strong></p><p>I already talked about this in <a href="https://news.tonydinh.com/i/66963492/my-unfair-advantages">my December 2021 newsletter</a>, so I won&#8217;t repeat myself here. In short, my unfair advantages are:</p><ul><li><p>My audience (Twitter, newsletter): I spent a lot of time and effort over the past 2 years building an audience. I know I&#8217;m not good at marketing, so building an audience is the best way for me to have a distribution channel.</p></li><li><p>My technical skills: I can write code very fast. Coding is the easy part for me. I&#8217;ve been writing code since 15. I have written code almost every day <a href="https://twitter.com/tdinh_me/status/1609428874756247558">over the past 8 years</a>. I can&#8217;t solve medium Leetcode problems and don&#8217;t write the best clean code out there, but I still love writing code and putting code together to make something useful.</p></li><li><p>Some &#8220;product sense&#8221;: By going solo and doing everything by myself, I save a lot of time collaborating and communicating. I know which features to cut and which tech debt to take to provide value to customers quickly and make them happy.</p></li></ul><p>I encourage everyone to find and build some unfair advantages for themself!</p><h2>Things I did differently this time</h2><p>I want to share some thoughts on why TypingMind was a success.</p><p>First thing is that I took another approach to the pricing model.</p><p>TypingMind is a one-time purchase software.</p><p>It&#8217;s tempting to build just another wrapper using OpenAI&#8217;s API, charge people a monthly fee, and earn that sweet recurring revenue.</p><p>But think about it: everyone is doing that. If I were to do the same way, the competition would be huge. Platform risk will also be huge.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://twitter.com/yongfook/status/1635817237897674752&quot;,&quot;full_text&quot;:&quot;AI startups building on GPT realizing that new GPT basically replaces their product offering. &quot;,&quot;username&quot;:&quot;yongfook&quot;,&quot;name&quot;:&quot;Jon Yongfook&quot;,&quot;profile_image_url&quot;:&quot;&quot;,&quot;date&quot;:&quot;Wed Mar 15 01:36:36 +0000 2023&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://pbs.substack.com/media/FrOXGvoaEAEiXkn.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/uY0xfTZs3t&quot;,&quot;alt_text&quot;:null}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:307,&quot;like_count&quot;:4117,&quot;impression_count&quot;:0,&quot;expanded_url&quot;:{},&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>OpenAI makes it so easy that eventually, people are going to add whatever your product offers to their product &#8220;as a feature&#8221; using OpenAI&#8217;s API directly anyway (or at least that&#8217;s what I predict).</p><p>So what I did was a tool, just a good old regular tool, in the form of a static web app.</p><p>No backend, no server, and no database.</p><p>People bring their own API keys (which <a href="https://community.openai.com/t/openais-bring-your-own-key-policy/14538/4">OpenAI is ok with</a> if you only store the API locally on the user&#8217;s device).</p><p>Just like Postman or another HTTP client app, where you use the software to send requests to a server. TypingMind is a Chat client that can connect to OpenAI&#8217;s API for you and provide you will a lot of convenience features to improve the chat experience.</p><p>I even offer a self-hosted version of TypingMind that the customers can run from their local device or upload it to their own server/domain.</p><p>It&#8217;s just a static web app.</p><p>And because I don&#8217;t have any server or database to maintain, there is no recurring cost.</p><p>That&#8217;s why I can afford to (and decided to) charge a one-time purchase.</p><p>I think that decision contributed a lot to the success!</p><h2>What&#8217;s next for TypingMind:</h2><p>I recently brought my freelancer to start working on TypingMind with me.</p><p>It&#8217;s no longer a one-man show &#128516;</p><p>This will help speed up the development of TypingMind even more.</p><p>My ultimate plan for TypingMind is simple: <strong>become the best AI Chat UX</strong>.</p><p>Here are what I&#8217;m planning:</p><ul><li><p>Adding more useful features, of course.</p></li><li><p>Working on bringing <a href="https://typingmind.com/custom">Custom Deployment</a> for teams, enterprises, and organizations. I&#8217;m hoping to step my foot into the B2B market! Hope it works.</p></li><li><p>Support other LLM Chatbots (e.g., Claude)</p></li><li><p>Somehow integrate with <a href="https://github.com/hwchase17/langchain">lang-chain</a> for maximum power!</p></li><li><p>Keep up with the new features and capabilities from OpenAI, like ChatGPT Plugins.</p></li></ul><p>I&#8217;ll share more about the plan in my next newsletter issue. Can&#8217;t wait!</p><h2>Now, for the sad news</h2><p>That was all I have to share about TypingMind, it was all fun and games.</p><p>Now the sad news: Twitter announced that they are going to stop the current free API access.</p><p>Their new minimum price is <strong>$42,000 per month</strong>. Yep, you read it right.</p><p>They also announced 2 other API pricing plan: free and $100/month, but both of these plans are so limited that I think nobody can build any serious business with it.</p><p>My Twitter product Black Magic only makes ~$16K MRR at the moment.</p><p>Over the past few days, I&#8217;ve been thinking about this and concluded that the only way to move forward is to merge Black Magic into a bigger Twitter product that can afford to pay the $42K/month price.</p><p>I&#8217;m in an acquisition process. All I can share right now is:</p><ul><li><p>Black Magic will continue business as usual</p></li><li><p>I still continue to work on Black Magic</p></li></ul><p>I&#8217;m happy that the customers can continue to use Black Magic, and I can continue working on it. I also think the new owner is a perfect fit for all the existing customers, and they&#8217;ll like it.</p><p>I&#8217;ll share more about this in an official announcement soon!</p><h2>That&#8217;s all for now!</h2><p>I spent an entire morning writing this newsletter (instead of shipping new features).</p><p>If you like it, please share it with your friends! &#128516;</p><p>With platform risk becoming more real these days, I really hope to get my audience to this newsletter as much as possible.</p><p>Unlike on Twitter, where Elon can ban me anytime (or even Twitter will disappear?). This newsletter is where I can control my own destiny.</p><p>Thank you for your help!</p><p>See you next time &#128074;</p><p>- Tony</p>]]></content:encoded></item><item><title><![CDATA[TypingMind is live]]></title><description><![CDATA[It's my first product launch of the year!]]></description><link>https://news.tonydinh.com/p/typingmind-is-live</link><guid isPermaLink="false">https://news.tonydinh.com/p/typingmind-is-live</guid><dc:creator><![CDATA[Tony Dinh]]></dc:creator><pubDate>Sat, 11 Mar 2023 08:23:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!g3-1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc324e859-6d44-44db-bf5a-962807f7c578_1280x1248.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m guilty of sending you two emails in a row, but I&#8217;m too excited &#128517;</p><p>My new product TypingMind is <a href="https://www.producthunt.com/posts/typing-mind">now live on Product Hunt</a>!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.producthunt.com/posts/typing-mind&quot;,&quot;text&quot;:&quot;View TypingMind on Product Hunt!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.producthunt.com/posts/typing-mind"><span>View TypingMind on Product Hunt!</span></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_!g3-1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc324e859-6d44-44db-bf5a-962807f7c578_1280x1248.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!g3-1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc324e859-6d44-44db-bf5a-962807f7c578_1280x1248.png 424w, https://substackcdn.com/image/fetch/$s_!g3-1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc324e859-6d44-44db-bf5a-962807f7c578_1280x1248.png 848w, https://substackcdn.com/image/fetch/$s_!g3-1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc324e859-6d44-44db-bf5a-962807f7c578_1280x1248.png 1272w, https://substackcdn.com/image/fetch/$s_!g3-1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc324e859-6d44-44db-bf5a-962807f7c578_1280x1248.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!g3-1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc324e859-6d44-44db-bf5a-962807f7c578_1280x1248.png" width="1280" height="1248" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c324e859-6d44-44db-bf5a-962807f7c578_1280x1248.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1248,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:447095,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!g3-1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc324e859-6d44-44db-bf5a-962807f7c578_1280x1248.png 424w, https://substackcdn.com/image/fetch/$s_!g3-1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc324e859-6d44-44db-bf5a-962807f7c578_1280x1248.png 848w, https://substackcdn.com/image/fetch/$s_!g3-1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc324e859-6d44-44db-bf5a-962807f7c578_1280x1248.png 1272w, https://substackcdn.com/image/fetch/$s_!g3-1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc324e859-6d44-44db-bf5a-962807f7c578_1280x1248.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>If you have a minute, please join me! I&#8217;ll be there answering questions all day &#128516;</p><p>That&#8217;s all!</p><p>I&#8217;ll see you again in the next monthly newsletter issue. This time I got some interesting story to share!</p><p>Happy weekend! &#128075;</p><p>- Tony</p>]]></content:encoded></item><item><title><![CDATA[Early bird license of my new product]]></title><description><![CDATA[TypingMind.com is launching tomorrow on Product Hunt!]]></description><link>https://news.tonydinh.com/p/early-bird-license-of-my-new-product</link><guid isPermaLink="false">https://news.tonydinh.com/p/early-bird-license-of-my-new-product</guid><dc:creator><![CDATA[Tony Dinh]]></dc:creator><pubDate>Fri, 10 Mar 2023 04:39:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7bHU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca0ef7c-f5ca-4591-83c9-6c84445a9407_2362x1806.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello everyone, it&#8217;s Tony &#128516;&#128075;</p><p>Just a very quick update!</p><p>Over the last week, I&#8217;ve been working on a new product: <a href="https://TypingMind.com">TypingMind.com</a>. It&#8217;s a better UI for ChatGPT!</p><p>The app has gone viral. I&#8217;ve made ~$7,000 in revenue from it so far!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7bHU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca0ef7c-f5ca-4591-83c9-6c84445a9407_2362x1806.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7bHU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca0ef7c-f5ca-4591-83c9-6c84445a9407_2362x1806.png 424w, https://substackcdn.com/image/fetch/$s_!7bHU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca0ef7c-f5ca-4591-83c9-6c84445a9407_2362x1806.png 848w, https://substackcdn.com/image/fetch/$s_!7bHU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca0ef7c-f5ca-4591-83c9-6c84445a9407_2362x1806.png 1272w, https://substackcdn.com/image/fetch/$s_!7bHU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca0ef7c-f5ca-4591-83c9-6c84445a9407_2362x1806.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7bHU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca0ef7c-f5ca-4591-83c9-6c84445a9407_2362x1806.png" width="1456" height="1113" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3ca0ef7c-f5ca-4591-83c9-6c84445a9407_2362x1806.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1113,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:846043,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7bHU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca0ef7c-f5ca-4591-83c9-6c84445a9407_2362x1806.png 424w, https://substackcdn.com/image/fetch/$s_!7bHU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca0ef7c-f5ca-4591-83c9-6c84445a9407_2362x1806.png 848w, https://substackcdn.com/image/fetch/$s_!7bHU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca0ef7c-f5ca-4591-83c9-6c84445a9407_2362x1806.png 1272w, https://substackcdn.com/image/fetch/$s_!7bHU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca0ef7c-f5ca-4591-83c9-6c84445a9407_2362x1806.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Now the reason I am sending this email:</p><p>Currently, I&#8217;m running an early bird license deal at <strong>$19 - a one-time purchase </strong>to unlock premium features<strong>.</strong></p><p>This deal will end once the product launch tomorrow (the new price will be $29, then $39 after the launch).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8aiq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2bd1e70-cbaa-478a-9bb0-6feab0b9a7d4_936x1102.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8aiq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2bd1e70-cbaa-478a-9bb0-6feab0b9a7d4_936x1102.png 424w, https://substackcdn.com/image/fetch/$s_!8aiq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2bd1e70-cbaa-478a-9bb0-6feab0b9a7d4_936x1102.png 848w, https://substackcdn.com/image/fetch/$s_!8aiq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2bd1e70-cbaa-478a-9bb0-6feab0b9a7d4_936x1102.png 1272w, https://substackcdn.com/image/fetch/$s_!8aiq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2bd1e70-cbaa-478a-9bb0-6feab0b9a7d4_936x1102.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8aiq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2bd1e70-cbaa-478a-9bb0-6feab0b9a7d4_936x1102.png" width="936" height="1102" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a2bd1e70-cbaa-478a-9bb0-6feab0b9a7d4_936x1102.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1102,&quot;width&quot;:936,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:370081,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8aiq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2bd1e70-cbaa-478a-9bb0-6feab0b9a7d4_936x1102.png 424w, https://substackcdn.com/image/fetch/$s_!8aiq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2bd1e70-cbaa-478a-9bb0-6feab0b9a7d4_936x1102.png 848w, https://substackcdn.com/image/fetch/$s_!8aiq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2bd1e70-cbaa-478a-9bb0-6feab0b9a7d4_936x1102.png 1272w, https://substackcdn.com/image/fetch/$s_!8aiq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2bd1e70-cbaa-478a-9bb0-6feab0b9a7d4_936x1102.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Since you are my newsletter subscriber, I wanted to let you know so you can secure this early bird deal before it ends (roughly 24 hours from now)!</p><p>You can learn more about the product by going to <a href="https://typingmind.com">typingmind.com</a>.</p><p>As you may have known, this is my <strong>3rd attempt</strong> at building products with AI. The last two didn&#8217;t go so well, and I&#8217;m so glad that it has finally worked!</p><p>I&#8217;ll talk more about this in the next monthly newsletter update.</p><p>Stay tuned!</p><p>And please join me on my <a href="https://twitter.com/tdinh_me/status/1634022348289642496">Product Hunt launch tomorrow</a>. I really appreciate any support! &#128522;</p><p>That&#8217;s all for now.</p><p>See you soon!</p><p>- Tony</p>]]></content:encoded></item></channel></rss>