<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="/feed-style.xsl" type="text/xsl"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:media="http://search.yahoo.com/mrss/">
    <channel>
        <title>Justin Jackson</title>
        <link>https://justinjackson.ca</link>
        <description>Co-founder of Transistor.fm (podcast hosting). Writing about SaaS, bootstrapping, and building calm companies.</description>
        <atom:link href="https://justinjackson.ca/feed" rel="self" type="application/rss+xml"/>
        <lastBuildDate>Sat, 14 Mar 2026 07:00:00 +0000</lastBuildDate>
        <language>en-us</language>
        <copyright>Copyright 2026 Justin Jackson</copyright>
        <ttl>60</ttl>
        
        <item>
            <title><![CDATA[Three struggles with AI coding agents]]></title>
            <link>https://justinjackson.ca/llm-struggles</link>
            <guid>https://justinjackson.ca/llm-struggles</guid>
            <pubDate>Sat, 14 Mar 2026 07:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[A few observations about struggles folks are having with LLMs / Claude Code.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/feature-creep-small.png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>Hope you&#039;re finding some calm in the midst of the storm. A few observations about struggles folks are having with LLMs / Claude Code.</p><h2>Tired of the Claude Code hacks</h2><p>I think I&#039;m officially overwhelmed by the number of people sharing their bespoke Claude Code plugins, skills, agents.md, harness, etc., on social media. Everyone has a system. All I want is something simple that actually works.</p><p>I&#039;ve been really happy with Brian Casel&#039;s philosophy. When I asked about this in his <a href="https://buildermethods.com/">​Builder Methods​</a> discord, he replied:</p><blockquote><p>Generally, I believe that people&#039;s opinionated packaging of their own systems is just noise and adds complexity. I&#039;m more interested in [building] our own systems that fit our own mental models, team/org culture, etc.</p></blockquote><p>So far, I&#039;ve mostly stuck to using Claude Code&#039;s TUI with a simple claude.md file. I&#039;m also getting it to record daily &quot;what we did today&quot; journals in a history/ folder.</p><p><em>Aside: so much of these &quot;LLM productivity hacks&quot; feels similar to other productivity hype cycles we&#039;ve seen – </em><a href="https://medium.com/@olliecross/why-your-productivity-app-might-be-keeping-you-busy-not-productive-b15f6d6e0f5e">​<em>like when everyone got obsessed with Notion</em>​</a><em>.</em></p><p>----</p><h2>Don&#039;t be a feature creep</h2><p>LLMs make it easy for anyone to add new features to the product. Even before AI, teams were battling <a href="https://en.wikipedia.org/wiki/Feature_creep">feature creep</a>, where the product becomes increasingly complex, bloated, and cluttered.</p><p><a href="https://x.com/thdxr/status/2031377117007454421">​On X</a>, Dax Raad posted this internal memo from Open Code&#039;s team chat:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://x.com/thdxr/status/2031377117007454421" style="background:0;">
  
  <img src="/assets/content/dax.jpeg" alt="/assets/content/dax.jpeg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>He said:</p><blockquote><p>&quot;Everything great comes from being able to delay gratification for as long as possible, and it feels like we&#039;re collectively losing our ability to do that.&quot;</p></blockquote><p>I&#039;m hearing from lots of teams that are struggling with this!</p><p>----</p><h2>Prompt Claude Code... watch a video?</h2><p>Loved this bit from Caleb Porzio&#039;s <a href="https://notesonwork.transistor.fm/episodes/you-watching-the-oscars-on-sunday">​latest episode​</a>:</p><blockquote><p>It starts with: &quot;Oh, I really need AI to help me with this thing. Oh, it&#039;s taking too long. Okay, I&#039;ll open YouTube.&quot; Right?</p><p>But how it ends is you&#039;re like, &quot;Oh, I really wanna get something prompted so that I can watch YouTube while something else works.&quot; You know? It&#039;s just this knee-jerk reaction.</p><p>It&#039;s like, oh, I just want the relief. I just wanna watch, like, a golf video, a comedy video, a physics video, or some guy making a magnetic hoverboard.</p><p>So I&#039;ve been restraining myself pretty hard. I&#039;m gonna have to institute some sort of ban on all forms of consumption during the workday, or something, because it&#039;s just too damn tempting when you have all these prompts going and nothing else to do.</p></blockquote><p>----</p><p>How are you doing in all of this?</p><p>Let me know,<br>Justin Jackson<br><br>Connect with me on:<br>🦋 <a href="https://bsky.app/profile/justinjackson.ca">Bluesky</a><br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a><br>🧵 <a href="https://www.threads.net/@mijustin">Threads</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Will Claude Code ruin our team?]]></title>
            <link>https://justinjackson.ca/claude-code-ruin</link>
            <guid>https://justinjackson.ca/claude-code-ruin</guid>
            <pubDate>Wed, 04 Mar 2026 08:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[AI coding is blurring the lines between engineers, PMs, and designers. In the short-term, it's going to cause havoc. What happens long-term?]]></description>
            
            <media:content url="https://justinjackson.ca/assets/mexican-standoff-ai-social.png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>The first time I sat down and used Claude Code&#039;s Opus 4.5 to build software, I couldn&#039;t believe how good it was.</p><p>My next thought was: this is going to change the dynamics inside software teams.</p><h2>The standoff between roles</h2><p>Marc Andreessen <a href="https://www.youtube.com/watch?v=87Pm0SGTtN8">recently described</a> the moment as a “Mexican standoff:”</p><ul><li><p>Every engineer now thinks they can be a PM and a designer.</p></li><li><p>Every PM thinks they can code and design.</p></li><li><p>Every designer thinks they can do the other two.</p></li></ul>

</div>
<div class="block-embed max-w-lg mx-auto">
    <style>.embed-container { position: relative; margin-bottom:25px; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class='embed-container'><iframe src='https://www.youtube.com/embed//2hFWqR4yHjs' frameborder='0' allowfullscreen></iframe></div>
</div>
<div class="block-text max-w-md mx-auto">
    <p>The risk is that many individual contributors believe they no longer need the others.</p><p>In the short term, this is going to be incredibly disruptive for team culture.</p><p><strong>When rare skills become more attainable, people feel pressure to move &quot;up the stack&quot; to prove their value.</strong></p><p>Kent Beck expressed this sentiment <a href="https://x.com/KentBeck/status/1648413998025707520?s=20">on X</a>: </p><blockquote><p>&quot;The value of 90% of my skills just dropped to $0. The leverage of my remaining 10% went up a thousand.&quot;</p></blockquote><p><strong>My worry is that everyone is recalibrating toward the same 10%.</strong> Individual contributors are all racing toward the same layer of leverage.</p><p>In Ben Werdmuller&#039;s piece, &quot;<a href="https://werd.io/good-vibes-bad-vendors/">AI coding works now</a>,&quot; he gives advice specifically to engineers. He comments, &quot;AI coding shifts the center of gravity from implementation to judgment,&quot; and recommends that engineers focus on these four skills:</p><ol start="1"><li><p>Crafting goals for the product</p></li><li><p>Understanding what users actually want</p></li><li><p>Being crystal clear about the experience and value you&#039;re creating</p></li><li><p>Designing, building, and maintaining robust software architecture</p></li></ol><p>The challenge to Ben&#039;s advice is that lots of people believe <em>they</em> own these skills.</p><ul><li><p>Company Leadership wants to own goals and strategy. </p></li><li><p>Product Managers see themselves as uniquely qualified to understand what users want.</p></li><li><p>Designers want control over crafting the user experience.</p></li><li><p>And Marketing and Sales want to define how value is expressed to the customer.</p></li><li><p>Engineers own planning and implementing architecture. Performance, scalability, security; it all requires real expertise.</p></li></ul><p><strong>With AI, all of these roles become more fluid.</strong> As more people build software and cycle time compresses, they&#039;ll start to absorb lessons that it took their colleagues decades to learn. </p><p>And ultimately, more individuals will want to own the highest-leverage identity: “In my role, I solve problems and provide value to users.”</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/standoff-between-developers-designers-product-ceo-ai-claude-code.png" alt="/assets/content/standoff-between-developers-designers-product-ceo-ai-claude-code.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Left unchecked, there will be jockeying for position. There might be more animosity (and jealousy) between team members.</p><h2>What I&#039;m hearing from software teams</h2><p>I started asking my friends who run software teams what they&#039;re seeing.</p><p>One founder told me:</p><blockquote><p>I think you&#039;re correct here. We&#039;re already seeing it — mainly around PMs wanting to write code.</p></blockquote><p>Another said:</p><blockquote><p>We are feeling it on our team for sure. Everyone kinda feels like they can do everyone else&#039;s job.</p></blockquote><p>The President of an established software company described a similar shift:</p><blockquote><p>“Our team is a Head of Product and 15 engineers. On smaller projects he&#039;s shipping a lot of PRs himself with no developer in the loop.”</p></blockquote><p>But the biggest change wasn&#039;t just in who is doing the work. It was in who they’re hiring:</p><blockquote><p>“Where you really see the impact on jobs with us is in the people we&#039;re no longer hiring: specialists. In this new era, generalists win.”</p></blockquote><p>John O&#039;Nolan, founder of <a href="https://ghost.org/">Ghost</a>, commented:</p><blockquote><p>It’s a turbulent time, for sure — but overall I’m pretty optimistic. </p><p></p><p>The thing that hasn’t happened yet that I expect will happen in future is that, in addition to old roles being compressed, new roles emerge.</p></blockquote><h2>After the standoff</h2><p>My hope (once the dust settles) is that we come out the other side with <em>more</em> collaboration. Instead of competing for leverage, I&#039;m hoping individual contributors find new ways to work together.</p><p><strong>For example, what if Product Managers and Engineers did more AI-driven pair programming?</strong> The PM could focus on customer behavior and product goals. The engineer could evaluate architecture, security, and maintainability. They would iterate together in real time, using LLMs.</p><p>My friend Matt Stauffer, CEO of <a href="https://tighten.com/">Tighten</a>, commented that they&#039;re doing this right now:</p><blockquote><p>I demo work to my Biz Dev Manager (the product owner for this internal project), she asks for changes, and then we prompt the LLM live, together. I&#039;m better at prompting and reviewing, she knows the domain better than me. This kind of pair programming is great, because I&#039;m moving quickly and then she can jump off the call later when I&#039;m reviewing, iterating, etc.</p></blockquote><p><a href="https://werd.io/good-vibes-bad-vendors/">Ben Werdmuller&#039;s prescription</a> would still be relevant: <em>&quot;All code must have a human owner who will take responsibility for it.&quot; </em>In my scenario, the PM and the engineer would co-own the pull request.</p><p>37signals is famous for having two-person teams (one designer, one engineer). In an AI world, maybe a paradigm like that becomes the norm?</p><p>Once the turbulence has died down, folks will need a new vision for how to work together. How can we use AI <em>and </em>collaborate in ways that help us build better software?</p><p>Cheers,<br>Justin Jackson</p><p><a href="https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fjustinjackson.ca%2Fclaude-code-ruin&amp;t=Will%20Claude%20Code%20ruin%20our%20team%3F"><em>Discuss this on Hacker News</em></a><br><br>Connect with me on:<br>🦋 <a href="https://bsky.app/profile/justinjackson.ca">Bluesky</a><br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a><br>🧵 <a href="https://www.threads.net/@mijustin">Threads</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Don't kill my pretty RSS feed]]></title>
            <link>https://justinjackson.ca/xslt</link>
            <guid>https://justinjackson.ca/xslt</guid>
            <pubDate>Wed, 11 Feb 2026 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[XSLT makes RSS feeds readable for normies. Chrome is removing it by 2026. Here's why that matters for podcasters and the open web.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/dont-kill-my-pretty-rss-feed.png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>On a winter&#039;s day in 2018, I was helping a grandmother figure out what to do with an RSS feed someone had sent her. She had found my company&#039;s support chat (we do <a href="https://transistor.fm/?via=justin">podcast hosting</a>), and was confused.</p><p>&quot;Someone told me to listen to this, but when I click on it, it just looks like a bunch of code,&quot; she told me.</p><p>A week later, I spoke to someone else who tried loading an RSS feed in Firefox, only to be prompted to &quot;download the file to their computer.&quot;</p><p>A few months later, a user contacted us because when he tried to load a podcast RSS feed, it opened his classic version of Outlook and prompted him to add it there.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/add-this-rss-feed-to-outlook.png" alt="/assets/content/add-this-rss-feed-to-outlook.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>In each case, I tried to explain what RSS is and how it&#039;s used, but these non-technical users struggled to understand.</p><p>Later that summer, my business partner found a solution to present our podcast RSS feeds in a way people could understand: XSL stylesheets.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://transistor.fm/" style="background:0;">
  
  <img src="/assets/content/pretty-rss-feeds-xsl-stylesheet-xslt.png" alt="/assets/content/pretty-rss-feeds-xsl-stylesheet-xslt.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Once this was deployed, I saw firsthand how this helped our users understand RSS: once they could see it visualized and styled in their browser, they &quot;got it.&quot; </p><p>And, if they, or one of their listeners, happened to open one of our RSS feeds in the browser, they were able to browse the contents in a user-friendly way: click on episodes, read show notes, or listen to the audio.</p><h3>XSL stylesheets make RSS feeds look pretty (and that&#039;s a good thing)</h3><p>I still believe <a href="https://aboutfeeds.com/">RSS is an incredibly important technology</a>. While big, closed platforms like X, YouTube, and Facebook keep everything locked, RSS brings &quot;balance to the force&quot; by keeping it open.</p><p>As modern users become increasingly distant from understanding the web and the underlying technology that makes it work, it&#039;s worth helping &quot;normies&quot; understand something like RSS.</p><p>The best way to do that is to make RSS more user-friendly. As Daniel Aleksandersen said in <a href="https://www.ctrl.blog/entry/xml-feed-web-previews.html">his 2014 blog post</a>:</p><blockquote><p>A webpage with garbled text and XML tags isn’t all that user-friendly. [XML stylesheets] can improve on a newsfeed file’s presentation of itself to new users. <br><br>Atom/RSS can be difficult to wrap one’s head around. All you see is some garbled text and code after clicking an interesting orange button that encourages you to subscribe to sites you like. A potential subscriber is likely to think “Well, that didn’t work” and move on to something else. The only thing the site will have achieved is to have trained that user to never click on any orange buttons called “RSS” ever again.</p></blockquote><h2>XSLT makes the web more user-friendly</h2><p>Imagine you&#039;re a non-technical user who&#039;s heard about RSS. You notice that my site navigation has a link to my RSS feed. &quot;I want to check that out,&quot; you say. </p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://justinjackson.ca/feed" style="background:0;">
  
  <img src="/assets/content/site-nav-rss-link.png" alt="/assets/content/site-nav-rss-link.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>At this point, your possible realities diverge. In one reality, you click on the RSS link, and you get the wall of XM you see on the left. In another reality, you get the version on the right:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/styled-rss-feed-in-browser.png" alt="/assets/content/styled-rss-feed-in-browser.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Which version offers a better UX for non-technical users?</p><p><strong>This solution has technically worked on the web for 20+ years. But now, it&#039;s being removed.</strong></p><p>Browsers have been progressively dropping native RSS support for years. Firefox removed its built-in RSS feed reader in Firefox 64 (December 2018). </p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/firefox-rss-preview.png" alt="/assets/content/firefox-rss-preview.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>After that, Firefox started treating RSS feeds as downloadable files rather than displaying them. Other browsers display raw XML or perform other unexpected actions (e.g., opening Outlook).</p><p>Here&#039;s a quick example. In this video, I click a podcast RSS link in DuckDuckGo — without XSLT, it prompts me to download a file. With XSLT, it loads beautifully, and I can even play an episode right in the browser:</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <style>.embed-container { position: relative; margin-bottom: 25px; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class='embed-container'><iframe src='https://www.youtube.com/embed/YxfUwbliilQ' frameborder='0' allowfullscreen></iframe></div>
</div>
<div class="block-text max-w-md mx-auto">
    <p>If you browse online forums (<a href="https://www.reddit.com/r/firefox/comments/vybtvs/is_it_possible_to_get_firefox_to_open_rss_feeds/#:~:text=I&#039;m%20using%20FF%20on%20a%20Mac.%20When,but%20instead%20it%20insists%20on%20downloading%20them">like Reddit</a>), you&#039;ll find users reporting this exact confusion: &quot;I clicked on the RSS feed, and it downloaded a file. What do I do with this?&quot;</p><p>XSLT fixes this – it transforms XML into HTML. With XSLT, it works consistently everywhere, because at that point, it&#039;s just a webpage.</p><h2>Browsers are removing XSLT support</h2><p>And now it&#039;s about to get worse.</p><p><a href="https://github.com/whatwg/html/issues/11523">On August 1, 2025</a>, a Chromium developer posted on WHATWG&#039;s GitHub: &quot;Should we remove XSLT from the web platform?&quot; </p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/removing-xslt-support-not-popular.png" alt="/assets/content/removing-xslt-support-not-popular.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Despite the developers voting against removal 2-to-1. The proposal moved to &quot;Committed&quot; anyway.</p><p><a href="https://developer.chrome.com/docs/web-platform/deprecating-xslt">In October 2025</a>, Google announced that Chrome would officially deprecate XSLT. By November 2026, XSLT will no longer work in Chrome. Firefox and WebKit have both indicated they plan to remove XSLT as well.</p><p>Google says it&#039;s removing XSLT to address security vulnerabilities. The underlying library that processes XSLT in Chrome (libxslt) is an aging C/C++ codebase with known memory safety issues. Chrome&#039;s team argues that because only about 0.02% of page loads use XSLT, it&#039;s not worth the maintenance burden.</p><p>As one <a href="https://news.ycombinator.com/item?id=45826023">commenter on Hacker News</a> put it: &quot;Google is too cheap to fund or maintain the library they&#039;ve built their browser with after its hobbyist maintainers got burnt out.&quot; <a href="https://news.ycombinator.com/item?id=45826402">Another noted</a>:</p><blockquote><p>&quot;How about a trillion-dollar corporation steps up to sponsor the lone maintainer who has been doing a thankless job for decades? They certainly have enough resources to maintain a core web library and fix all the security issues if they wanted to. And I don&#039;t buy the excuse that XSLT is a niche feature. Their [pet feature] AMP probably has even less users, and they&#039;re happily maintaining that abomination.&quot;</p></blockquote><h2>Who uses XSLT for RSS feeds?</h2><p>Many bloggers (such as <a href="https://cassidoo.co/rss.xml">Cassidy Williams</a>) still rely on XSLT to style their RSS feeds. But ever since Google Reader went away, RSS feeds haven&#039;t been as popular for normal consumers.</p><p>One place where everyday consumers <em>do</em> interact with RSS feeds is in podcasting.</p><p>Many of the top podcast hosting providers rely on XSLT for browser rendering. My estimate is that this affects more than <a href="https://docs.google.com/spreadsheets/d/18jhE21lnXvDXEOAvKnyPZrLTxoEEvLyy6U_D5zdm4Ko/edit?usp=sharing">500,000 feeds</a> and millions of people viewing them on the web.</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <style>.embed-container { position: relative; margin-bottom: 25px; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class='embed-container'><iframe src='https://www.youtube.com/embed/KLXgUcicFRs' frameborder='0' allowfullscreen></iframe></div>
</div>
<div class="block-text max-w-md mx-auto">
    <p>One frustrating part of this discussion is that many tech folks don&#039;t intuitively understand how useful this is for &quot;normies.&quot;</p><p>Many podcast hosting providers use XSLT to make it easier for users to visualize their RSS feed in a browser. Creators link to their feeds on their websites, in their emails, and on social media. Usage is likely far more widespread than people give it credit for.</p><h3>The suggested workarounds don&#039;t work for real-world use cases</h3><p>Google&#039;s <a href="https://developer.chrome.com/docs/web-platform/deprecating-xslt#how_to_migrate">proposed solutions</a> don&#039;t actually solve the problem.</p><p>Their first suggestion is to hide your RSS feed behind a <code>&lt;link&gt;</code> tag so users never see it directly. But as I&#039;ve described, people encounter RSS feed URLs everywhere: in emails, on websites, and shared on social media. You can&#039;t prevent people from sharing/clicking on them.</p><p>Their second suggestion is to add a JavaScript polyfill to your XML files. But as John Spurlock (creator of <a href="https://op3.dev/">OP3</a>) pointed out, most RSS parsers ignore unknown elements, but if there&#039;s one tag a parser would blacklist by default, it&#039;s <code>&lt;script&gt;</code>. Adding JavaScript to an RSS feed could cause podcast apps to reject the feed entirely.</p><p>There&#039;s a third option: using a CSS stylesheet instead of XSLT. James Cridland (editor of Podnews) has implemented this approach, and you can see it on the <a href="https://podnews.net/rss">Podnews RSS feed</a>. As James put it: &quot;The CSS stylesheet option isn&#039;t fabulous but at least helps humans understand what is going on, rather than present them with what most people would consider &#039;an error.&#039;&quot; This approach has limitations. When I tried loading James&#039; feed in multiple browsers, it prompted me to download it:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/css-in-feed-doesnt-work.png" alt="/assets/content/css-in-feed-doesnt-work.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>This kind of styling is far more limited than what XSLT provides: you can&#039;t add an audio player, and some browsers will still auto-open podcast feeds in RSS readers, further confusing users.</p><p>None of these workarounds replicates the primary benefits of XSLT: transforming XML into a proper HTML page that works consistently across all browsers.</p><p>This feels like another step in the slow erosion of the open web. First, Google killed Google Reader (which many credit with diminishing RSS adoption). Then, browsers removed the RSS icon from the address bar. Now they&#039;re removing the ability to make feeds look human-readable.</p><h2>Is it too late?</h2><p>Many have commented that this topic &quot;has been chewed on <em>ad nauseum</em> <a href="https://hn.algolia.com/?dateRange=pastYear&amp;page=0&amp;prefix=false&amp;query=XSLT&amp;sort=byPopularity&amp;type=story">on HN already</a>.&quot;</p><p>I still think it&#039;s important to send the WHATWG (Web Hypertext Application Technology Working Group) and browsers a message: </p><p><strong>This move sucks. </strong></p><p>Once XSLT support is fully removed, I think we&#039;ll see how many people were using it, how many use cases it supported, and how much more accessible the web became for millions of people. </p><p>Cheers,<br>Justin Jackson<br><br>Connect with me on:<br>🦋 <a href="https://bsky.app/profile/justinjackson.ca">Bluesky</a><br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a><br>🧵 <a href="https://www.threads.net/@mijustin">Threads</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

<div class="block-text max-w-md mx-auto">
    <p></p>

</div>
]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Claude Code and the new age of software development]]></title>
            <link>https://justinjackson.ca/claude-code</link>
            <guid>https://justinjackson.ca/claude-code</guid>
            <pubDate>Fri, 06 Feb 2026 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[I've fallen down a Claude Code rabbit hole.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/claude-code-newspaper.png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>The first month of 2026 has been a blur.</p><p>Like many of you, I&#039;ve fallen down a Claude Code rabbit hole. Whenever I have spare time, I&#039;m experimenting with it.</p><p>As many others <a href="https://x.com/kevinroose/status/2019529811379777940">have said</a>, Claude&#039;s Opus 4.5 model was a tectonic shift for the software development world. When folks started playing with it over the Christmas holiday, many of us had the same realization: &quot;Holy shit – you can build serious software just by chatting with Claude Code in the terminal.&quot;</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <blockquote class="twitter-tweet tw-align-center"><p lang="en" dir="ltr">Claude Code with Opus 4.5 is a watershed moment, moving software creation from an artisanal, craftsman activity to a true industrial process.<br><br>It’s the Gutenberg press. The sewing machine. The photo camera.</p>&mdash; Sergey Karayev (@sergeykarayev) <a href="https://twitter.com/sergeykarayev/status/2007899893483045321?ref_src=twsrc%5Etfw">January 4, 2026</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</div>
<div class="block-text max-w-md mx-auto">
    <p>I felt like I&#039;ve had a front-row seat to this evolution because of my friendship with Brian Casel, who has long forecasted that AI would fundamentally change how we build products. In <a href="https://panelpodcast.com/">our podcast</a>, we&#039;ve ended up discussing LLMs in nearly <a href="https://panelpodcast.com/episodes">every episode</a>.</p><h2>Building with AI</h2><p>Since the beginning of the year, I&#039;ve focused more of my time on building with AI.</p><p>First, using Cursor, I built a new website for<a target="_blank" href="https://marketingfordevelopers.com/"> Marketing for Developers </a>(a private community I&#039;m launching).</p><p>But soon after, I started using Claude Code exclusively, and I&#039;ve been building up a storm.</p><p>One thing I&#039;m doing is exploring features we&#039;re considering for Transistor, but built as a standalone app.</p><p>Here&#039;s a demo of a video podcasting app I built completely with Opus 4.5:</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <style>.embed-container { position: relative; margin-bottom: 25px; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class='embed-container'><iframe src='https://www.youtube.com/embed/ukEdEOJLEFc' frameborder='0' allowfullscreen></iframe></div>
</div>
<div class="block-text max-w-md mx-auto">
    <p>All of this exploration reminds me of an old <a href="https://www.cpapracticeadvisor.com/2018/03/21/undercover-operation-results-in-new-version-of-freshbooks/29244/?__readwiseLocation=">​FreshBooks story...</a></p><h3>The FreshBooks story</h3><p>Back in 2013, CEO Mike McDerment knew FreshBooks needed a complete rewrite, but he was worried about taking such a big risk with an established app. Instead, he decided to do it undercover. His team secretly built a new product called &quot;BillSpring&quot; and launched it as a free, standalone app.</p><p>“What if we created a new company and competed with ourselves?” A new company could have its own name, brand, logo, website, articles of incorporation, user agreement, service staff – “We could use that to figure out if we could build a product that’s truly better than the one we were offering.”</p><p>The secrecy gave them permission to take big risks without existing customers watching every move. Nine months later, a FreshBooks user called to cancel his account: &quot;I&#039;m switching to this great new company, BillSpring.&quot; That was the affirmation McDerment needed to know they&#039;d built something <em>better.</em> They eventually folded the &quot;BillSpring&quot; app and made it the new &quot;version&quot; of FreshBooks.</p><p>This is the advantage I&#039;m seeing in building prototypes with Claude Code: you can take risks, try weird things, and discover what the product actually needs to be – before committing to building it into your main platform. Even more salient: what took FreshBooks two years and a full engineering team, I can now explore in a weekend with Claude Code.</p><p>As a builder and product person, I&#039;m having more fun right now than I&#039;ve had in years. Being able to articulate a clear vision and architecture, and have Claude Code build it, is incredibly satisfying.</p><p>This mirrors what I&#039;m seeing from a lot of my peers:</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <blockquote class="twitter-tweet tw-align-center"><p lang="en" dir="ltr">For the first time in a long time I&#39;m feeling that excitement at the end of the day... I can&#39;t wait to start working again tomorrow morning.<br><br>That&#39;s down to Claude. It&#39;s removed the monotony of writing the more repetitive code, but still leaves the fun stuff for me.</p>&mdash; Jon Yongfook (@yongfook) <a href="https://twitter.com/yongfook/status/2015380823982407858?ref_src=twsrc%5Etfw">January 25, 2026</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</div>
<div class="block-text max-w-md mx-auto">
    <h2>Marketing in the Age of AI</h2><p>A side project I&#039;m working on in 2026 is <a target="_blank" href="https://marketingfordevelopers.com/">Marketing for Developers</a>.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://marketingfordevelopers.com/" style="background:0;">
  
  <img src="/assets/content/m4devs-site.png" alt="/assets/content/m4devs-site.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>I wrote the <a href="https://justinjackson.podia.com/marketing-for-developers-the-book">original book in 2015</a>, and that launch <a href="https://justinjackson.ca/2016-review">changed my life</a>.</p><p>Since then, I&#039;ve considered rewriting it multiple times, but I never felt I had an angle that warranted a new version. But now, in the age of AI, that&#039;s all changed. Building software products is more accessible than ever. The hard part isn&#039;t building, it&#039;s marketing: finding customers and getting them to care.</p><p>Originally, I thought I might rewrite the entire book this year.</p><p>But as I started, I realized a book would be too slow to capture how fast things are moving right now.</p><p>At the same time, a few people joined the M4Devs paid membership (before I&#039;d even officially launched it). As I started sharing tips and tactics in our private Discord, I realized that the right &quot;shape&quot; for learning and advice these days is in communities, where you can discuss what&#039;s happening right now.</p><p>So, I&#039;m</p><ul><li><p>Making the original 2015 book free online</p></li><li><p>Focusing on the community: publishing podcast episodes, lessons, videos, and discussions for members.</p></li></ul><p>If you want, you can join M4devs as a free (or paid) member <a href="https://marketingfordevelopers.com/">here</a>.</p><h2>How are you feeling in all of this?</h2><p>When I talk to folks in tech, some people are hyped on all this AI stuff, others are apprehensive about it.</p><p>What&#039;s clear, though, is that everyone is feeling the pressure.</p><ul><li><p>The pressure to stay on top of this giant tsunami of change.</p></li><li><p>The pressure to not get left behind.</p></li><li><p>The pressure to build more, have more agents going simultaneously, and not waste any time or cycles.</p></li></ul><p>I feel it too.</p><p>But I keep coming back to this idea that most often, <a href="https://justinjackson.ca/surfing">we don&#039;t create the waves, we ride them</a>.</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <blockquote class="twitter-tweet  tw-align-center"><p lang="en" dir="ltr">Always play the hand you have, not the one you wish you had</p>&mdash; Garry Tan (@garrytan) <a href="https://twitter.com/garrytan/status/1815400246090117619?ref_src=twsrc%5Etfw">July 22, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Cheers,<br>Justin Jackson<br><br>Connect with me on:<br>🦋 <a href="https://bsky.app/profile/justinjackson.ca">Bluesky</a><br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a><br>🧵 <a href="https://www.threads.net/@mijustin">Threads</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[2025 year in review]]></title>
            <link>https://justinjackson.ca/2025-review</link>
            <guid>https://justinjackson.ca/2025-review</guid>
            <pubDate>Fri, 02 Jan 2026 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[For the last twelve years, I've been writing a year-in-review post. Here's what happened this past year in my journey.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/content/transistor-2025-review.jpg" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>Reflecting on an entire year&#039;s worth of events can feel daunting!</p><p>But for every year since 2013, I&#039;ve completed this post. And every year, I&#039;ve found this kind of reflection valuable.</p><p>(You can read <a href="/2024-review">2024</a>, <a href="/2023-review">2023</a>, <a href="/2022-review">2022</a>, <a href="/2021-review">2021</a>, <a href="/2020-review">2020</a>, <a href="/2019-review">2019</a>, <a href="/2018-review">2018</a>, <a href="/2017-review">2017</a>, <a href="https://justinjackson.ca/2016-review">2016</a>, <a href="/2015-review">2015</a>, <a href="/2014-review">2014</a>, and <a href="/2013-review">2013</a> here).</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/2025-review-feature-image.jpg" alt="/assets/content/2025-review-feature-image.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <h2>What makes something significant?</h2><p>After reviewing all the events from this year, this thought jumped out at me:</p><blockquote><p>What makes an event feel special is when you <em>make it significant. </em>It&#039;s intentionality that makes the difference.</p></blockquote><p>What makes a trip feel significant? You&#039;ve already decided to make it special before you leave home. You&#039;re carving out space for something out of the ordinary to happen. </p><p>Simply choosing to do something beyond the everyday routine creates a special memory.</p><p>This is hard for me to do! I love routine. But the high notes of life really do make it worth living.</p><p>I want to get more intentional about making sure those highlights happen.</p><h2>Personal update</h2><p>What&#039;s missing from these year-in-review posts are the incredibly significant events, feelings, and relationships from my personal life.</p><p>The truth is, I can only share 5% of my life here that I feel comfortable talking about publicly. That generally means business updates, what I&#039;m working on creatively, and what I&#039;m thinking about.</p><p>But there&#039;s a whole chunk of me I can&#039;t share here (and that&#039;s the way it&#039;s always been).</p><p>One thing I will share is that this was a challenging year emotionally. There were some difficult events to face and complex emotions to confront.</p><p>I often felt weary and strained. There were moments when I felt so drained that I just wanted to escape.</p><p>And yet, when I reflect on that past year, there were also many beautiful moments: many good moments with family and friends, filled with discovery and growth.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/sunset-kal-lake.jpg" alt="/assets/content/sunset-kal-lake.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <h3>Personal wins</h3><ul><li><p>I finally figured out my allergy issues. I was able to get referred to a specialist, who tested me and prescribed a nasal spray that&#039;s eliminated all my sleep issues (stuffy nose, itchy palate, sneezing). It&#039;s been a huge win.</p></li><li><p>We had friends over at our house more this year than any other year I can think of. A lot of this was centered around watching hockey, sharing meals, and hanging out on our deck. Our society is spending less and less time with friends (<a href="https://www.theglobeandmail.com/life/social-trends/article-canadians-spending-less-time-friends-inventive-stay-close/">link</a>); it feels good to buck the trend.</p></li><li><p>I reconnected with old friends. I think there was part of me that felt like I needed to &quot;close some loops,&quot; reconnect some old threads, tie up some emotional loose ends. It ended up being cathartic and restorative, helping me discover/rediscover parts of myself. It felt like I was returning to old parts of myself, but with a new perspective.</p></li><li><p>I didn&#039;t post on X/Twitter the whole year. Not engaging on that platform has brought me a lot of peace.</p></li><li><p>Jazz. I saw more live jazz shows this year than any other.</p></li></ul>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://www.vernonjazz.com/" style="background:0;">
  
  <img src="/assets/content/jazz.jpg" alt="/assets/content/jazz.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <h2>Transistor update</h2><p>I&#039;m going to start with a brief celebratory note: as of this month, Jon Buda and I have been working together for 8 years.</p><p>In January 2018, we decided to build <a href="https://transistor.fm/?via=justin">Transistor</a>, a podcast hosting and distribution service, together. It took a ton of work, and lots of stress and unknowns, but two years later, we had replaced our old salaries. That was always the dream: &quot;We&#039;re going to take this risk, and work really hard for a few years, in the hopes that we can build something that will give us a better life.&quot;</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a href="https://transistor.fm/about/?via=justin" style="background:0;">
  
  <img src="/assets/content/transistor-2025-review.jpg" alt="/assets/content/transistor-2025-review.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>This past September, our whole team (Jon, me, Helen, Jason, Josh, and Michael) traveled to Canmore, Alberta, for our annual retreat. We also had Chris Enns, our long-standing contract <a href="https://www.lemonproductions.ca/">podcast editor</a>, join us. The whole week was fantastic (aside from Jason getting sick!).</p><p>While the rest of the tech industry was tumultuous (another year of layoffs, anxiety about AI), Transistor&#039;s revenue remained stable.</p><p>I am so grateful for this small, solid company that we&#039;ve built. Even when the rest of the world is stormy, so far it&#039;s been a calm, reliable base.</p><p>I think our whole team is motivated by the same things: to do work that feels meaningful to us, to earn enough money to live well, and to do high-quality work that makes an impact.</p><p>We have some cool stuff planned for 2026:</p><ul><li><p><a href="https://www.youtube.com/watch?v=4gyhE-yOYjE">Distribute private (and paid) podcasts to Spotify</a></p></li><li><p>A really cool integration with the <a href="https://ghost.org/">Ghost CMS</a></p></li><li><p>Some improvements to our <a href="https://transistor.fm/features/dynamic-ads/">ad campaigns feature</a></p></li><li><p>Exploring the possibility of adding video podcasts</p></li></ul><h3>The podcast industry</h3><p>The podcast industry is a bittersweet place. There were moments where I felt very down about the podcast ecosystem, and then I&#039;d attend an event and have my spirits lifted by all the wonderful people here.</p><p>Behemoths like Apple, Google, and Spotify dominate the consumer side of the business. So much of what we do in podcasting is determined by the beautiful phrase, &quot;wherever you get your podcasts.&quot; But this is a double-edged sword. That decentralization means consumers have more choice, and there&#039;s more room for small independent companies. But it can also feel like we&#039;re at the whims of these companies and the consumer culture they&#039;re creating.</p><p>On the other hand, I&#039;ve met some of my favorite people on the planet at podcast conferences. When I&#039;m at a podcast event, I feel like I&#039;m with my people: creatives, product people, old nerds, folks in entertainment.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/podcast-industry-2025-review.jpg" alt="/assets/content/podcast-industry-2025-review.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <h3>Podcast Standards Project</h3><p>This past year, I took a much more active role with the <a href="https://podstandards.org/">Podcast Standards Project</a>. This is a grassroots group of podcast hosting companies and podcast listening apps. We&#039;re coming together to ensure that the open podcasting ecosystem (and especially RSS) continues to innovate for both listeners and creators.</p><p>It felt like the group could use some energy and leadership, so I dedicated a lot of time in 2025 to inviting new members, organizing meetings, and building consensus on which features to adopt.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/podcast-show-psp-meeting.jpg" alt="/assets/content/podcast-show-psp-meeting.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Like any open-source standards group, creating broad consensus and turning that into action is challenging!</p><p>One of the things I&#039;m most proud of was spearheading the discussion around <a href="https://podstandards.org/2025/08/18/bringing-video-to-the-open-podcast-ecosystem/">HLS video in podcasting</a>.</p><h2>Side projects</h2><ul><li><p><a href="https://panelpodcast.com/"><strong>The Panel podcast</strong></a><strong>.</strong> My main side project this past year was a (mostly) weekly podcast with fellow bootstrapper <a href="https://briancasel.com/">Brian Casel</a>. We experimented quite a bit with the show, which culminated in us recording it live and interacting with a regular group showing up to chat on the livestream.</p></li><li><p>I&#039;ve been helping a filmmaker, Shaun Michael Colón, with marketing and funding for his film about the podcast industry: <a href="https://www.aoamovie.com/">Age of Audio</a> (he also made another documentary I like, <a href="https://docplus.com/show-details/a-fat-wreck">A Fat Wreck</a>). I&#039;ve learned a lot about how the indie film industry works, how films get funded, distributed, etc.</p></li><li><p>I volunteered to help a local candidate in the last <a href="https://bsky.app/profile/justinjackson.ca/post/3lncbskqiy22k">Canadian federal election</a>. Eye-opening to see how local politics works in a federal election.</p></li></ul><h2>Thoughts I&#039;m contemplating</h2><ul><li><p>AI. LLMs. Yup, 2025 was the year. I feel a bit split by AI. I <a href="https://bsky.app/profile/justinjackson.ca/post/3lpwogyz3us2h">started the year</a> being quite apprehensive about it. As I continued to use it, I became less skeptical about its utility (especially when it comes to software development). <strong>In fact, there&#039;s a big part of me that&#039;s excited about building with AI.</strong> But I&#039;m still conflicted about it. I don&#039;t trust the leadership at most AI companies. I worry about its effect on young people&#039;s learning and career prospects. (<a href="https://panelpodcast.com/29#t=7m9s">Link</a>)</p><ul><li><p>AI has the potential to dramatically increase the number of &quot;v0.9&quot; features you have, but somebody still needs to review all those pull requests, look them over, make sure they&#039;re tested and performant. That&#039;s going to be a bottleneck.</p></li><li><p>Product people will become more valuable in 2026. If you&#039;re someone who understands how customer demand is created, how it grows, and can translate a customer’s desire into an experience that satisfies that demand...</p></li><li><p>With AI, we&#039;ll likely become more like film directors and producers. “Alright, move this camera over here. This actor is going to say this in this way, and the other person, I want you to respond like this.”</p></li><li><p>Marketers and salespeople will become more valuable in 2026. With AI, everyone&#039;s building software, but the most challenging part was never the <em>building</em>; it was finding ways to build things people were looking for and connecting with that demand.</p></li></ul></li><li><p>I have an old mentor who used to say: <strong>“Every business is a people business, every problem is a people problem, and every solution is a people solution.”</strong> This is more true today than it&#039;s ever been.</p></li><li><p>When everyone&#039;s optimizing for the algorithm, originality gives way to mimicry, and what&#039;s left is mediocrity. </p></li><li><p>&quot;Social media promised connection, but it has delivered exhaustion.&quot; (<a href="http://noemamag.com/the-last-days-of-social-media/">Link</a>)</p></li><li><p>Something my therapist taught me: <strong>stress is a real or perceived demand that exceeds available resources.</strong> The breakthrough was realizing there are really only two ways to reduce stress: lower demands or increase resources. (<a href="https://bsky.app/profile/justinjackson.ca/post/3lcxzunvkk226">Link</a>)</p></li><li><p>This sentiment from James Clear feels true: &quot;<strong>Bad things happen loudly</strong>: the injury, the flat tire, the mistake that gets you criticized. <strong>Good things happen quietly</strong>: the completed workout, the healthy meal, the ten minutes of writing. Nobody talks about the little moments that add up.&quot;</p></li><li><p>I&#039;m worried about the economy, especially how folks are increasingly feeling squeezed. (<a href="https://bsky.app/profile/justinjackson.ca/post/3lxphjf7q5c23">Link</a>)</p></li><li><p>After nearly 14 years in a small city, I&#039;ve been itching to move to a bigger one (1m+?). Maybe that&#039;s something we&#039;ll do once the kids have moved out?</p></li></ul>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/mountain-revelstoke.jpg" alt="/assets/content/mountain-revelstoke.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <h2>Favorite podcasts from 2026</h2><ul><li><p>I’m really enjoying this podcast by Stripe co-founder John Collison: <a href="https://cheekypint.transistor.fm/">A Cheeky Pint</a>. It feels like Tyler Cowen-type questions, but focused on tech and startups. </p></li><li><p>Adam Wathan&#039;s new &quot;<a href="https://feeds.transistor.fm/adams-morning-walk">Morning Walk</a>&quot; podcast is so vulnerable and raw – so refreshing to hear someone working through real problems out loud.</p></li><li><p>&quot;<a href="https://mostlytechnical.com/">Mostly Technical</a>&quot; by Aaron Francis and Ian Landsman is so good. </p></li><li><p>Jordan Gal&#039;s new podcast, <a href="https://offsite.castos.com/">Offsite</a>, is excellent as well.</p></li><li><p>Jon Buda and I recorded <a href="https://saas.transistor.fm/episodes/an-update-from-justin-and-jon-c50bd3a2-7371-4d4b-98ea-2424f9d87aa2">one episode</a>!</p></li></ul><h2>Ideas, goals, and plans for 2026</h2><ul><li><p><strong>Transistor. </strong>We&#039;ve just started doing weekly product planning meetings, which have been really helpful for exploring and planning future features. With such a small team, we&#039;ll always be limited by what we can ship, but I&#039;m excited to see what we do this year.</p></li><li><p><strong>Business travel. </strong>Currently, I&#039;m considering these big trips for 2026:</p><ul><li><p>Founder retreat with Jon in February?</p></li><li><p><a href="https://www.thepodcastshowlondon.com/">Podcast Show</a> in London in May</p></li><li><p>Transistor team retreat</p></li><li><p>Plan another <a href="https://bsky.app/profile/justinjackson.ca/post/3lxio6dpzds2f">meetup in Toronto</a>? (I&#039;d actually love to plan a <a href="https://bsky.app/profile/did:plc:nr55rexy4s2we22j56d4n46b/post/3mbmlolrlu22s">whole tour of meetups</a> like this one around the world)</p></li></ul></li><li><p><strong>Sabbatical? </strong>Jon and I have been talking about us doing a sabbatical after 5-7 years of working on Transistor. Well, now it&#039;s been 8! 😅 I&#039;d love to plan a 3-month break from work. (<a href="https://saas.transistor.fm/episodes/an-update-from-justin-and-jon-c50bd3a2-7371-4d4b-98ea-2424f9d87aa2/transcript#t=42m52s">Link</a>)</p></li><li><p><strong>Personal travel</strong>.</p><ul><li><p>I&#039;d love to do more one-on-one trips with each of my kids</p></li><li><p>2-3 trips, just me and my wife.</p></li><li><p>Plan a big family trip that gets everyone together (I keep hoping we&#039;ll get the whole family to Japan, but I&#039;m not sure we&#039;ll be able to swing that this year).</p></li></ul></li><li><p><strong>Write the next version of <a href="https://marketingfordevelopers.com/">Marketing for Developers</a>. </strong>I&#039;ve thought about rewriting and relaunching my book multiple times. This is the first time I felt like I&#039;ve got a new angle: in the age of AI, more developers are building products. But the hard part isn&#039;t the building, it&#039;s finding customers! Big opportunity. Update: <a href="https://marketingfordevelopers.com/">the new site is up</a>!</p></li></ul><p>Here&#039;s to an incredible 2026!</p><p>Cheers,<br>Justin Jackson<br><br>Connect with me on:<br>🦋 <a href="https://bsky.app/profile/justinjackson.ca">Bluesky</a><br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Entrepreneurship advice for high school students (what I wish I knew)]]></title>
            <link>https://justinjackson.ca/highschool</link>
            <guid>https://justinjackson.ca/highschool</guid>
            <pubDate>Fri, 17 Oct 2025 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[]]></description>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>I gave a talk about my experience as a founder with my son&#039;s high school Entrepreneurship class.</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class='embed-container'><iframe src='https://www.youtube.com/embed//Lb87ALhuQz8' frameborder='0' allowfullscreen></iframe></div>
</div>
<div class="block-text max-w-md mx-auto">
    <p>This was a significant experience for me on some big levels:</p><ol start="1"><li><p>I reflected on who I was and what I knew when I was 17-18. It was surprising to remember <strong>how small my worldview was back then</strong>. I was living in a small town in Alberta, and all I knew was what was around me.</p></li><li><p><strong>I thought deeply about which events had the biggest impact on my entrepreneurial journey</strong>. Putting on a rave in high school, starting a snowboard shop, and getting my first job in tech were significant events.</p></li><li><p>I was reminded about <strong>how important it is for young people to have accessible role models in their lives</strong>. When I was 17, I didn&#039;t know what was possible. What changed my life was meeting key people who mentored me, expanded my worldview, and helped me see opportunities I didn&#039;t know existed.</p></li></ol><h2>How to increase your luck surface area</h2><p>As I told my story, I pointed out numerous times where &quot;I got lucky.&quot; Luck plays a big part in any success story, but I also emphasized that you can <strong>increase your luck surface area</strong>. I made <a href="https://www.tldraw.com/f/mSClgsSqzJiiQKcQjEtzE?d=v300.-23.1020.813.ZAosbRe-6gBNKMd0FqZak">this handout</a> about that.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://www.tldraw.com/f/mSClgsSqzJiiQKcQjEtzE?d=v300.-23.1020.813.ZAosbRe-6gBNKMd0FqZak" style="background:0;">
  
  <img src="/assets/content/how-to-increase-your-luck-surface-area.png" alt="/assets/content/how-to-increase-your-luck-surface-area.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <h2>I found business planning documents I made when I was 17 (in 1998)</h2><p>As a part of my research, I found a directory of files I&#039;d made while planning a rave in my hometown. </p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://www.dropbox.com/scl/fo/fk3mdc1brvdjttn50997s/AJNUXKWSOriB-26BSKt-ZSU?rlkey=ba1htao7f09x7ipeljq7ursjs&st=ld133b8w&dl=0" style="background:0;">
  
  <img src="/assets/content/planning.png" alt="/assets/content/planning.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p></p>

</div>
]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[What kills motivation?]]></title>
            <link>https://justinjackson.ca/kill-motivation</link>
            <guid>https://justinjackson.ca/kill-motivation</guid>
            <pubDate>Sat, 13 Sep 2025 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[Working hard doesn't cause burnout, but losing hope does. Here's how to tell when to persist through difficulty vs. time to pivot.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/not-worth-it.png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>Aaron Francis wrote about this in <a rel="noopener noreferrer nofollow" target="_blank" href="https://aaronfrancis.com/newsletter">his newsletter</a>, and I can’t stop thinking about it:</p><blockquote><p><strong>“Maybe, working hard doesn’t lead to burnout, but the lack of hope leads to burnout. </strong></p><p>If you&#039;re working really hard for something that you don&#039;t believe will pay off, it&#039;s easy to lose motivation. But if you believe that the thing you&#039;re working on will have a payoff, the amount of work almost doesn’t matter.”</p></blockquote><p>Working on something I believe in gives me an unbelievable amount of energy. I can work 12 hours a day and feel like no time has passed. I&#039;m highly activated. I&#039;m motivated by the promise of a future payoff.</p><p>But sometimes, I&#039;ve kept working even when it became clear that the payoff wasn&#039;t going to happen. I kept showing up, trying<em> </em>to do the work, but I became numb. I couldn’t get moving. My productivity grinds to a halt.</p><blockquote><p>“Burnout is nature&#039;s way of telling you that the perceived reward isn&#039;t worth the effort.” – Matt Wensing</p></blockquote><p>I remember feeling this way when I started my <a href="https://justinjackson.ca/margin">snowboard shop</a>. Initially, my partners and I had so many ideas, plans, and creative visions for the business. It was fun to work long hours. We were running the equivalent of a marathon every day, but it felt effortless. But eventually, the reality of running a retail business caught up with us: the bad margins, theft, long hours, and low pay. Taking a vacation or time off didn’t help, because “the perceived reward no longer felt worth the effort.” We realized that it was a high-risk business with low potential.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/not-worth-it.png" alt="/assets/content/not-worth-it.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>(<a href="https://justinjackson.ca/effort-outcome">I&#039;ve written about effort and outcomes here</a>)</p><h2>What to do when your motivation runs low</h2><p>When your motivation is high, you feel like your efforts can produce the results you want.</p><p>When your motivation runs dry, it might be time for introspection: “Is my work helping me make progress?” If not, it might be time to explore a new direction.</p><p>The hard question is: how do you know when to persist through a difficult time? When is it time to pick a different path?</p><p>Consider James Dyson, who went through 5,126 failed prototypes before succeeding. His persistence paid off because his core vision, of creating a better vacuum, remained compelling to him.</p><h3>Dips and Cul-de-Sacs</h3><p>This is where Seth Godin&#039;s concept of &quot;The Dip&quot; becomes useful. The key is learning to distinguish between:</p><ol start="1"><li><p><strong>A Dip</strong>: The difficult middle phase where progress slows and most people quit, but there&#039;s a meaningful breakthrough waiting on the other side. You might be exhausted by the grind, but you persist because you can still see a believable path to success that justifies the effort.</p></li><li><p><strong>A Cul-de-sac</strong>: A dead-end situation where you&#039;re working hard but going nowhere. No matter how much time and energy you invest, you&#039;ll never make meaningful progress toward your goal – you&#039;re just stuck in comfortable mediocrity.</p></li></ol><p>Honestly assess the situation you&#039;re in. Step back from your day-to-day grind and ask yourself: </p><ul><li><p>Does the original dream still excite you?</p></li><li><p>Is there a realistic path forward that justifies your current effort?</p></li><li><p>Are you seeing any signs of progress? </p></li></ul><p>If yes, you may be in a Dip worth pushing through.</p><p>But if you realize that you&#039;re spinning your wheels with no realistic path to meaningful progress, it might be time to pivot.</p><p>This ties back to Aaron&#039;s insight about hope. When you can see a believable path forward – even through difficulty – you’ll have the drive to keep going. When that hope disappears, it could be a sign that it&#039;s time for a new direction. Listen to that signal before you burn yourself out completely.</p><p>Cheers,<br>Justin Jackson<br><br>Connect with me on:<br>🦋 <a href="https://bsky.app/profile/justinjackson.ca">Bluesky</a><br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a><br>🧵 <a href="https://www.threads.net/@mijustin">Threads</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Time machine]]></title>
            <link>https://justinjackson.ca/time-machine</link>
            <guid>https://justinjackson.ca/time-machine</guid>
            <pubDate>Wed, 03 Sep 2025 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[You invested money, and you got an outcome. But then you took a time machine back in time and decided not to invest. What happens then?]]></description>
            
            <media:content url="https://justinjackson.ca/assets/time-machine.png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>You spent $100k on ads in 2025. Sales jumped by 50%. &quot;What a great campaign!&quot; you said.<br><br>But then you took a time machine back and spent $0 on ads. Suprise! Sales still increased by 50%.<br><br>Not every input drives the outcome.</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <div style="display: flex; justify-content: center; margin-bottom:25px">
<blockquote class="bluesky-embed" data-bluesky-uri="at://did:plc:4kv2a77kbjmssl4vfrc5ddbx/app.bsky.feed.post/3lxxk3d4s6k2i" data-bluesky-cid="bafyreidcngvfi4p72ufgtjhikpi2nbyfh56wpa3pqnvrpuhtas6objvg34" data-bluesky-embed-color-mode="system"><p lang="en">Funny how that works!

I have sometimes heard it called &quot;resulting&quot; or &quot;outcome bias&quot;

The cognitive bias is that we attribute an outcome to the actions that preceded it, but don&#x27;t account for alternatives that may have provided similar outcomes</p>&mdash; Josh Nussbaum (<a href="https://bsky.app/profile/did:plc:4kv2a77kbjmssl4vfrc5ddbx?ref_src=embed">@joshnuss.com</a>) <a href="https://bsky.app/profile/did:plc:4kv2a77kbjmssl4vfrc5ddbx/post/3lxxk3d4s6k2i?ref_src=embed">September 3, 2025 at 2:08 PM</a></blockquote>
</div>
<script async src="https://embed.bsky.app/static/embed.js" charset="utf-8"></script>
</div>
<div class="block-text max-w-md mx-auto">
    <p>It&#039;s so easy for us business owners to make this mistake. </p><p>You take actions, see results, and assume causation. But those results might have happened anyway.</p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

<div class="block-text max-w-md mx-auto">
    <p></p>

</div>
]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Effort vs Outcomes]]></title>
            <link>https://justinjackson.ca/effort-outcome</link>
            <guid>https://justinjackson.ca/effort-outcome</guid>
            <pubDate>Wed, 03 Sep 2025 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[Same effort; better results.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/effort-vs-reward.png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>There&#039;s a strange relationship between the effort you put into something and the outcome you get out of it.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/effort-vs-reward.png" alt="/assets/content/effort-vs-reward.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>For example, you might work on a project for weeks and months, only to have it receive a tepid response. Then, a different piece of work (that you whipped together in an afternoon) takes off and gets a much bigger reaction.</p><p><strong>Anything worth doing will require a fair amount of effort and work.</strong> But it&#039;s also possible to invest a fair amount of time into something where the outcome is mediocre.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/same-input-different-results.png" alt="/assets/content/same-input-different-results.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <h2>Examples across industries</h2><h3>Podcasting</h3><p>The podcast industry is grappling with this right now. Following the 2014 release of the crime podcast Serial, the sector began investing substantial amounts of money in highly produced, well-researched narrative shows.</p><p>However, 10 years later, executives at media companies have realized they can invest in cheaper celebrity-driven interview shows and earn significantly more ad revenue. Smaller inputs, bigger outputs; which format do you think they’re going to choose?</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://www.wired.com/story/dial-up-eric-eddings-hartbeat-podcasts/" style="background:0;">
  
  <img src="/assets/content/chat-podcasts-are-inexpensive.png" alt="/assets/content/chat-podcasts-are-inexpensive.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <h3>College degrees and salaries</h3><p>Here’s a career and education example. A business degree and a counseling degree both take four years, but result in mean starting salaries of $65K vs. $38K. Same input (4 years), asymmetric output.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://www.naceweb.org/job-market/compensation/salary-differentials-show-value-of-earning-a-masters-degree-for-class-of-2022-graduates" style="background:0;">
  
  <img src="/assets/content/salary-differentials-show-value-of-earning-a-masters-degree-for-class-of-2022-graduates-figure-1.jpg" alt="/assets/content/salary-differentials-show-value-of-earning-a-masters-degree-for-class-of-2022-graduates-figure-1.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <h2>Advice for entrepreneurs</h2><p>In business, good outcomes are almost always asymmetric with their inputs. If you invest $1 and only make $1 back, you haven&#039;t made a profit. The goal is to invest one dollar and get back five, ten, or fifty.</p><p>Anyone who&#039;s ever tried to start a company knows this: regardless of the outcome, it&#039;s going to take a ton of time and money to get it off the ground. In fact, the same time and money invested in one idea could produce wildly better results if it were invested in a different idea.</p><p>Our job, as builders, is to be aware that this effort-outcome disparity exists and act when our inputs aren’t producing the right results.</p><p>Here’s how I’m thinking about it.</p><h3>When considering new ideas:</h3><p>First, I treat new ideas as bets. And I ask myself: <em> </em></p><ul><li><p><em>How much is this bet going to cost me?</em></p></li><li><p>What is a foreseeable outcome for this bet?</p></li><li><p>How likely is this to happen?</p></li></ul><h3>When evaluating existing businesses:</h3><p>Second, for my existing business, I try to reflect and evaluate regularly: </p><ul><li><p><em>Where are we currently investing time and resources?</em></p></li><li><p>Are those inputs producing proportional outputs?</p></li><li><p>If not, what other bet(s) should we be considering?</p></li></ul><p>As someone who primarily builds software, I’m increasingly taking time to reflect on what we’ve invested in and what outcomes those investments have achieved. Sometimes, you work really hard on a feature that doesn&#039;t get used or loses money. Other times, you release stuff that helps you hold your ground against competitors, but doesn&#039;t meaningfully change your trajectory. And, a select few of your efforts will produce asymmetrically better outcomes. </p><p>I think the key here is to consider your bets carefully. Some will convert your inputs into high-multiple outcomes. However, be wary of continually investing resources into paths that are unlikely to succeed. Your goal is to work on projects that compound your effort.</p><p>Cheers,<br>Justin Jackson<br><br>Connect with me on:<br>🦋 <a href="https://bsky.app/profile/justinjackson.ca">Bluesky</a><br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a><br>🧵 <a href="https://www.threads.net/@mijustin">Threads</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[A good find]]></title>
            <link>https://justinjackson.ca/good-find</link>
            <guid>https://justinjackson.ca/good-find</guid>
            <pubDate>Wed, 13 Aug 2025 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[So much of what made culture great between the '60s and '90s is that you had to work for it. There was friction. Maybe we need more of that on the internet.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/good-find-post.jpg" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>So much of what made culture great between the &#039;60s and &#039;90s was that you had to <strong>work for it</strong>. There was friction.</p><p>You&#039;d go to a record store, or a book store, or a thrift store, and browse for hours, just hoping for one good find.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/a-good-find-at-the-thrift-store.jpg" alt="/assets/content/a-good-find-at-the-thrift-store.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Maybe we need more of that on the internet.</p><p>Do we need to be constantly inundated with a firehose of content tuned to our lowest, base desires?</p><p>These days, you don&#039;t go out and find cool stuff. You get served whatever pablum the platforms think you&#039;ll consume.</p><h3>We need more mess, more friction.</h3><blockquote><p>&quot;Social media’s current logic is designed to reduce friction, to give users infinite content for instant gratification, or at the very least, the anticipation of such. <strong>The antidote to this compulsive, numbing overload will be found in <em>deliberative</em> friction</strong>, design patterns that introduce pause and reflection into digital interaction, or platforms and algorithms that create space for intention.&quot; – <a href="https://www.noemamag.com/the-last-days-of-social-media/">James O&#039;Sullivan</a></p></blockquote><p>Open protocols like RSS, email, and the web give us the foundation for being more mindful:</p><ul><li><p>Having a friend recommend a good podcast to listen to.</p></li><li><p>Getting forwarded a newsletter you would have never found on your own.</p></li><li><p>Following a series of links and going down a magnificent rabbit hole of curiosity for hours.</p></li></ul><blockquote><p>&quot;RSS could be an antidote to the overwhelm that we experience elsewhere on the internet.&quot;<br>– Mike Rugnetta, <a href="https://www.neverpo.st/assigned-male-at-login/">Never Post</a></p></blockquote><p>Algorithms are deciding what you’ll like before you’ve even had a chance to explore.</p><p>Let’s start giving ourselves the freedom to be curious, rather than being spoon-fed.</p><p>Most of the fun of discovering something cool is the journey you took to get there.</p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Reasonably unreasonable]]></title>
            <link>https://justinjackson.ca/unreasonable</link>
            <guid>https://justinjackson.ca/unreasonable</guid>
            <pubDate>Wed, 18 Jun 2025 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[Only 20% of startups survive 5 years. Here's what it takes to be reasonably unreasonable and beat the entrepreneurial odds.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/reasonably-unreasonable-(1).png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <blockquote><p>&quot;Never tell me the odds.&quot; – Han Solo, Star Wars.</p></blockquote><h2>What are the odds?</h2><p>Yesterday, I watched my favorite hockey team (the Edmonton Oilers) lose to the Florida Panthers in the Stanley Cup finals.</p><p>Every season, all 32 NHL teams have the same goal: &quot;Win the Cup.&quot; But only one team can win.</p><p>Even a strong team (like the Oilers) has only a <a href="https://web.archive.org/web/20241001084745/http://moneypuck.com/predictions.htm">​12% chance</a> of winning.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a href="https://web.archive.org/web/20241001084745/http://moneypuck.com/predictions.htm" style="background:0;">
  
  <img src="/assets/content/nhl-playoff-odds---moneypuck-2024-playoff-&-cup-odds.png" alt="/assets/content/nhl-playoff-odds---moneypuck-2024-playoff-&-cup-odds.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Put another way: they had an 88% chance <strong>of not winning</strong>.</p><h2>What are your odds?</h2><p>A founder building a new startup also faces daunting odds.</p><p>As Jason Cohen <a href="https://bsky.app/profile/asmartbear.com/post/3lrtihvv3th2u">​says​</a>:</p><blockquote><p>&quot;[Startup success] is rare and risky. [Many] people who are equally smart, equally deserving, equally privileged, and work equally hard often don’t make it.&quot;</p></blockquote><p>US data shows that only 20–30% of all new businesses are<a target="_blank" href="https://advocacy.sba.gov/wp-content/uploads/2023/03/Frequently-Asked-Questions-About-Small-Business-March-2023-508c.pdf"> <em>operating</em></a> <em>and <a href="https://www.fedsmallbusiness.org/reports/survey">profitable</a></em><a href="https://www.fedsmallbusiness.org/reports/survey">​</a><em> </em>after 5 years.</p><h2>Why play the game?</h2><p>Given NHL playoff odds, what drives the Oilers captain, Connor McDavid, to strive for the Cup each year?</p><p>Likewise, given your odds of success as an entrepreneur, what should drive you to start companies?</p><p>Perhaps it&#039;s the same sentiment that drove NBA superstar Michael Jordan:</p><blockquote><p>&quot;I can accept failure; everyone fails at something. But I can&#039;t accept not trying.&quot;</p></blockquote><h2>What increases your odds of success?</h2><p>I like <a href="https://bigthink.com/series/the-big-think-interview/kevin-smith-unreasonable/">​Kevin Smith&#039;s answer​</a>:</p><p>&quot;[Success] requires a reasonable amount of unreasonability. Not like, &quot;Hey, man. I&#039;m going to jump off a building and fly without the aid of a jetpack.&quot; That&#039;s unreasonable unreasonability. Reasonable amount is just like, &quot;You know, why not me?&quot;</p><p>This is the first attribute: having just enough &quot;unreasonable&quot; belief in yourself.</p><p>The second attribute you&#039;ll need is similar. I&#039;m going to call it:</p><p><strong>&quot;A reasonable amount of relentlessness.&quot;</strong></p><p>Jason Cohen <a href="https://bsky.app/profile/asmartbear.com/post/3lrtihvv3th2u">​says​</a>, &quot;Before they were successful, every founder started out unsuccessful.&quot;</p><p>What distinguishes founders who were (finally) able to build a profitable startup? Relentlessness and drive, tempered by realism.</p><p>This means you&#039;re the kind of person who doggedly pursues a higher goal (&quot;I&#039;m going to build a profitable company to give me and my family a better life&quot;), and you know it might take multiple bets to get there.</p><p>Also, these have to be reasonable bets; you can&#039;t afford to make bad bets (because every startup costs you time, energy, and money).</p><p>Finally, successful founders cultivate the skills, insights, connections, and resources they&#039;ll need to give them a shot at success.</p><p>So, if you &quot;can&#039;t accept not trying,&quot; focus on being:</p><ul><li><p>Reasonably unreasonable.</p></li><li><p>Relentless, with reasonable bets</p></li><li><p>Someone who collects skills and resources</p></li></ul><p>Cheers,<br>Justin Jackson<br><br>Connect with me on:<br>🦋 <a href="https://bsky.app/profile/justinjackson.ca">Bluesky</a><br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a><br>🧵 <a href="https://www.threads.net/@mijustin">Threads</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[(Draft) The Podcast Generation Cliff]]></title>
            <link>https://justinjackson.ca/podcast-generation-cliff</link>
            <guid>https://justinjackson.ca/podcast-generation-cliff</guid>
            <pubDate>Wed, 11 Jun 2025 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[Why does Apple Podcasts dominate download charts but rank last in listener preference? The answer reveals a demographic crisis threatening the podcast industry's future—and most people in podcasting don't even see it coming.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/podcast-generation-cliff.png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <blockquote><p><em>This is a draft post I&#039;m working on. <a href="https://docs.google.com/document/d/1pVPy9MYATVWYWrXjiQNTTV-BW5v3wWxeEDrvgVOt0RA/edit?usp=sharing">Read the full draft here</a>.</em></p></blockquote><p>There’s a demographic shift coming to the podcast industry that few people are talking about, and even fewer are planning for. It could upend the foundations of what exists right now.</p><h2>The mystery</h2><p>There is a discrepancy in podcast consumption data that’s puzzled me:</p><p><strong>Why is Apple Podcasts consistently at the top of consumption graphs, but at the bottom of consumer preference graphs?</strong></p><p>For example...</p><p><strong>👉 <a href="https://docs.google.com/document/d/1pVPy9MYATVWYWrXjiQNTTV-BW5v3wWxeEDrvgVOt0RA/edit?tab=t.0">Read the rest of this draft on Google Docs</a> </strong></p><p><em>I&#039;ll be publishing the finished version here shortly. If you share this post publicly, please use this URL so people can find it/bookmark it for the future:</em></p><p><a href="https://justinjackson.ca/podcast-generation-cliff">https://justinjackson.ca/podcast-generation-cliff</a></p>

</div>
]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[No, AI Won't Turn Everyone Into App Developers]]></title>
            <link>https://justinjackson.ca/ai-app-devs</link>
            <guid>https://justinjackson.ca/ai-app-devs</guid>
            <pubDate>Mon, 09 Jun 2025 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[AI coding tools like Cursor and Claude Code have completely consumed the tech industry's attention. Many believe that we're hurdling towards a future where normal people build their own software, obviating the entire SaaS market.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/monthly-cost-of-my-ai-apps.png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>AI coding tools like Cursor and Claude Code have completely consumed the tech industry&#039;s attention. <a href="https://www.semafor.com/article/06/05/2025/the-ease-of-vibe-coding-could-upend-the-economics-of-scarcity-and-scale">Many believe</a> that we&#039;re hurtling towards a future where normal people build their own software, obviating the entire SaaS market.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a href="https://x.com/bindureddy/status/1865973890624950574" style="background:0;">
  
  <img src="/assets/content/ai-writing-code-no-devs.png" alt="/assets/content/ai-writing-code-no-devs.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>To me, this feels remarkably similar to the predictions made during the &quot;no code&quot; movement. Just look at <a href="https://news.ycombinator.com/item?id=29188355">this post on Hacker News</a> from 2021: &quot;These platforms enable non-developers to solve a bunch of problems that would otherwise require a software engineer. Is this a paradigm shift?&quot; All the observations, fears, and hype feel similar.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://news.ycombinator.com/item?id=29188355" style="background:0;">
  
  <img src="/assets/content/hn-post-about-no-code-2021.png" alt="/assets/content/hn-post-about-no-code-2021.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>AI and LLMs certainly have the power to displace jobs and disrupt the use cases for some software. Still, I don&#039;t think that &quot;consumers/businesses coding their own apps&quot; will substantially replace the software people are already using.</p><h2>Why AI won&#039;t turn everyone into app developers</h2><h3>People want to use high-quality software. </h3><p>When it matters, individuals and businesses will pay for well-made software that helps them get a job done. For bookkeeping, I want to use Xero or Wave; I don&#039;t want to code my own accounting software! Boilerplate AI-generated code is not going to replace the thousands of thoughtful hours that went into crafting well-made apps.</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <div style="display: flex; justify-content: center;">
<blockquote class="bluesky-embed" data-bluesky-uri="at://did:plc:nr55rexy4s2we22j56d4n46b/app.bsky.feed.post/3lpwogyz3us2h" data-bluesky-cid="bafyreiddd7robry6pdj5ntesr6i3ymt66p4nmktwdncsrsii37idvm5zlq" data-bluesky-embed-color-mode="system"><p lang="en">If everyone is building *so much good software* with AI, where is all the good software?</p>&mdash; Justin Jackson (<a href="https://bsky.app/profile/did:plc:nr55rexy4s2we22j56d4n46b?ref_src=embed">@justinjackson.ca</a>) <a href="https://bsky.app/profile/did:plc:nr55rexy4s2we22j56d4n46b/post/3lpwogyz3us2h?ref_src=embed">May 24, 2025 at 10:32 AM</a></blockquote><script async src="https://embed.bsky.app/static/embed.js" charset="utf-8"></script>
</div>
</div>
<div class="block-text max-w-md mx-auto">
    <h3>SaaS socializes the cost of hosting.</h3><p>One significant benefit of SaaS is the economies of scale it provides. Provisioning, securing, maintaining, and paying for servers and cloud infrastructure is expensive, especially when doing it yourself.</p><p>Developers have known this for years, as many of us have accumulated multiple Heroku dynos, Digital Ocean droplets, and AWS buckets that continue to bill us monthly, to keep past projects in maintenance mode.</p><p>Is it worth it for a business to build and host its own CRM? Zoho CRM starts at $14/user/month. Even if the development cost is nearly free, the business will still need to pay for hosting. When I asked Claude and ChatGPT to give me hosting cost estimates, they were $200-800/month and $110 – $770/month, respectively.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/digital-ocean-crm-hosting-costs---claude-2025-06-09-10-26-54.png" alt="/assets/content/digital-ocean-crm-hosting-costs---claude-2025-06-09-10-26-54.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>And just wait until one of your unmonitored AWS buckets gets inundated by bot traffic or a DDOS attack! The beneficiaries of the AI coding boom will be metered storage companies.</p><h3>SaaS socializes the cost of security and maintenance.</h3><p>The irony about this current &quot;you can code your own apps with AI&quot; is that we&#039;ve had several waves of this already. </p><p>Before the no-code wave, there was an &quot;open source clone&quot; wave. Browsing GitHub, you could search for open-source versions of popular software categories (&quot;customer support&quot;, &quot;CRM,&quot; etc), and easily clone and modify them.</p><p>You could even deploy them automatically to Heroku or Digital Ocean with the click of a button.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/chatwoot--open-source-live-chat,-email-support,-omni-channel-desk.-an-alternative-to-intercom,-zendesk,-sales...-2025-06-09-10-36-04.png" alt="/assets/content/chatwoot--open-source-live-chat,-email-support,-omni-channel-desk.-an-alternative-to-intercom,-zendesk,-sales...-2025-06-09-10-36-04.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>I&#039;ve done this several times myself. I&#039;ve found well-designed and built open-source software, modified it slightly, and self-hosted it.</p><p>Invariably, these projects eventually start accumulating security notices like this:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/github-security-alert-digest.png" alt="/assets/content/github-security-alert-digest.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Software requires a lot of maintenance. Dependencies need to be regularly updated, both for eliminating bugs and for security reasons. If you don&#039;t stay on top of updates, you can find yourself several versions behind on key dependencies, with no upgrade path available. Or, even worse, hackers can find these vulnerabilities and use your hosting, bandwidth, etc, for nefarious purposes.</p><h3>SaaS socializes the cost of customer support.</h3><p>Years ago, Adii Pienar said:</p><blockquote><p>&quot;When people pay for SaaS, they&#039;re paying for the service more than the software.&quot;</p></blockquote><p>When a business pays for a SaaS subscription, it gets to outsource a key cost center: IT support. </p><p>At <a href="https://transistor.fm/?via=justin">Transistor</a>, we provide podcast hosting for Fortune 500 companies, federal agencies, large non-profits (as well as SMBs and individual creators). One feature they all love? Our human-powered live chat and email support. Whether you&#039;re paying $19 or $2,999 per month, you can reach out to support and speak to a person. When folks run into problems (often with platforms we don&#039;t even control, like Apple, Spotify, YouTube), our team patiently helps them make progress.</p><p>Build your own app with AI, and you&#039;re in charge of customer support.</p><p>(Sure, you can get &quot;AI to be your support agent,&quot; but you, as the &#039;developer,&#039; are still ultimately responsible).</p><h3>Final thoughts</h3><p>AI coding assistants and agents <a href="https://www.youtube.com/watch?v=X3yfVo2oxlE">will change how professional developers work</a>.</p><p>But the idea that they’ll turn normies into app developers ignores some truths about software and humans. </p><p>How many people and businesses truly want to build their own software? A small percentage of enthusiasts will do this, but it won’t be mainstream.</p><p>Also, all the AI hype focuses a lot on the “building” of software, but not on the security, maintenance, and support that software requires.</p><p>Even when AI can automate these tasks, I sense that most people would prefer to simply pay for already-built software.</p>

</div>
]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Changed my mind: AI is actually good for coding]]></title>
            <link>https://justinjackson.ca/ai-coding</link>
            <guid>https://justinjackson.ca/ai-coding</guid>
            <pubDate>Fri, 06 Jun 2025 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[I've been skeptical of AI development tools. Not because I'm anti-progress, but because the demos often feel over-hyped. Too many 'AI will replace developers' takes, too many one-shot coding videos that felt more like magic tricks than practical tools.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/3.jpg" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>I&#039;ll be honest: I&#039;ve been skeptical of AI development tools. Not because I&#039;m anti-progress, but because the demos often feel over-hyped. Too many &#039;AI will replace developers&#039; takes, too many one-shot coding videos that felt more like magic tricks than practical tools.</p><p>But this conversation with Adam Wathan (creator of <a rel="noopener noreferrer" target="_blank" href="https://tailwindcss.com/">Tailwind CSS</a>) and Brian Casel (<a rel="noopener noreferrer" target="_blank" href="https://instrumental.dev/">Instrumental.dev</a>) changed my mind:</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class='embed-container'><iframe src='https://www.youtube.com/embed/X3yfVo2oxlE?rel=0' frameborder='0' allowfullscreen></iframe></div>
</div>
<div class="block-text max-w-md mx-auto">
    <p></p><p>Here are a few thoughts that stood out to me:</p><h2>90% of programming is grunt work</h2><p>&quot;There&#039;s so much of programming that&#039;s not actually programming,&quot; Adam commented, &quot;90% of it is just grunt work. AI is good at that part.&quot;</p><p>This isn&#039;t about replacing creativity but eliminating the tedious stuff that never added value anyway.</p><h2>Experience matters more than ever</h2><p>Adam and Brian agree that AI is terrible when you don&#039;t know what you&#039;re doing, but incredible when you&#039;re an expert.</p><p>&quot;I&#039;ve tried to use it with things I don&#039;t know how to do, and it&#039;s a fucking disaster,&quot; Adam said, &quot;you instantly fall into that trap of AI being confidently wrong, but you can&#039;t tell because you don&#039;t know how to do it yourself.&quot;</p><p>This flips the narrative. Instead of &quot;AI will replace experienced developers,&quot; it&#039;s more like &quot;AI makes experienced developers superhuman.&quot;</p><p>This brings up a good question, posed by Dave Giunta in the YouTube chat:</p><blockquote><p>​​How do you train junior people to learn these skills if they don&#039;t get practice doing the easy &quot;gruntwork&quot; things?</p></blockquote><h2>The business implications are real (and scary)</h2><p>Adam got vulnerable about how AI is affecting the <a href="https://tailwindcss.com/plus">Tailwind Plus</a> business. People want LLM.txt versions of their docs, but their business depends on traffic to the website where people notice their products.</p><p>&quot;If everyone is just looking at a markdown file with no ability for us to advertise, we have no distribution anymore.&quot;</p><h2>Thoughts/questions</h2><p>First, we&#039;re all figuring this out in real time. Our industry&#039;s tectonic plates are shifting, and nobody has the playbook yet.</p><p>Second, maybe the answer isn&#039;t to fight the tide, but to figure out how to use these tools to be more ambitious about what we build. Brian mentioned he&#039;s building more complex features than he would have attempted before.</p><p>Third, I&#039;m wondering what the repercussions of all this will be on Junior devs.</p><p>Cheers,<br>Justin Jackson</p><p>PS: This video is just one of the segments from <a rel="noopener noreferrer" target="_blank" href="https://panelpodcast.com/11">today&#039;s episode</a> of The Panel podcast. Listen to the <a rel="noopener noreferrer" target="_blank" href="https://panelpodcast.com/11">whole thing</a>!<br><br>Connect with me on:<br>🦋 <a href="https://bsky.app/profile/justinjackson.ca">Bluesky</a><br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a><br>🧵 <a href="https://www.threads.net/@mijustin">Threads</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Thoughts going into the London Podcast Show]]></title>
            <link>https://justinjackson.ca/london-podcast-show</link>
            <guid>https://justinjackson.ca/london-podcast-show</guid>
            <pubDate>Tue, 20 May 2025 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[People are looking for an escape. They're tired of wasting hours mindlessly scrolling TikTok.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/podcast-billboard-get-away-from-your-phone-(1).png" medium="image"/>
            
            <content:encoded><![CDATA[<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/podcast-billboard-get-away-from-your-phone-(1).png" alt="/assets/content/podcast-billboard-get-away-from-your-phone-(1).png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>I keep thinking about <a href="https://www.linkedin.com/in/michael-c-osborne/">Michael Osborne</a>&#039;s quote: </p><blockquote><p>&quot;Podcasting is where I go to get away from the internet.” </p></blockquote><p>People are looking for an escape. They&#039;re tired of wasting hours in bed mindlessly scrolling TikTok. They get annoyed when they fall into a YouTube rabbit hole and waste a whole day inside. They&#039;re fed up with the Instagram algorithm preying on their lizard brain.</p><p>Podcasting has always offered substance and presence. You get in your car, turn on an episode with your favorite host, and spend 45 minutes with them as you drive to work.</p><p>Many of my readers will know I&#039;ve been struggling to figure out how to respond to <a href="/youtube-kill-podcasting">YouTube&#039;s new position</a> in (what has been) an open podcast ecosystem.</p><p>I was drawn to podcasting because it is mindful media, not controlled by a centralized platform, where interesting, independent voices could thrive.</p><p>I&#039;m conflicted about how we in the <a href="https://podstandards.org/">open podcast ecosystem</a> should respond to YouTube&#039;s expanding footprint into podcasting. Do we double down on the audio-first experience? Do we embrace video but with mindful constraints?</p><p>Strategically, it isn&#039;t easy to know which direction to go.</p><p>A big part of me loves the marketing positioning of <a href="https://www.linkedin.com/in/jamescridland/">James Cridland</a>&#039;s slogan: </p><blockquote><p>&quot;Podcasts are something for your ears while your eyes are busy.&quot;</p></blockquote><p>Audio-driven, long-form podcasting could be the &quot;escape from the internet&quot; that people turn to. &quot;Stop staring at your screen; put your phone in your pocket. Get outside. Move your body. Listen to something that feeds your mind in a healthy way.&quot;</p><p>On the other hand, I don&#039;t want to ignore the potential for video podcasting. I first got into podcasts in the early 2000s by watching <a href="https://transistor.fm/customers/diggnation/">Diggnation</a> on the bus on my iPod Classic!<br><br>I also appreciate that creators will have a lot of influence over how podcasting evolves. Could the open (RSS-based) ecosystem solve some unmet needs there?</p><p>I&#039;m pondering these questions before this week&#039;s London Podcast Show. These are also the kinds of issues we want to tackle at the <a target="_self" href="https://www.linkedin.com/company/podcast-standards-project/">Podcast Standards Project</a>.</p><p>If you have thoughts on any of this, let me know.</p><p>Connect with me on:<br>🦋 <a href="https://bsky.app/profile/justinjackson.ca">Bluesky</a><br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a><br>🧵 <a href="https://www.threads.net/@mijustin">Threads</a></p><p><em>I originally posted this <a href="https://www.linkedin.com/posts/justinijackson_podshowldn-podcasting-activity-7330528235090259969-goa1?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAFtpFAB4PjcrKGf18rTOEBC45G0t7heRGU">on LinkedIn</a>.</em></p>

</div>
]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Will YouTube kill the podcast industry?]]></title>
            <link>https://justinjackson.ca/youtube-kill-podcasting</link>
            <guid>https://justinjackson.ca/youtube-kill-podcasting</guid>
            <pubDate>Thu, 08 May 2025 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[The podcast industry has long relied on the open nature of RSS to sustain a variety of small businesses. But that could all disappear if YouTube wins.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/will-youtube-kill-the-podcast-industry.png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p><em>tl;dr – The podcast industry has long relied on the open nature of RSS to sustain a wide variety of small businesses. But that could all disappear if YouTube becomes the de facto place to publish podcasts.</em></p><p>Podcast Movement Evolutions, a conference focused on &#039;the business of podcasting,&#039; hosted 2,000 podcast professionals in Chicago on March 31-April 3, 2025.</p><p>The dominant conversation? YouTube. With <a href="https://www.youtube.com/watch?v=MGDvlsFaoVs"><strong>41% of people</strong></a> now using YouTube as their primary podcast platform, many industry leaders celebrated it as the future. They&#039;re welcoming YouTube with open arms. I left feeling a growing sense of dread.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/podcast-movement-evolutions-2025-chicago-edison-research-youtube.jpg" alt="/assets/content/podcast-movement-evolutions-2025-chicago-edison-research-youtube.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>While some debate whether “a video podcast is a podcast,” I’m contemplating something more fundamental: Are we about to surrender podcasting&#039;s <strong>independence </strong>to YouTube?</p><p>The beauty of open protocols (like RSS) is that they allow small, independent companies to thrive. No one company owns podcasting – while large companies can build services on top of RSS (like Apple Podcasts, Spotify, or Amazon Music),<strong> they can&#039;t monopolize the entire category.</strong></p><p>Because no single company controls the entire market, entrepreneurs have built independent businesses that serve specific needs: Agencies, networks, podcast hosting platforms, analytics tools, dynamic ad insertion services, and listening apps.</p><p>These independent companies buy tickets and booth space at Podcast Movement. Looking around the exhibition hall, James Cridland (editor of <a href="https://podnews.net/">Podnews</a>) told me: &quot;If YouTube wins, most of these businesses won&#039;t exist.&quot;</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/exhibitors-at-podcast-movement.jpg" alt="/assets/content/exhibitors-at-podcast-movement.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>I worry that we’re rushing to hand control of podcasting to a $1.8 trillion tech giant. If we’re not careful, we could lose everything we’ve built.</p><h2>What we stand to lose: the open ecosystem.</h2><p>In 2005, Apple made a radical decision: they chose to build podcasting on RSS, an open protocol.</p><p>They could have created a closed, Apple-controlled walled garden. Instead, Steve Jobs chose to integrate with RSS feeds that Apple wouldn&#039;t own or control.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/steve-jobs-announces-switch-to-intel-podcasting---wwdc-2005.jpg" alt="/assets/content/steve-jobs-announces-switch-to-intel-podcasting---wwdc-2005.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>This decision prioritized openness over monetization and meant creators could host their audio files anywhere, just like hosting a website.</p><p>Apple also innovated <em>on top</em> of RSS, adding new tags for cover art, podcast categories, and descriptions. <a href="https://marco.org/2016/05/07/apple-role-in-podcasting">Marco Arment described</a> this ecosystem as “decentralized, free, fair, open, and uncontrollable by any single entity.”</p><p>Whether by design or happy accident, that choice feels rebellious now.</p><p>Creators in this ecosystem get many benefits from RSS:</p><ul><li><p>You control your content completely - Record and encode your media however you want</p></li><li><p>You choose where it lives - Pick any hosting provider or host it yourself</p></li><li><p>You keep your voice - Your content stays accessible even if you&#039;re kicked off a platform</p></li><li><p>You monetize on your terms - Use Patreon, sell ads, ask for donations, or try anything else</p></li><li><p>You decide where your content goes - Distribute everywhere or exclude platforms you don&#039;t like</p></li></ul><p>RSS is one of the last truly open platforms on the internet.</p><p>So, what happens if YouTube owns it all?</p><h2>We’ve seen this script before</h2><p>For creators, at least for now, YouTube&#039;s appeal is the promise of reaching more people, building a bigger audience, and earning some revenue.</p><p>We&#039;ve been here before. Remember Facebook Pages?</p><p>Starting in 2007, Facebook told small businesses: “Ditch your website. Create a Facebook Page instead and reach more customers.” And they did: <a href="https://www.wired.com/2014/06/facebook-fit/">by 2014</a>, over 30 million brands had a Facebook page. However, once Facebook had enough buy-in, organic reach started to drop. Now, if they wanted to reach their own audience, they would have to pay Facebook for the privilege.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://www.cnn.com/2014/03/31/tech/social-media/facebook-eat24/index.html" style="background:0;">
  
  <img src="/assets/content/facebook-pages-pulled-the-rug-on-business-cnn.png" alt="/assets/content/facebook-pages-pulled-the-rug-on-business-cnn.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>What started as an incredible free marketing channel for businesses became just another pay-to-play ad platform.</p><p>This whole process is a phenomenon Cory Doctorow calls &quot;<a href="https://pluralistic.net/2023/01/21/potemkin-ai/#hey-guys">enshitification</a>.&quot;</p><ol start="1"><li><p>First, be good to creators: promise increased distribution and reach</p></li><li><p>Use creators&#039; content to attract and retain users</p></li><li><p>Once locked in, feed user behavior into algorithms to increase engagement</p></li><li><p>Finally, squeeze both creators and users for maximum profit through ads and subscriptions</p></li></ol><p>As Doctorow has covered, this is not unique to Facebook: Platforms start benevolent, then slowly degrade the experience to extract value.</p><p>This also applies to YouTube, where creators get free hosting, algorithmic reach, and monetization tools. But as we&#039;ve seen with other platforms, what starts as a good deal gets worse once creators are locked in and YouTube needs to maximize profits.</p><h2>How should the podcast industry respond?</h2><p>If we want to maintain podcasting&#039;s independence from YouTube, we need to focus on what makes podcasting special for listeners.</p><p>In his <a href="https://www.ground-common.com/p/a-slow-media-built-for-depth">recent post</a>, Nathan Tower said:</p><blockquote><p>Podcasting, at its best, is an antidote to the attention economy. It isn’t built for endless scrolling or fleeting dopamine hits. It’s slow media. Deep media. A space that values intelligence over impulse, conversation over clicks. If we want to save this country, we need connection. We need to listen—to real ideas, from real people, in real conversations.</p></blockquote><p>This is a substantial benefit we should promote more widely: podcasting offers consumers an alternative to addictive media. </p><p>Audio podcasting also has a unique advantage over video, <a href="https://james.cridland.net/blog/2025/unique-selling-proposition/">as articulated by James Cridland</a>, editor at Podnews:</p><blockquote><p><em>&quot;Podcasts are something for your ears while your eyes are busy.&quot;</em></p></blockquote><p>You can&#039;t watch a YouTube video while driving your car (or at least, you shouldn&#039;t). The fact that you can consume audio  while doing other things is part of what makes podcasting special.</p><p>On the creator side, there are opportunities as well. If you start on YouTube, you&#039;re competing with <a href="https://www.tubics.com/blog/number-of-youtube-channels">15 million active channels</a>. However, if you start an audio show, you compete with only <a href="https://podcastindustryinsights.com/apple-podcasts-statistics/">460,000 podcasts</a> in active production. There are still plenty of opportunities to offer podcast listeners something new or more of the content they crave.</p><p>I believe that keeping podcasting &quot;open&quot; will benefit both listeners and creators.</p><p><strong>But we are competing for people&#039;s attention. </strong>The podcast industry needs to concentrate on activities that make &quot;open RSS&quot; a more compelling option:</p><ul><li><p>Build better podcast apps with smarter discovery</p></li><li><p>Help creators create and promote better shows</p></li><li><p>Support podcasting’s unique advantages: audio while multitasking, deeper engagement, no algorithmic feed</p></li><li><p>Encourage creator-listener interaction</p></li><li><p>Enable platform-agnostic creator monetization</p></li></ul><p>Projects like Podcasting 2.0 and the <a href="https://podstandards.org/">Podcast Standards Project</a> are already moving things forward with transcripts, chapters, direct funding, and open monetization. However, we need to double down on efforts that create a better experience for listeners and creators.</p><p>The benefit of investing in RSS is that any innovations will be shared across the entire ecosystem. When YouTube innovates, the benefits stay inside YouTube. When the podcast community innovates on RSS, everyone benefits: creators, listeners, and businesses alike.</p><h2>The path ahead</h2><p>The next few years will determine whether podcasting remains an open, independent medium or just becomes another type of content on YouTube. The stakes are clear:</p><ul><li><p>The viability of thousands of small businesses that depend on the open ecosystem</p></li><li><p>Creators&#039; ability to control their content and monetization</p></li><li><p>A healthier alternative to engagement-driven platforms</p></li></ul><p>As someone who&#039;s built <a href="https://transistor.fm/">a business</a> in this space, I&#039;ve seen firsthand how podcasting&#039;s open ecosystem enables both creativity and commerce to flourish. </p><p>Preserving that independence isn&#039;t just about protecting business interests; it&#039;s about maintaining one of the last truly open spaces for human connection in digital media.</p><p>Regards,<br>Justin Jackson</p><p><em>Special thanks to <a href="https://www.linkedin.com/in/michael-c-osborne/">Michael Osborne</a>, <a href="https://lightningpod.fm/">Eric Johnson</a>, and <a href="https://www.co.school/">Kevan Gilbert</a> for helping me edit this piece in a big way!</em><br><br>Connect with me on:</p><p>🦋 <a href="https://bsky.app/profile/justinjackson.ca">Bluesky</a><br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a><br>🧵 <a href="https://www.threads.net/@mijustin">Threads</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Finding your "zone of genius"]]></title>
            <link>https://justinjackson.ca/zone-of-genius</link>
            <guid>https://justinjackson.ca/zone-of-genius</guid>
            <pubDate>Wed, 07 May 2025 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[I've been thinking about my personal zone of genius. Here's what I've learned about building a life that aligns with your natural energy patterns.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/justin-in-his-zone-(1).jpg" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>I&#039;ve been thinking a lot about the modes of life in which I feel like I have tons of creative energy. When I&#039;m operating in this zone, my efforts feel natural and like I&#039;m moving with the flow.</p><p>Other tasks, however, feel incredibly difficult. Every part of them is a grind. Operating in these modes quickly drains my battery.</p><p>This contrast led me to explore what my friend Jeremy Enns calls <strong>&quot;operating in your zone of genius&quot;</strong> – that sweet spot where your natural talents, passions, and energy align. We discuss this concept here:</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin-bottom:25px } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class='embed-container'><iframe src='https://www.youtube.com/embed//7cS5wy-wuiQ?rel=0' frameborder='0' allowfullscreen></iframe></div>
</div>
<div class="block-text max-w-md mx-auto">
    <p>I especially like this quote by Thelonious Monk (the famous jazz pianist and composer):</p><p>&quot;A genius is the one most like himself.&quot;</p><p>Whenever I&#039;ve made significant progress in my business and life, it&#039;s been when I&#039;ve leaned into what makes me uniquely... me.</p><h2>Finding your Zone of Genius</h2><p>For me, I&#039;ve been able to identify my zone of genius in two ways:</p><p><strong>First, I pay attention to the activities where I feel &quot;most like myself.&quot;</strong></p><p>For me, that&#039;s when I&#039;m connecting with interesting people, following my curiosity, and building things. Throughout my life, I&#039;ve been energized by pursuing ideas that fascinate me. Here are a few examples from earlier in my life:</p><ul><li><p>Putting on a rave in high school</p></li><li><p>Organizing trips to music festivals and snowboard resorts</p></li><li><p>Starting a snowboard shop in my early 20s</p></li><li><p>Putting on a film festival in my hometown</p></li></ul><p>Later in life, that meant going to every conference and event on tech and startups I could find. These pursuits culminated in me starting <a href="https://transistor.fm/?via=justin">​Transistor.fm​</a> with my friend Jon Buda.</p><p>I&#039;ve noticed that I have a natural enthusiasm that can bring energy into a room, and I&#039;ve learned to embrace that rather than hide behind shyness as I did in my younger years.</p><p>Finding your zone of genius isn&#039;t about forcing yourself into some idealized version of success—it&#039;s about recognizing your unique combination of traits and the activities in which those traits flow naturally.</p><p><strong>The second way to identify your zone of genius is through feedback from others.</strong></p><p>My friend Jason Pearl snapped this photo of me at a wedding and said, &quot;This is the most Justin picture ever.&quot;</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/justin-in-his-zone-(1).jpg" alt="/assets/content/justin-in-his-zone-(1).jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>He&#039;s right. I&#039;m in my zone here! I love socializing with people at weddings, meeting new people, and getting curious about their lives. (In this moment, I was asking these two guys to give me advice on how to thrive in my 40s.)&quot;</p><p>These external observations can be incredibly revealing. Friends and colleagues will notice patterns in your behavior and strengths that you might take for granted.</p><p>What do people consistently praise you for? What do they come to you for help with, even when you haven&#039;t offered? These patterns are clues to your zone of genius.</p><h2>Don&#039;t imitate others</h2><p>As Jeremy pointed out in our conversation, the most successful creators are authentic versions of themselves.</p><p>I think about late-night talk show hosts: Conan O&#039;Brien was utterly different from David Letterman, who was, in turn, very different from Jay Leno. Each of them built a career by leaning into their zone of genius. Conan was quirky, absurdist, and willing to make himself the butt of the joke. David was sardonic and ironic, while Jay was affable and appealed to a mainstream audience.</p><p>It can sometimes be helpful to emulate others to see if it &quot;fits&quot; us (the same way we try on clothes), but ultimately, we have to find our own style.</p><h2>What does this mean for me?</h2><p>Naturally, we&#039;re always going to face tasks that we have to do, that drain us, that aren&#039;t in our &quot;zone.&quot;</p><p>But my goal for myself is to arrange my life and work so I&#039;m spending more time in activities that work with my energy (not against it). I&#039;m wired for open-ended days full of exploration, rather than rigid systems. When I try to force myself into highly structured environments with detailed planning requirements, I feel constrained and drained. Instead, I need to create space where I can experiment, connect with people, and pursue ideas that genuinely excite me.</p><p>This doesn&#039;t mean avoiding all difficult work—building Transistor has certainly involved plenty of challenges. But it does mean being intentional about how I structure my days.</p><p>Here&#039;s what working in my zone looks like:</p><ul><li><p>Creating something every day (blog post, podcast, YouTube video)</p></li><li><p>Having lots of social engagement with people I like throughout the week</p></li><li><p>Allowing myself to follow my curiosity rather than sticking to overly rigid schedules</p></li><li><p>Building environments where I can bring my natural enthusiasm and communication skills</p></li><li><p>Delegating more tasks (I still put way too much pressure on myself to do everything)</p></li><li><p>&quot;Body doubling&quot; when doing tasks that I really don&#039;t like - usually this means getting on the phone with an employee to help work through a task that&#039;s challenging for me</p></li></ul><h2>The Power of Complementary Zones</h2><p>For Transistor, this has meant recognizing that I thrive in certain areas: connecting with customers, shaping product direction, creating content, and sharing our story. Meanwhile, Jon excels at software engineering, building the product, and technical implementation. By leaning into our respective zones, we&#039;ve built something better than either of us could have alone.</p><h2>Your Turn</h2><p>What about you? Where do you feel most like yourself? What work energizes rather than depletes you? Sometimes it takes other people to reflect this back to us—friends, family, mentors, even therapists can help us see what we might miss in ourselves.</p><p>Cheers,<br>Justin Jackson<br><br>Connect with me on:<br>🔵 <a href="https://bsky.app/profile/justinjackson.ca">Bluesky</a><br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a><br>🧵 <a href="https://www.threads.net/@mijustin">Threads</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[What the podcast industry gets wrong about YouTube]]></title>
            <link>https://justinjackson.ca/podcast-industry-youtube</link>
            <guid>https://justinjackson.ca/podcast-industry-youtube</guid>
            <pubDate>Thu, 27 Feb 2025 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[In the pursuit of "making podcasts more discoverable," the podcast industry has welcomed YouTube with open arms. But are we making a fatal mistake?]]></description>
            
            <media:content url="https://justinjackson.ca/assets/1.jpg" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>In the pursuit of &quot;making podcasts more discoverable,&quot; the podcast industry has welcomed YouTube with <a href="https://digitalcontentnext.org/blog/2021/12/09/why-video-might-be-the-key-to-podcasting-success/">open arms</a>.</p><p>It makes sense: audio podcasting is a slow and steady medium. Listenership grows about 10-15% yearly; even the most viral podcast episodes will only get ~500,000 listens. Those are small numbers compared to what a successful video podcast on YouTube can garner (<a href="https://www.youtube.com/watch?v=PYRYXhU4kxM">10 million views</a>).</p><p>The size of the YouTube audience is enticing! We&#039;re talking about a platform that 85% of all US adults use:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/pew-research-most-popular-platform-is-youtube.png" alt="/assets/content/pew-research-most-popular-platform-is-youtube.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p><strong>However, I believe the podcast industry is fundamentally misdiagnosing YouTube&#039;s role in consumers&#039; lives and overestimating the benefits we will get from the platform.</strong></p><p>We are turning to YouTube, treating it like another distribution channel (like Apple Podcasts, Spotify, or Pocket Casts). Creators want more people to discover their content, and advertisers want better tools and tracking.</p><p>The reality? YouTube doesn&#039;t care about &quot;podcasting&quot; as an industry. To YouTube, &quot;podcast&quot; is just a label, a useful keyword consumers recognize. It sits alongside other keywords like &quot;comedy special,&quot; &quot;how-to video,&quot; &quot;documentary,&quot; and &quot;music video.&quot;</p><p>Podcasting is merely becoming a small slice of YouTube&#039;s vast content empire.</p><h2>YouTube is eating the world</h2><p>YouTube occupies an enormous footprint in people&#039;s lives.</p><p>When kids wake up and have five minutes to kill, they go to YouTube. When people come home from a long day at work, they sit on the couch, and open up YouTube on their TV.</p><p>More and more folks are choosing YouTube for their TV watching (over Netflix, cable news, Amazon Prime):</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/media-gauge-jan-2025-pr.webp" alt="/assets/content/media-gauge-jan-2025-pr.webp" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>And people are also increasingly choosing YouTube over other forms of media. This includes <a href="https://www.pearson.com/content/dam/one-dot-com/one-dot-com/global/Files/news/news-annoucements/2018/The-Next-Generation-of-Learners_final.pdf">books</a>, games, and, yes, podcasts.</p><p>YouTube is also a tremendous aggregator. Think of all the types of content people can find there:</p><ul><li><p>Traditional TV content</p></li><li><p>Full-length stand-up comedy specials</p></li><li><p>Complete documentaries</p></li><li><p>Cable news</p></li><li><p>Full-length movies</p></li><li><p>Sports</p></li><li><p>Concerts</p></li><li><p>Music videos</p></li><li><p>How-to videos</p></li><li><p>Podcasts</p></li></ul><p><strong>This is what podcasts are up against</strong>.</p><p>Podcasting is just a tiny province in YouTube&#039;s vast kingdom.</p><h2>This isn&#039;t about &quot;video podcasts&quot; – it&#039;s about the dominant video <em>platform</em></h2><p>Responses from the podcast industry, such as &quot;Maybe we should do video in RSS,&quot; miss the bigger picture.</p><p>Consumers aren&#039;t looking for a place to watch podcast videos! They already know where to find videos from their favorite creators: YouTube. </p><p>YouTube occupies a space in the consumer&#039;s mind and habits that smaller platforms can&#039;t match. My friend Jeremy Enns put it perfectly:</p><blockquote><p>People have been conditioned to pull up their phones and reach for the red YouTube button. You go to YouTube to be served something – YouTube <em>tells</em> me what to watch.</p></blockquote><p>This fundamentally differs from traditional podcast consumption, where you are served the latest episodes from the feeds you subscribe to.</p><p>That&#039;s a key distinction: podcasting listening requires intention, while YouTube thrives on passivity.</p><p>What makes YouTube particularly effective at capturing attention is how its algorithm works. When I watch a podcast on YouTube, the following video that gets recommended may not be a podcast. In fact, the next five videos I watch might not be podcasts.</p><p>YouTube has mastered something no other platform has: the ability to keep you watching no matter what type of content you initially came for.</p><h2>The generational pull towards YouTube</h2><p>A big reason I listen to podcasts in a podcast app is that I am 44 years old. When podcasts were added to iTunes in 2005, I was 25. I was also in the sweet spot for getting into podcast listening: I had a long commute and an iPod.</p><p>But for younger generations like Gen Z and Gen Alpha, their formative media experiences have been shaped by YouTube. They&#039;ve grown up in a world where visual content is the default, and they turn to YouTube for everything from entertainment to education.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/graph_3_generations_use_youtube.jpg" alt="/assets/content/graph_3_generations_use_youtube.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>These younger generations haven&#039;t developed the habit of opening Apple Podcasts; they instinctively go to apps like YouTube.</p><p>The challenge for the podcast industry isn&#039;t just competing with YouTube – it&#039;s introducing an entirely different mode of content consumption to people who may never have experienced it.</p><h2>How should the podcast industry respond?</h2><p>We need to get real about what audio podcasting excels at and double down on those strengths.</p><p><a href="https://james.cridland.net/">James Cridland</a> has this great quote:</p><blockquote><p>Podcasts are entertainment for your ears while your eyes are busy.</p></blockquote><p>That&#039;s a powerful positioning strategy.</p><p>For younger generations like Gen Z and Gen Alpha, we need creative ways to sell them on audio podcasting:</p><p>&quot;Hey, your brain needs a break. You feel like you&#039;ve had too much screen time – like you&#039;ve had too much sugar. Here&#039;s an idea: Put your AirPods in, go for a walk, and listen to this show. It&#039;s going to be like a companion for you, talking about issues and feelings that matter to you right now.&quot;</p><p>We could position podcasting as the calm alternative. When you need to get out of the house, go for a walk or drive, do the dishes, your eyes are busy. Here&#039;s something you can put in your ears that can educate, inform, entertain, but in a way that won&#039;t make you feel sick.</p><p>The ultimate question isn&#039;t whether podcasting will survive YouTube—it&#039;s how we can preserve what makes it unique while adapting to a YouTube-dominated world. By focusing on audio&#039;s unique strengths, we can ensure that podcasting continues to thrive as a distinct medium.</p><p>Cheers,<br>Justin Jackson</p><p>PS: Ironically, this post <a href="https://www.youtube.com/watch?v=R2aO0pghnsE">started as a YouTube video</a>. You can also listen to it as a podcast:</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <iframe width="100%" height="180" frameborder="no" scrolling="no" seamless="" src="https://share.transistor.fm/e/f6b8b6ba?color=FFFFFF&background=30343C"></iframe>
</div>
<div class="block-text max-w-md mx-auto">
    <p></p><p>Connect with me on:<br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a><br>🧵 <a href="https://www.threads.net/@mijustin">Threads</a><br>🐦 <a href="https://twitter.com/mijustin">Twitter</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[AI isn't going to build your startup]]></title>
            <link>https://justinjackson.ca/ai-build-saas</link>
            <guid>https://justinjackson.ca/ai-build-saas</guid>
            <pubDate>Fri, 14 Feb 2025 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[Chris Sacca claims that "We are super fucked... almost all coding is fucking useless." I disagree. If AI is so good, why aren't we seeing better apps?]]></description>
            
            <media:content url="https://justinjackson.ca/assets/ai-cant-build-a-product-saas-web-app-chris-sacca.png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>Chris Sacca recently claimed, &quot;We are super fucked... almost all coding is fucking useless&quot; because AI can now build apps on demand.</p><p>I disagree.</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <style>.embed-container { position: relative; margin-bottom:25px; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class='embed-container'><iframe src='https://www.youtube.com/embed/CU5Riqb4PBg' frameborder='0' allowfullscreen></iframe></div>
</div>
<div class="block-text max-w-md mx-auto">
    <p>What concerns me about Sacca&#039;s rhetoric is that he claims this is happening &quot;right now:&quot; </p><blockquote><p>I think other than the highest level of computer science, almost all of the rest of coding is fucking useless.<br><br>You and I can go to ChatGPT and be like, &#039;I wanna build an app that does this, this, and this, and give me the code.&#039; And it spits out the code. And then I&#039;ve literally said, &quot;Hey, what do I do with this?&quot; And it&#039;s like, &quot;oh, no problem. Go here, download this, open this Python thing, and then shove it in here, and then do this.&quot; And it just talks you through it. <br><br>You just don&#039;t need to fucking do it [coding] anymore.</p></blockquote><p>Chris claims that this is already happening: </p><ul><li><p>Everyone can build their own apps with AI</p></li><li><p>Software developers are already redundant</p></li><li><p>The implied conclusion is that we won&#039;t need traditional SaaS, apps, etc anymore</p></li></ul><p>My response is this:</p><ul><li><p>AI isn&#039;t good at generating high-quality software</p></li><li><p>Producing good software still requires skilled developers and product people</p></li><li><p>I don&#039;t think &quot;personal AI-built apps&quot; will replace mainstream app usage</p></li><li><p>There will still be a lot of demand for traditional apps, SaaS, etc.</p></li></ul><h2>AI can&#039;t produce high-quality software products.</h2><p>I have yet to see AI generate a fully realized product that isn&#039;t full of bugs, bad UI, and poor UX. As Colleen Schnettler <a href="https://panelpodcast.com/1/transcript#t=10m29s">recently pointed out</a>, LLMs are good at specific development tasks but can&#039;t reliably produce a cohesive whole.</p><p>When building a product, you have to sweat the details: each screen, user flow, and interaction. These elements contribute to the overall feeling of quality. A web app feels solid when all its pieces are carefully architected and implemented.</p><p>We&#039;ve all used products that aren&#039;t built well and have constant bugs—buttons that don&#039;t respond when clicked, pages that randomly crash, and confusing error messages. (This describes a lot of &quot;Indie Hacker&quot; products!) Instead of a cohesive experience, these products feel janky, like they&#039;re held together by duct tape.</p><blockquote><p>&quot;While engineers report being dramatically more productive with AI, the actual software we use daily doesn&#039;t seem like it&#039;s getting noticeably better.&quot; – <a href="https://addyo.substack.com/p/the-70-problem-hard-truths-about">Addy Osmani</a>, head of UX, Google Chrome</p></blockquote><p>If AI is already good at building apps, as Sacca claims, why aren&#039;t we seeing noticeably better software?</p><p>Commercial-grade software needs to be performant, reliable, and easy to use. It also requires constant maintenance to prevent security threats, outdated dependencies, and bugs.</p><h2>To build good software you need skilled engineers and product people</h2><p>Simon Willison <a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/#llms-somehow-got-even-harder-to-use">puts it perfectly</a>: </p><blockquote><p>&quot;LLMs are power-user tools—they&#039;re chainsaws disguised as kitchen knives. They look deceptively simple to use—how hard can it be to type messages to a chatbot?—but in reality you need a huge depth of both understanding and experience to make the most of them and avoid their many pitfalls.&quot;</p></blockquote><p><a href="https://joshuawood.net/llms-debugging">Josh Wood</a> follows up on this metaphor: </p><blockquote><p>&quot;A chainsaw is an apt metaphor. Without thinking through each interaction, you&#039;ll find that you&#039;ve mutilated your favorite bonsai tree. You should have used shears instead.&quot;</p></blockquote><p>When you watch experienced developers use AI tools, &quot;They&#039;re not just accepting what the AI suggests,&quot; <a href="https://addyo.substack.com/p/the-70-problem-hard-truths-about">Osmani notes</a>. &quot;They&#039;re constantly refactoring the generated code into smaller, focused modules, adding edge case handling the AI missed, strengthening type definitions and interfaces, questioning architectural decisions, and adding comprehensive error handling.&quot;</p><h2>The hardest part isn&#039;t the building</h2><p>In our panel discussion, Tyler King hit the nail on the head:</p><blockquote><p>&quot;The hardest part about SaaS was never the building. It&#039;s getting anyone to notice you.&quot;</p></blockquote><p>Even if your product is good, you need to be able to find customers.</p><p>In the past, I&#039;ve talked about how founders need to stack every advantage they have to get noticed:</p><ul><li><p>SEO skills</p></li><li><p>Connections</p></li><li><p>Product quality</p></li><li><p>Customer service</p></li><li><p>Paid acquisition skills (ads)</p></li><li><p>Ability to connect with an audience</p></li><li><p>Building up a reputation in a given industry</p></li></ul><p>So much good marketing is accumulating these resources over a lifetime and deploying them to get distribution for your product.</p><p>The marketing materials AI produces are generic, soulless, and unremarkable. The public has already grown tired of them. What will stand out? The human touch.</p><p>As Brian says, &quot;People are craving human connection, human realness. YouTubers do well because people connect with them through video. When I search for something on Google, what do I click on? The Reddit links. Why? Because that&#039;s where the humans are.&quot;</p><h2>An AI can&#039;t care the way you can</h2><p>Another quote of mine is:</p><blockquote><p>&quot;In small business, whoever cares most about the customers, wins.&quot;</p></blockquote><p>Small businesses have always competed by being willing to do what the big incumbents wouldn&#039;t. When people ask me on <a href="https://transistor.fm/?via=justin">Transistor</a>&#039;s live chat what the difference is between us and Spotify, I say: &quot;Daniel Ek (Spotify&#039;s CEO) isn&#039;t answering customer support tickets.&quot;</p><p>If you ask an AI to generate an app for you, it won&#039;t care about the overall experience the way you can.</p><p>If you ask an AI to write you a blog post, it won&#039;t care about something that resonates with the audience you&#039;ve been building for 10 years.</p><p>For years, indie SaaS founders have put a &quot;made with ❤️ by Jill and Bob&quot; in the footer of their websites. It&#039;s the heart that sets us apart.</p><p>Cheers,<br>Justin Jackson</p><p>PS: I highly recommend <a href="https://www.oreilly.com/radar/the-end-of-programming-as-we-know-it/">Tim O&#039;Reilly&#039;s post</a> if you&#039;re interested in this topic.<br><br>Connect with me on:<br>🦋 <a href="https://bsky.app/profile/justinjackson.ca">Bluesky</a><br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

<div class="block-text max-w-md mx-auto">
    <p></p>

</div>
]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[How to make big decisions]]></title>
            <link>https://justinjackson.ca/big-decisions</link>
            <guid>https://justinjackson.ca/big-decisions</guid>
            <pubDate>Wed, 22 Jan 2025 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[Make better life decisions by considering your future self, learning from others' experiences, and testing choices before committing. How to consider major life choices like homeownership, starting a business, or having children.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/how-to-make-big-decisions.png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>The decisions we make have a profound effect on our lives.</p><p>Each decision kicks off a cascading set of consequences, not all of which are anticipated.</p><p>Here are a few examples of big decisions that have long-term effects:</p><ul><li><p>Getting a pet</p></li><li><p>Buying a house</p></li><li><p>Having children</p></li><li><p>Building a restaurant</p></li></ul>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/how-to-make-big-decisions.png" alt="/assets/how-to-make-big-decisions.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Here are a few ideas on how we can make better decisions:</p><ol start="1"><li><p><strong>Consider &quot;who you&#039;ll become&quot; when making the choice.</strong> Each decision creates a new version of yourself—a person who now walks the dog every morning, a parent who will always feel responsible for their child, a homeowner who&#039;s tied to a location, or a business owner who works evenings and weekends. Ask yourself, &quot;Am I ready to become this person?&quot; &quot;Do I want to become this person?&quot;</p></li><li><p><strong>Look for evidence from others who&#039;ve made similar choices.</strong> If you&#039;re considering starting a restaurant, spend lots of time with restaurant owners before making that decision. Ask them, &quot;What&#039;s your quality of life like?&quot; &quot;Do you have any regrets?&quot; Observe their lifestyle: Is this something you want? Before I started <a href="https://transistor.fm/?via=justin">Transistor</a> with Jon, I had worked for multiple SaaS companies and become friends with other founders. When I made my decision, it was because I&#039;d observed my <a target="_blank" href="https://justinjackson.ca/new-saas">founder friends</a>.</p></li><li><p><strong>Try it on first. </strong>Before you buy clothes, you usually try them on first. We should do the same for the other big decisions in our lives! When considering a move to the Okanagan, we visited multiple times. Don&#039;t just imagine the highlight reel; experience it by trying it on first.</p></li><li><p><strong>Ask: who else will this affect? </strong>Remember that most significant decisions aren&#039;t just about you. Major choices ripple through your relationships, especially with your spouse and kids. The best decisions account for everyone who will be impacted.</p></li><li><p><strong>Give yourself permission to make imperfect choices.</strong> Life isn&#039;t about finding the &quot;one perfect decision&quot; – it&#039;s about making thoughtful choices and showing up every day to make them work. Sometimes, the path forward isn&#039;t clear until you start walking. However, make sure you also permit yourself to <a href="https://justinjackson.ca/quit">stop going down a given path</a> if it&#039;s clear it&#039;s not working.</p></li></ol><p>Remember: the big decisions you make now determine the kind of person you&#039;ll become in the future.</p>

</div>
]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[AI isn't going to replace you]]></title>
            <link>https://justinjackson.ca/ai-replace</link>
            <guid>https://justinjackson.ca/ai-replace</guid>
            <pubDate>Sat, 18 Jan 2025 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[This cheap, low-quality AI will create more opportunities for those who care about quality product design, customer service, and meaningful experiences.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/man-vs-machine.png" medium="image"/>
            
            <content:encoded><![CDATA[<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/man-vs-machine.png" alt="/assets/man-vs-machine.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>I keep hearing people worry that AI will take over software development, product development, writing, video production, and other areas.</p><p>I&#039;d be worried if you write low-quality, spammy, clickbait articles (AI can do that easily).</p><p>If you write simple, boilerplate code for a big company, your job might be at risk.</p><p><strong>But for those who care about doing quality work, AI doesn&#039;t even come close to replacing us.</strong></p><p>When building a product, the overall experience you craft matters. You can&#039;t just duct tape together AI-generated code and build a solid UX.</p><blockquote><p>&quot;The AI can&#039;t feel the product. It doesn&#039;t understand the rough edges of a design. Why this flow isn&#039;t quite right, why that copy doesn&#039;t make sense.&quot;  – Dan Scott</p></blockquote><p>We&#039;ve seen this with no-code builders and starter kits. To build something great, you need someone with expertise.</p><p>AI is a reasonable tool for augmenting skilled people in specific areas.</p><p>But on its own, AI is bad at good software development, writing, video editing, and customer service.</p><p>Even when AI is a helpful tool, it still requires us humans to prompt and direct it. The more expertise you have, the better you can wield AI as a tool.</p><p>Some say, &quot;Well, AI can&#039;t do all that yet, but it could soon!&quot; I don&#039;t think we should worry about things that haven&#039;t happened yet. Likely, we&#039;ve already reached the limit of what large language models (LLMs) can do.</p><p><strong>All of this cheap, low-quality AI will create more opportunities.</strong></p><p>There will be opportunities to stand out for those who care about quality product design, customer service, and creating meaningful experiences. At <a href="https://transistor.fm/?via=justin">​Transistor</a>, we doubled down on human-powered customer support. <a href="https://bsky.app/profile/thesusanboles.bsky.social/post/3lcj7vfqi6s22">​People rave about it</a>. If you care, you stand out.</p><p>If you&#039;re worried about AI taking your job, the answer is to focus on expertise, craftsmanship, and creativity.</p><p>Cheers,<br>Justin Jackson<br><br>Connect with me on:<br>🦋 <a href="https://bsky.app/profile/justinjackson.ca">Bluesky</a><br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Is it too hard to build a SaaS in 2025?]]></title>
            <link>https://justinjackson.ca/saas-is-hard</link>
            <guid>https://justinjackson.ca/saas-is-hard</guid>
            <pubDate>Sat, 18 Jan 2025 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[]]></description>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>There’s a lot of “don’t build a SaaS (too hard)” narrative right now.</p><p><strong>If you have the desire &amp; drive, build a SaaS!</strong></p><p>Many types of businesses can “work,” but SaaS has (by far) been one of the best revenue models on the planet.</p><p>​<a rel="noopener noreferrer" target="_blank" href="https://bsky.app/profile/justinjackson.ca/post/3lfxejbmmzs2g">I tried building ~10 SaaS projects before I found something that worked</a>. It was hard to get here, but it&#039;s worth it.</p><p>In truth, building any business that’s a long-term success and consistently profitable is challenging. It’s all hard! So, you might as well choose the superior business model (especially if you’re excited about software).</p><p><strong>​<a rel="noopener noreferrer" target="_blank" href="https://bsky.app/profile/tylerking.app/post/3lfxmnryw2s2d">Tyler King asked</a>: &quot;Do you think it&#039;s gotten harder, easier, or stayed the same over the last five years?&quot;</strong></p><p>I think it&#039;s always been hard.</p><p>It&#039;s difficult to determine whether it&#039;s harder now than it was. Some things are easier and better (infrastructure, caching, frameworks), and others are more challenging (marketing, growth, distribution).</p><p>I still think it&#039;s one of the best lottery tickets you can buy. Although you&#039;re unlikely to win, your odds are much better than those in most competitive arenas.</p><p>Again, if you have the desire and long-term drive to build a SaaS, you should probably do it. (You should also consider <a target="_blank" href="https://justinjackson.ca/cofounder">getting a co-founder</a>.)</p><p>Cheers,<br>Justin Jackson<br><br>Connect with me on:</p><p>🦋 <a href="https://bsky.app/profile/justinjackson.ca">Bluesky</a><br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

<div class="block-text max-w-md mx-auto">
    <p></p>

</div>
]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[2024 year in review]]></title>
            <link>https://justinjackson.ca/2024-review</link>
            <guid>https://justinjackson.ca/2024-review</guid>
            <pubDate>Tue, 31 Dec 2024 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[For the last eleven years, I've been writing a year-in-review post. Here's what happened this past year in my journey.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/content/friends-family-love-2024.jpg" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>When I start to write my year-in-review post, the first thing I do is go back in Google Photos to January 1st. As I scroll through the year, it reminds me of significant milestones from each month. Being able to look back on a year and remember these moments is a big reason I write these posts every year.</p><p>What&#039;s immediately apparent is <strong>the importance of friends and family</strong>. These connections are the essence of life. They&#039;re everything.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/friends-family-love-2024.jpg" alt="/assets/content/friends-family-love-2024.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>I&#039;ve been sharing my thoughts and reflections in a year-in-review post for the last eleven years. As a collective, these reviews describe my entire bootstrapping journey, both the breakthroughs and the struggles.</p><p>(You can read <a href="/2023-review">2023</a>, <a href="/2022-review">2022</a>, <a href="/2021-review">2021</a>, <a href="/2020-review">2020</a>, <a href="/2019-review">2019</a>, <a href="/2018-review">2018</a>, <a href="/2017-review">2017</a>, <a href="https://justinjackson.ca/2016-review">2016</a>, <a href="/2015-review">2015</a>, <a href="/2014-review">2014</a>, and <a href="/2013-review">2013</a> here).</p><h2>This year&#039;s contemplations</h2><h3>What is this in service of?</h3><p>Trying to ask myself this question more often:</p><blockquote><p>&quot;Is this thing you’re doing in service of the life you want to live?&quot;</p></blockquote><p>In last year&#039;s review, I talked more about <a href="https://justinjackson.ca/2023-review">the life I&#039;m optimizing for</a>.</p><h3>The seasons of life</h3><p>At 44, I&#039;ve been thinking a lot about the seasons of life and how we navigate different phases of our journey.</p><p>My daughter shared this metaphor with me, where she describes three seasons of life:</p><ol start="1"><li><p><strong>Planting</strong>: This is when you&#039;re finding seeds, finding soil, and preparing the ground. This phase is full of anxiety: &quot;Will this grow? Am I on the right track? Will this idea work?&quot; Think about being in college or trying to find a good business idea.</p></li><li><p><strong>Growing</strong>: Your seeds start to grow here, but tons of work is required: watering, weeding, and protecting plants from pests. There&#039;s still anxiety (bad weather), but you see growth, which makes you want to double down. This is like hitting your stride at work or seeing a business idea take off.</p></li><li><p><strong>Harvesting</strong>: This is where you get to enjoy the bounty of what you&#039;ve grown. Your storehouses are full of grain. It&#039;s a time of relaxation and celebration. Examples: your business is generating significant profits, and you have a flywheel running.</p></li></ol><p>Life is a continuous cycle of seasons: planting, growing, harvesting. So, if you&#039;re in a harvesting phase, you&#039;re asking yourself: &quot;What should I plan on planting next season?&quot;</p><p>I started thinking about how these seasons show up in different categories of life: family life, fitness, romantic relationships, and work. Here&#039;s a table of examples:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a href="https://docs.google.com/spreadsheets/d/1Vqi1RXmflyRheJScULgHh6Lvm5E5Fp1mv1VGm-ciizs/edit?usp=sharing" style="background:0;">
  
  <img src="/assets/content/seasons-of-life.png" alt="/assets/content/seasons-of-life.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>When I use this framework, a few things come to mind.</p><ul><li><p><strong>Business: </strong>It feels like we&#039;re in a harvesting season with Transistor. It took some intense planting and growing seasons to get here, but now our growth, revenue, and team feel solid. But this past year, I have wondered what seeds I should plant for future seasons of my life. How should I be planning for retirement? How long will Jon and I run the business? (I think we&#039;d both like to do this for another 5 -10 years, but 15? How should we be planning for the future?)</p></li><li><p><strong>Family: </strong>With four kids from college age to mid-teens, my wife and I are straddling the growing and harvesting seasons of parenthood. Our role is shifting from active, hands-on parenting to more mentoring and supporting. We&#039;ve been thinking a lot about what it will be like when all four kids have moved out.</p></li><li><p><strong>Personal: </strong>On a personal level, 2024 has been a planting season. As I mentioned, I&#039;ve been contemplating what I want from the next chapter of my life as I approach 50. It feels like I&#039;m preparing new soil and considering which seeds to plant. I&#039;m also aware that I&#039;m in a transition period. The raw creative energy of my 20s and 30s is evolving into something different – what Arthur Brooks calls &quot;crystallized intelligence.&quot; </p></li></ul><h2>Transistor update</h2><p><a href="https://transistor.fm/?via=justin">Transistor</a>, the podcast hosting business I co-founded with Jon Buda, continues to thrive.</p><p>Recently, someone told me, &quot;I didn&#039;t realize how <strong>big</strong> Transistor is! You&#039;ve got to tell that story more often.&quot; It&#039;s true! <strong>We serve over 30,000 podcasts</strong> on the platform. </p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a href="https://transistor.fm/?via=justin" style="background:0;">
  
  <img src="/assets/content/popular-podcasts-on-transistor.png" alt="/assets/content/popular-podcasts-on-transistor.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p></p><p>This includes popular shows like <a href="https://transistor.fm/acquired-charts/">Acquired</a>, <a href="https://transistor.fm/customers/diggnation/">Diggnation</a>, and <a href="https://www.fastersmarter.io/">Think Fast Talk Smart</a> and branded shows from well-known organizations such as <a href="https://kit.com/resources/creator-stories">Kit</a> (Convertkit), the US Government, and <a href="https://share.transistor.fm/s/969b53fa">Magic: The Gathering</a>.</p><p>We&#039;ve just come off an incredible year, where we <a href="https://transistor.fm/transistor-growth/">grew the number of podcasts on the platform by 32%</a>.</p><p>The Transistor team has six full-time members: Michael, Josh, Jason, Helen, Jon, and me. We&#039;ve organized ourselves into three smaller &quot;duo&quot; teams: </p><ul><li><p>Customer Success</p></li><li><p>Marketing</p></li><li><p>Engineering.</p></li></ul>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a href="https://transistor.fm/transistor-growth/" style="background:0;">
  
  <img src="/assets/content/transistor-20204.jpg" alt="/assets/content/transistor-20204.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>This year, we brought <a href="https://transistor.fm/michael/">Michael Green on as a full-time support engineer</a>. </p><p>I met Michael at a local tech meetup here in Vernon. He started helping with customer support part-time in 2023, but it quickly became apparent that he needed to be a permanent fixture on our team. Having him answer tickets during the day meant I could focus more on strategy and growth. Plus, he&#039;s just better at serving customers than me!</p><p>As a whole, the tech industry had a hard year (with lots of layoffs). We feel lucky that Transistor&#039;s revenue has continued to grow, enabling us to hire more people.</p><h3>New Transistor features we launched in 2024</h3><p>This year, we shipped several significant features:</p><ul><li><p><a href="https://transistor.fm/changelog/ai-transcription/">AI speech-to-text transcription</a>. Automatically create a transcript for every podcast episode.</p></li><li><p><a href="https://transistor.fm/changelog/podroll/">Recommend other podcasts with pod roll</a>.</p></li><li><p><a href="https://transistor.fm/changelog/podcast-network/">Create a podcast network and website</a> featuring all your shows.</p></li><li><p><a href="https://transistor.fm/changelog/newsletter-embed/">Embed your podcast episodes directly in Kit</a> (ConvertKit) newsletters.</p></li><li><p><a href="https://transistor.fm/changelog/guest-credits-bluesky/">Easily add podcast guest credits from Bluesky</a>, GitHub, and more</p></li></ul><p>We have some cool stuff planned for 2025:</p><ul><li><p>Bluesky auto-posting</p></li><li><p>Using Bluesky to power comments on your podcast</p></li><li><p>3rd-party tracking URLs (pixels) for ad campaigns</p></li><li><p>New monetization features for podcasters</p></li></ul><h2>Travel and events in 2024</h2><p>This year, I did a bunch of travel, with several significant trips.</p><h3>Los Angeles</h3>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/disney-2024.jpg" alt="/assets/content/disney-2024.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>I had booked some meetings before a conference in LA, so we took the boys (our daughter is in university). We did some family business planning (see below) and went to Disney.</p><p>Watching my boys run and play on the beach together as older teens was one of my highlights of the year. They grow up so fast!</p><h3>Podcast Movement Evolutions</h3>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/pm-evolutions-2024.jpg" alt="/assets/content/pm-evolutions-2024.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Next was Podcast Movement Evolutions, a smaller conference for the podcast industry. Highlights included meeting with business friends like Andrew Culver and Corey Griffin and seeing Marc Maron live (I&#039;ve been a long-time fan).</p><h3>Road trips with Marty</h3><p>My oldest son planned to attend college later in the year, so he and I took several road trips together. The first, in the spring, was to visit family and meet my daughter on break. </p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/road-trips-with-marty.jpg" alt="/assets/content/road-trips-with-marty.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>For the second, we attended <a href="https://gameconcanada.com/">GameCon Canada</a> together. </p><p>He and I are working on a few different indie game ideas, and we wanted to learn more about the industry. It was fun to connect with a whole different business category (very different from SaaS). After the trip, he decided to take game development at college and enrolled for the fall semester.</p><h3>Podcast Movement DC</h3><p>Starting in mid-August (after driving my son to college), I had a whirlwind of travel, starting with Podcast Movement in DC. This is the largest conference in podcasting. I was delighted to hang out with old friends there, especially Jeremy, Kelly, and Bryan Fittin.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/podcast-movement-dc-2024.jpg" alt="/assets/content/podcast-movement-dc-2024.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>But overall, this year&#039;s event had me feeling reflective (and a bit weary) about the podcast industry. In particular, <a href="https://bsky.app/profile/justinjackson.ca/post/3lbfregepg22s">YouTube&#039;s recent foray into podcasting</a> seems to be sucking up a lot of the oxygen in the space and a lot of the &quot;independent spirit&quot; that initially drew me to podcasting. </p><p>At the end of the trip, I a meetup with some long-time <a target="_blank" href="https://megamaker.co">MegaMaker members</a>, which was a treat.</p><h3>Chicago &quot;Founders&quot; Retreat with Jon</h3><p>I flew to Chicago after the conference in DC to spend time with Jon Buda (my business partner at <a href="https://transistor.fm/?via=justin">Transistor</a>).</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/chicago-2024.jpg" alt="/assets/content/chicago-2024.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>It felt like Jon and I needed this hangout time. We went out for food, took an architecture tour, and strolled the river walk. We also had time to talk about some big things in our founder relationship. The whole experience felt significant and more than a little sentimental for me! In Chicago, Jon and I launched the initial version of Transistor together in 2018.</p><h3>Laracon</h3><p>From Chicago, I headed to Dallas for Laracon. I hadn&#039;t been to Laracon since I spoke and MC&#039;d the NYC event in 2019.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/laracon-2024.jpg" alt="/assets/content/laracon-2024.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Honestly, my biggest reflection on Laracon this year was how dang happy I was. I couldn&#039;t believe how many friends I had there, how many old faces I&#039;d missed seeing. I realized how many of my entrepreneur friends are in the Laravel community – and how much I missed hanging out with them. It also felt like Transistor had more customers at Laracon than Podcast Movement; I was just blown away by how supportive that community has been.</p><h3>Transistor team retreat + Acquired live in San Francisco</h3><p>The <a target="_blank" href="https://transistor.fm/">Transistor</a> team and I flew to San Francisco for our annual team retreat and to attend the <a href="https://transistor.fm/acquired-live/">Acquired podcast&#039;s live show</a> featuring Mark Zuckerberg, founder of Facebook, and Daniel Ek, founder of Spotify.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a href="https://transistor.fm/acquired-live/" style="background:0;">
  
  <img src="/assets/content/acquired-live-san-francisco-2024.jpg" alt="/assets/content/acquired-live-san-francisco-2024.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Transistor hosts the Acquired podcast, and we wanted to be there for Ben and David&#039;s big day.</p><h3>Jon&#039;s wedding in Guatemala </h3><p>My longtime friend and business partner, Jon Buda, had his wedding in Guatemala in October, and it turned into the trip of a lifetime.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/guatemala-trip-2024.jpg" alt="/assets/content/guatemala-trip-2024.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Jon and Wendy&#039;s wedding was a blast!</p><p>Lorinda and I explored so many incredible places together and connected with fun people. The whole trip felt like adult summer camp, with all of Jon and Wendy&#039;s friends hanging out in the same town (Antigua). It was sad to say goodbye to everyone when we left.</p><h2>What else happened in 2024?</h2><h3>Making bets</h3><p>One of my goals in 2024 was to start angel investing.</p><p>I&#039;d previously set up a holding company that regularly receives dividends from different investments. I wanted to use some of this capital to do some angel investing.</p><p>My first investment was in an energy-based startup in Vernon, BC. I&#039;ve known the founder for a long time, and he&#039;s good at building companies that take advantage of government grants and partnerships with academic institutions.</p><p>My second investment was in RevGems, a platform I was already using for Transistor. It was an analytics app that showed you how much revenue you were getting from different marketing channels. I was (and still am) a big fan of the team. Sadly, the team members decided that they didn&#039;t have the energy and resources to keep pushing the project forward. This is a common reality in the startup world: life happens, priorities shift, and sometimes good products have to be sunset. The founders had other commitments (finances, family) that needed their attention. While it&#039;s disappointing when this happens, it&#039;s also a natural part of the startup journey. Not every bet works out, but that&#039;s why they call it &#039;betting.</p><p>I briefly considered taking a more significant role with RevGems to get it off the ground, but that led me to my next big realization of 2024...</p><h3>Evaluating my responsibilities</h3><p>I&#039;ve been using Claude AI as a &quot;personal life coach.&quot; To fill out its knowledge bank, I outlined all the responsibilities I have right now:</p><ul><li><p><strong>Co-founder and CEO of Transistor:</strong> my primary professional responsibility. In total, we have a team of 6 people. There are things that Jon and I are uniquely good at that drive the business forward (on the product development and marketing side). We&#039;re growing, and </p></li><li><p><strong>Owner of Nerd North Inc.:</strong> This is the Canadian corporation I&#039;ve had for years. It owns most of my projects (like MegaMaker, Meeps, SwagFan, and old courses). It&#039;s also the &quot;family business&quot; and employs my wife and four kids, who help with various tasks. The family uses the company to explore business opportunities my wife and kids are interested in pursuing (game development, buying real estate, video editing). We&#039;re hoping to release some games on Steam soon!</p></li><li><p><strong>Co-owner of Cowork Vernon</strong>, a <a href="https://coworkvernon.com/">coworking office</a> in downtown Vernon, BC. I run this joint venture through Nerd North and some other partners. It&#039;s been running since 2014. It&#039;s not profitable, but it gives us an awesome work environment and a sense of community.</p></li><li><p><strong>The main organizer of the Geek Beers meetup.</strong> We have the event on the last Thursday of every month. Currently, this requires me to check with the venue to ensure our reservation works, send emails to attendees, and ensure it&#039;s listed on Meetup.com.</p></li><li><p><strong>A parent to 4 kids</strong>: two at home (15 and 16) and two who are away at college (19 and 22).</p></li><li><p><strong>A husband.</strong> We&#039;ve been married since 2001, and after raising four kids, we&#039;re ready to spend more time and energy on our relationship. We&#039;ve also been doing more trips together (just the two of us).</p></li></ul><p>That&#039;s already a lot! While I occasionally have some time to pursue additional projects (see SwagFan below), I need to be careful about adding anything else to my plate. My priorities are: family first, then Transistor, and everything else needs to fit around those core commitments.</p><blockquote><p>&quot;You can&#039;t be the CEO of everything.&quot;</p></blockquote><p>(It feels like this is a lesson I have to keep learning over and over again)</p><h3>Travel is awesome, but not too much</h3><p>The trips I took this year were incredible, but I overdid it.</p><p>I traveled too much in August, September, and October. It felt like I was traveling back-to-back, which overwhelmed me. This year, I plan to do fewer trips and space out my trips more.</p><h3>SwagFan</h3><p>One of my most rewarding projects this year was SwagFan. In my marketing work, I&#039;ve found that giving away branded swag (t-shirts, hats) was awesome for getting folks to promote your brand but managing the process was cumbersome. Around the same time, I met Ferdinand, a recent CompSci graduate who was struggling to find his first dev job in a tough market.</p><p>I decided to hire Ferdinand for the summer to build <a href="https://swagfan.com/">SwagFan</a>: a tool that would simplify the process of giving away branded merchandise through Printful. Despite never having built anything in Laravel before, Ferdinand completed most of the project in just six weeks. </p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://swagfan.com/" style="background:0;">
  
  <img src="/assets/content/swag-fan-link.png" alt="/assets/content/swag-fan-link.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>The app lets companies create swag giveaway links, choose which products to offer, and have Printful handle the printing and shipping automatically.</p><p>What I loved about this project was how it served multiple purposes: it solved a real problem we had at Transistor, gave Ferdinand valuable real-world development experience, and demonstrated Laravel&#039;s strengths for building SaaS apps quickly. Plus, it felt good to play a small part in helping bridge the &quot;<a href="https://justinjackson.ca/summer-project">pipeline problem</a>&quot; in the Laravel ecosystem by giving a junior developer their first shot at building something real.</p><h3>I left Twitter</h3><p>After being on Twitter since 2008 (gaining 40,000 followers and posting 50,000 times), I finally decided to delete all my tweets and leave the platform. The experience under Elon&#039;s leadership had become increasingly frustrating - terrible ads, spam everywhere, violent content in the &quot;For You&quot; feed, and the general degradation of what used to be my favorite place on the internet.</p><p>Fortunately, <a href="https://justinjackson.ca/twitter-bluesky">Bluesky emerged as a refreshing alternative</a>. What started as a ghost town a year ago suddenly came alive in late 2024, with numerous indie hackers, bootstrappers, and Laravel developers making the switch. It reminded me of how Twitter felt in 2010-2012: genuine interactions, less performative posting, and a real sense of community. The platform&#039;s growth exploded, and through features like <a href="https://go.bsky.app/9Xi4xtt">Starter Packs</a>, I was able to quickly rebuild connections with people who matter to me.</p><p>This transition feels significant - not just because I&#039;m leaving a platform I used for 15 years, but because it represents a fresh start. It&#039;s a chance to build a social media experience that&#039;s actually fun and social again.</p><h3>Live music</h3><p>Every year, when I scan through my photos, I always find myself appreciating the concerts I went to. </p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/live-music-2024.jpg" alt="/assets/content/live-music-2024.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Here are a few highlights:</p><ul><li><p>The Gorge – in August, Lorinda and I went to the Gorge Amphitheatre in Washington to see Willie Nelson &amp; Family, Bob Dylan, John Mellencamp, and Billy Strings.</p></li><li><p>NPR Tiny Desk Concert – at Podcast Movement, I was invited to attend a Tiny Desk concert featuring Lainey Wilson! I&#039;ve been a long-time Tiny Desk fan, so seeing one live was an incredible experience.</p></li></ul><h2>Ideas, goals, and plans for 2025</h2><ul><li><p><strong>Transistor. </strong>I want our focus this year to be &quot;podcast monetization:&quot; enabling podcast creators to make revenue from their shows. This includes <a href="https://transistor.fm/features/dynamic-ads/">expanding our Dynamic Ads feature set</a>. I would love for us to climb higher on <a href="https://transistor.fm/transistor-growth/">this list</a>.</p></li><li><p><strong>Business travel. </strong>Doing less this year! Currently, I&#039;m considering these four big trips for 2025:</p><ul><li><p>One podcast-related conference (either <a href="https://evolutions.podcastmovement.com/">PM Evolutions</a> in Chicago or <a href="https://www.thepodcastshowlondon.com/">Podcast Show</a> in London)</p></li><li><p>Founders retreat with Jon</p></li><li><p>Transistor team retreat</p></li><li><p><a href="https://laracon.us/">Laracon US</a></p></li></ul></li><li><p><strong>Personal travel</strong>. I want to do:</p><ul><li><p>Dedicated one-on-one trips with each of my kids</p></li><li><p>2-3 trips with just my wife.</p></li><li><p>Plan a big family trip that gets everyone together, probably on Vancouver Island.</p></li></ul></li><li><p><strong>More live music! </strong>Every year, when I scan through my photos, live music is always the highlight.</p></li><li><p><strong>Family business</strong>: keep developing family business initiatives, especially some game dev projects with the kids.</p></li><li><p><strong>Investing</strong>: I could see myself making 1-2 angel investments this year and maybe even purchasing a small property.</p></li><li><p><strong>I am starting a new podcast</strong> with Brian Casel called <a target="_blank" href="https://panelpodcast.com/">The Panel,</a> where, in every episode, we invite smart friends to discuss (and debate) the realities of building a business and career in tech.</p></li></ul><p>Cheers,<br>Justin Jackson<br><br>Connect with me on:<br>🦋 <a href="https://bsky.app/profile/justinjackson.ca">Bluesky</a><br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[What's happening with founders over 40]]></title>
            <link>https://justinjackson.ca/over-40</link>
            <guid>https://justinjackson.ca/over-40</guid>
            <pubDate>Sat, 14 Dec 2024 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[Building a company in your 40s hits different. Older bootstrapped SaaS founders are evaluating their energy, and reevaluating their priorities.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/founders-over-40.jpg" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>I recently listened to three podcast episodes, all with bootstrapped founders over the age of 40:</p><ul><li><p><a href="https://usefathom.com/podcast/paul-retired">Paul Jarvis has retired from Fathom Analytics</a></p></li><li><p><a href="https://outofbeta.fm/episodes/emergency-podcast-matts-news">Matt Wensing steps down from Summit, takes job with Customer.io</a></p></li><li><p><a href="https://bootstrappedweb.com/episodes/year-end-takeaways-goals">Brian Casel and Jordan Gal talk about building SaaS at this stage of life</a></p></li></ul><p>It&#039;s interesting to see how differently this stage of life is compared to our 20s and 30s.</p><h2>An Evolving Definition of Success:</h2><blockquote><p>&quot;I&#039;ve been at Summit for 5 years. <em>My last company took 15 years, and I didn&#039;t want to do that again.</em> At 43, with three kids in high school and one in college, I need something that works on my timeline.&quot; – Matt Wensing</p></blockquote><ul><li><p>All three episodes showed how founders over 40 are evolving their definitions of &quot;success.&quot;</p></li><li><p>Your definition of success at 20 often differs from how it looks at 40.</p></li><li><p>As you age, you&#039;re more judicious about where you put your energy.</p></li><li><p>40+ founders are ready to have more time outside of work and be with their kids, especially before going to college. </p></li><li><p>Any time investment at work has to feel worthwhile and meaningful.</p></li><li><p>There&#039;s less of a willingness to &quot;grind it out.&quot; </p></li></ul><h2>Life Stage Considerations:</h2><blockquote><p>&quot;My oldest is 12, and I have certain financial goals that I want to accomplish before they go away to college. It&#039;s this 6-year window in my mind, and I do a lot of my planning and thinking around that time frame.&quot; – Jordan Gal</p></blockquote><ul><li><p>Family obligations and priorities are prominent (kids in high school/college).</p></li><li><p>Almost everyone (myself included) thinks that their kids&#039; going to college is a significant milestone.</p></li><li><p>Financial responsibilities are different - 40+ founders seek more stability and predictable income.</p></li><li><p>Time horizon perspectives have shifted - founders over 40 think in 5-10 year blocks rather than indefinite futures.</p></li><li><p>In your 40s, you realize you don&#039;t have an indefinite runway. Several people mentioned not wanting to embark on another &quot;15-year bootstrap journey&quot; at this stage.</p></li></ul><h2>Different Decision-Making:</h2><ul><li><p>In your 40s, you have some accumulated wisdom: you recognize patterns faster and are more willing to change course.</p></li><li><p>Less emotional attachment to specific business models/approaches.</p></li><li><p>More emphasis on pragmatic decisions vs. proving yourself to others.</p></li><li><p>Better at calculating the &quot;expected value&quot; of different paths and a better understanding of what different growth paths require.</p></li><li><p>Willing to consider alternative paths (acquisition, joining larger companies)</p></li></ul><h2>Leveraging Wisdom and Experience:</h2><blockquote><p>&quot;In your 40s, 50s, and 60s, your wisdom is higher, your pattern recognition is higher, your teaching ability is higher.&quot; – Arthur Brooks</p></blockquote><ul><li><p>It&#039;s time to leverage our skills effectively rather than proving they can do everything</p></li><li><p>Founders at this stage are willing to join larger organizations where their skills can have more impact</p></li><li><p>Understanding that sometimes being part of a bigger system can create more value</p></li></ul><h2>A few thoughts from me:</h2><p>Something changes once you turn 40.</p><p>Your definition of success evolves – it&#039;s not just about &quot;replacing your salary&quot; anymore. You want meaningful outcomes that justify the time and energy investment for you and your family.</p><p>I&#039;m still ambitious, but I have a clearer understanding of what different paths require. I&#039;ve learned what things cost (in time, energy, and personal life). <strong>It’s not that your drive suddenly goes away; you just don’t have that same kind of “raw firepower” you had when you were younger.</strong></p><p>Jon and I started Transistor in our late 30s. We knew it would be at least 1-2 years of intense work to bootstrap a profitable business. And we got lucky: our &quot;<a href="/calm-company">calm company</a>&quot; phase came right when we turned 40.</p><p>Could we do it again at 44? I&#039;m not sure we could do it the same way. If we started again, we&#039;d need more resources and a different approach.</p><p>There&#039;s a saying: &quot;Youth is wasted on the young.&quot; But maybe experience is wasted on the old! We have all this accumulated wisdom; it&#039;s time to use it as leverage.</p><p><strong>One final thought: </strong>I greatly admire folks who &quot;know when it&#039;s time to move on.&quot; We don&#039;t talk about &quot;retirement&quot; or &quot;post-founder life&quot; enough in our circles.</p><p>Cheers,<br>Justin Jackson</p><p>Links:</p><ul><li><p><a href="https://huffduffer.com/tags/bootstrapper-40">Listen to all three episodes on Huffduffer</a></p></li><li><p>Or, <a href="https://huffduffer.com/tags/bootstrapper-40/rss">add this RSS feed to your podcast player</a><br><br>🦋 <a href="https://bsky.app/profile/justinjackson.ca">Connect with me on Bluesky</a></p></li></ul>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Where are these signups coming from?]]></title>
            <link>https://justinjackson.ca/best-marketing-channels</link>
            <guid>https://justinjackson.ca/best-marketing-channels</guid>
            <pubDate>Thu, 28 Nov 2024 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[When I looked at our best marketing channels, I was surprised.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/daily-signups-blog.png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>Every day in <a href="https://transistor.fm/?via=justin">​Transistor</a>&#039;s #marketing channel in Slack, we track our new trial signups:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/daily-signups.png" alt="/assets/content/daily-signups.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Like most SaaS companies, our growth relies on new people finding us every day.</p><p>Whenever I see these numbers, I ask myself: &quot;Where are these signups coming from?&quot;</p><p>There&#039;s this idea in marketing that we&#039;ll be able to find a &quot;silver bullet&quot; channel that brings in thousands of customers.</p><p>But, when I look at where these signups come from, there&#039;s never one dominant source. Here&#039;s what we saw in August:</p><p><strong>Search (40%):</strong></p><ul><li><p>Google, Bing, DuckDuckGo</p></li><li><p>AI chat tools recommending us</p></li></ul><p><strong>Word of mouth (35%):</strong></p><ul><li><p>Customer referrals</p></li><li><p>Industry partner mentions</p></li><li><p>Integration partner referrals</p></li></ul><p><strong>Content &amp; community (25%):</strong></p><ul><li><p>Blog posts (both ours and others&#039;)</p></li><li><p>Email newsletters</p></li><li><p>Podcast listeners</p></li><li><p>Apple Podcasts Partners page</p></li></ul><p>While organic search is our biggest single channel, what&#039;s striking is how many signups come from small, consistent efforts:</p><ul><li><p>One email to an industry partner led to 10-15 weekly signups</p></li><li><p>Years of Reddit Q&amp;As now influence AI recommendations</p></li><li><p>Building relationships in dev communities (Laravel, Rails) brought loyal customers</p></li><li><p>Our &quot;build in public&quot; podcast still brings weekly signups</p></li></ul><p>Each of these wins started as a simple daily task: sending that partner email, recording a podcast episode, attending Laracon, or answering questions on Reddit.</p><p>The myth is that you need to find one magical marketing channel. The reality is that sustainable growth comes from many small, consistent efforts.</p><p>Our job (as founders, makers, marketers, and bootstrappers) is to wake up every day and do something that pushes the ball forward.</p><p>That&#039;s it.</p><p><em>As I was finishing writing this, I thought: &quot;Justin, a lot of the marketing channels you mentioned play to your strengths (content, community, SEO). I wonder if readers are finding success with other channels you aren&#039;t doing yet.</em></p><p><em>I&#039;m curious: what&#039;s your &quot;marketing sweet spot&quot; when it comes to channels?</em></p><p>Cheers,<br>Justin Jackson<br>🦋 <a href="https://bsky.app/profile/justinjackson.ca">Bluesky</a><br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[The best Bluesky apps, projects, tools I've found]]></title>
            <link>https://justinjackson.ca/best-bluesky-apps</link>
            <guid>https://justinjackson.ca/best-bluesky-apps</guid>
            <pubDate>Thu, 28 Nov 2024 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[A collection of cool apps and projects built on the AT Protocol: analytics tools, dashboards, and custom feed builders.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/content/blueview--2024-11-28-15-22-16.png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p><a href="/twitter-bluesky">Since joining Bluesky</a>, I keep finding cool apps and projects built on the AT Protocol. From analytics dashboards to custom feed builders, here are my current favorite projects built by developers.</p><h2>Bluesky analytics tools</h2><h3>Bluesky Counter</h3><p>URL: <a href="https://blueskycounter.com/justinjackson.ca">https://blueskycounter.com/justinjackson.ca</a></p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://blueskycounter.com/justinjackson.ca" style="background:0;">
  
  <img src="/assets/content/followerschart-2024-11-28.png" alt="/assets/content/followerschart-2024-11-28.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Track (and share) your follower growth on Bluesky.</p><h3>BlueView</h3><p>URL: <a href="https://blueview.app/login">https://blueview.app/</a></p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://blueview.app/" style="background:0;">
  
  <img src="/assets/content/blueview--2024-11-28-15-22-16.png" alt="/assets/content/blueview--2024-11-28-15-22-16.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Track engagement, analyze growth, and better understand your Bluesky audience.</p><h3>ilo.so</h3><p>URL: <a href="https://ilo.so/">https://ilo.so/</a></p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/ilo-dashboard-2024-11-28-16-06-04.png" alt="/assets/content/ilo-dashboard-2024-11-28-16-06-04.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Track your socials and sales from your favorite platforms (Twitter X, Bluesky, Gumroad, Fathom Analytics, Kit).</p><h2>Bluesky link aggregators and readers</h2><h3>SkyDigest</h3><p>URL: <a href="https://skydigest.app/">https://skydigest.app/</a></p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/popular-links-from-your-network---skydigest-2024-11-28-16-30-42.png" alt="/assets/content/popular-links-from-your-network---skydigest-2024-11-28-16-30-42.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Gives you a digest of the most popular links and articles from your Bluesky network. Similar to the Nuzzel link aggregator for Twitter (now closed).</p><h2>Bluesky tools for power-users</h2><h3>deck.blue (TweetDeck alternative)</h3><p>URL: <a href="https://deck.blue/">https://deck.blue/</a></p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://deck.blue/" style="background:0;">
  
  <img src="/assets/content/deck.blue-2024-11-28-15-56-00.png" alt="/assets/content/deck.blue-2024-11-28-15-56-00.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Multi-column layout for Bluesky (very similar to TweeDeck) that allows you to connect multiple accounts and see your mentions, feeds, keywords, etc, all on one page.</p><h3>SkyFeed builder</h3><p>URL: <a href="https://skyfeed.app/">https://skyfeed.app/</a></p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://skyfeed.app/" style="background:0;">
  
  <img src="/assets/content/skyfeed-2024-11-28-16-15-08.png" alt="/assets/content/skyfeed-2024-11-28-16-15-08.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Build custom feeds for Bluesky.</p><h3>ClearSky</h3><p>URL: <a href="https://clearsky.app/">https://clearsky.app/</a></p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://clearsky.app/" style="background:0;">
  
  <img src="/assets/content/monosnap-clearsky-2024-11-30-16-03-51.png" alt="/assets/content/monosnap-clearsky-2024-11-30-16-03-51.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>You can see who a user is blocking, who they&#039;re blocked by, and what lists and starter packs they&#039;re on.</p><h3>Graze.Social</h3><p>URL: <a href="https://www.graze.social/">https://www.graze.social/</a></p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://www.graze.social/" style="background:0;">
  
  <img src="/assets/content/graze-2024-11-28-16-36-58.png" alt="/assets/content/graze-2024-11-28-16-36-58.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Advanced tool for creating (and hosting) custom feeds and algorithms for Bluesky.</p><h2>Stats and facts about Bluesky</h2><h3>Bluesky stats</h3><p>URL: <a href="https://bsky.jazco.dev/stats">https://bsky.jazco.dev/stats</a></p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://bsky.jazco.dev/stats" style="background:0;">
  
  <img src="/assets/content/stats-for-bluesky-by-jaz-(jaz.bsky.social)-2024-11-28-16-19-32.png" alt="/assets/content/stats-for-bluesky-by-jaz-(jaz.bsky.social)-2024-11-28-16-19-32.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Answers questions like: How fast is Bluesky growing? How many users does Bluesky have? How many posts are there on Bluesky?</p><h2>Fun and irreverent Bluesky projects</h2><h3>Termsky.app</h3><p>URL: <a href="https://termsky.app/">https://termsky.app/</a></p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://termsky.app/" style="background:0;">
  
  <img src="/assets/content/termsky-app.png" alt="/assets/content/termsky-app.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Browse Bluesky in the terminal. (<a href="https://youtu.be/ZPq-DOox57c">Video demo</a>)</p><h3>How Tall Is?</h3><p>URL: <a href="https://howtall.is/">https://howtall.is/</a></p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://howtall.is/benholmen.com" style="background:0;">
  
  <img src="/assets/content/how-tall-is-ben-holmen.jpeg" alt="/assets/content/how-tall-is-ben-holmen.jpeg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>A fun project that allows you to guess other Bluesky users&#039; height.</p><h2>Starter Packs listings and directories</h2><ul><li><p><a href="https://blueskydirectory.com/starter-packs/all">Bluesky Directory</a></p></li><li><p><a href="https://www.starterpacks.net/">Starter Packs</a></p></li></ul><h2>Other Bluesky utilities</h2><ul><li><p><a href="https://bsky-tools.dolearning.dev/starter-to-list">Convert a Starter Pack into a List</a></p></li></ul><h2>Other resources</h2><ul><li><p><a href="/twitter-bluesky">Why I deleted Twitter and switched to Bluesky</a></p></li><li><p>Video: <a href="https://youtu.be/KoBxveUG_90">Twitter vs Bluesky – which is better?</a></p></li><li><p><a href="https://www.bluesky-migrate.com/">Bluesky Migration guide</a>: how to transfer everything from Twitter to Bluesky</p></li></ul><p>Cheers,<br>Justin Jackson<br>🦋 <a href="https://bsky.app/profile/justinjackson.ca">Find me on Bluesky</a></p>

</div>
]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Leaving Twitter for Bluesky]]></title>
            <link>https://justinjackson.ca/twitter-bluesky</link>
            <guid>https://justinjackson.ca/twitter-bluesky</guid>
            <pubDate>Sat, 23 Nov 2024 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[After 15 years and 50,000 tweets on Twitter/X, I'm moving to Bluesky, which (in the last month) has become 1,000x more fun than X.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/twitter-to-bluesky.png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p><em>tl;dr – I&#039;ve decided to delete all my Twitter posts, lock down my account, and leave the platform. And <a rel="noopener noreferrer" target="_blank" href="https://preview.convertkit-mail.com/click/dpheh0hzhm/aHR0cHM6Ly9nby5ic2t5LmFwcC85WGk0eHR0">I&#039;m going all-in on Bluesky</a>, which (in the last month) has become 1,000x more fun than X.</em></p><p>I&#039;ve been on Twitter since 2008.</p><p>Since then, I gained 40,000 followers, posted 50,000 times, and built countless relationships. Twitter was my favorite place on the internet. It was the place where everyone hung out (bootstrappers, creators, tech people, devs). It was our water cooler.</p><h2>Twitter isn&#039;t fun anymore</h2><p>When Elon took over, I was worried his leadership <a href="https://justinjackson.ca/musk-twitter-quitter">would ruin it</a>. To me, it feels like the verdict is in. The experience kept getting worse:</p><ul><li><p><a href="https://www.reddit.com/r/Twitter/comments/1eri49j/is_it_just_me_or_are_ads_insane_now/">​Terrible ads​</a></p></li><li><p>Violent/extreme content in the &quot;For You&quot; feed</p></li><li><p>Posts with links being deprioritized</p></li><li><p>Spam everywhere</p></li><li><p><a href="https://lifehacker.com/tech/x-new-ai-training-terms">​X is training their AI on all our posts​</a></p></li><li><p>Dropping free API support</p></li><li><p><a href="https://www.theverge.com/23653556/tweetbot-twitter-api-elon-musk-mastodon">​Prohibiting third-party apps​</a> (Tweetbot, Twitterific)</p></li><li><p>Charging for DMs, verification, etc...</p></li></ul><p>For me, Twitter has degraded significantly since Elon took over.</p><p>That&#039;s why Bluesky&#039;s <a href="https://bsky.app/profile/jay.bsky.team/post/3lbd2eaura22r">recent momentum</a> has been such a breath of fresh air.</p><h2>Bluesky is having its moment</h2><p>There&#039;s real momentum building on Bluesky: in the last month, numerous<a target="_blank" href="https://go.bsky.app/9Xi4xtt"> indie hackers, bootstrappers</a>, and<a target="_blank" href="https://go.bsky.app/3NzQbV3"> Laravel developers</a> have made the switch.</p><p>When I tried it a year ago, it felt dead; today, it feels alive.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a href="https://bsky.jazco.dev/stats" style="background:0;">
  
  <img src="/assets/content/posters-bluesky-big.png" alt="/assets/content/posters-bluesky-big.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>I know what you&#039;re thinking:</p><blockquote><p>&quot;But Justin, I don&#039;t have the energy for another social network...&quot;</p></blockquote><p>I get it! Over the past year, I&#039;ve tried Mastodon and Threads. But neither gave me that &quot;nostalgic Twitter feeling.&quot;</p><p><strong>But Bluesky is different.</strong> Interactions here are genuine, fun, and less performative. It reminds me of how Twitter felt in 2010-2012, before algorithms rewarded engagement farming.</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <div style="display: flex; justify-content: center;">
<blockquote class="bluesky-embed" data-bluesky-uri="at://did:plc:tv4arsk4ic5sqo6expd5ccwu/app.bsky.feed.post/3lbhog25uhc24" data-bluesky-cid="bafyreiecdobto7cf6a2gygnkraeaeathob5dpuo2tdrli47lqfns4ysvsm"><p lang="en">It’s a breath of fresh air over here. I probably will start #buildinpublic again on here. 

Anyone doing it already?</p>&mdash; Daniel Nguyen (<a href="https://bsky.app/profile/did:plc:tv4arsk4ic5sqo6expd5ccwu?ref_src=embed">@danielnguyen.me</a>) <a href="https://bsky.app/profile/did:plc:tv4arsk4ic5sqo6expd5ccwu/post/3lbhog25uhc24?ref_src=embed">November 21, 2024 at 6:29 AM</a></blockquote><script async src="https://embed.bsky.app/static/embed.js" charset="utf-8"></script>
</div>
</div>
<div class="block-text max-w-md mx-auto">
    <h2>Why Bluesky is better</h2><blockquote><p>&quot;It&#039;s weird being on a social media platform where people are actually just posting about the things they like and having fun and making jokes. That&#039;s what I&#039;ve been appreciating about it.&quot; – <a href="https://bsky.app/profile/joshuawood.net">​Josh Wood​</a>, <a href="https://www.honeybadger.io/">​Honeybadger​</a></p></blockquote><p>Here are a bunch of reasons I&#039;m having more fun on Bluesky than I have on X in years:</p><ol start="1"><li><p><strong>It feels alive and fun again.</strong> Remember when social media was about hanging out and sharing cool stuff? That&#039;s what Bluesky feels like right now.</p></li><li><p><strong>The interactions are better.</strong> Engagement on Twitter has gone downhill. On Bluesky, I regularly meaningful replies from lots of people.</p></li><li><p><strong>No algorithm to please.</strong> You can post links without them being suppressed. You can be weird and real. There&#039;s no pressure to &quot;perform for the algorithm.&quot;</p></li><li><p><strong>Better experience, and less cruft.</strong> No awful ads shoved in your face. No &quot;what&#039;s trending&quot; in your sidebar. Very little spam.</p></li><li><p><strong>Developer friendly.</strong> What made early Twitter fun was devs building cool stuff on top of it. <a href="https://docs.bsky.app/">​That&#039;s happening now on Bluesky​</a>. People are building all sorts of <a href="https://swearsky.bagpuss.org/">​weird​</a>, <a href="https://nightsky.hctr.dev/">​wonderful​</a> stuff on top of it.</p></li></ol><p>And because of all this good stuff, <a href="https://bcounter.nat.vg/">​Bluesky is growing like crazy​</a>.</p><p>A lot of this is because of a feature called Starter Packs that allows you to find people in your community to follow quickly. For example, here&#039;s one I made featuring &quot;<a href="https://go.bsky.app/9Xi4xtt">​Founders and Makers</a>:&quot;</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://go.bsky.app/9Xi4xtt" style="background:0;">
  
  <img src="/assets/content/founders-makers-bluesky-starter-pack.png" alt="/assets/content/founders-makers-bluesky-starter-pack.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>And here&#039;s another one for the <a href="https://go.bsky.app/3NzQbV3">​Laravel dev community</a>.</p><h2>Right now, Bluesky is a great place to build an audience</h2><p>Because of their explosive growth (they&#039;ve been adding over a million users per day over the last 4-5 days) and these Starter Packs, active users on Bluesky are gaining a ton of followers right now.</p><p>Here&#039;s <a href="https://bsky.app/profile/justinjackson.ca/post/3lbiahe7l4k27">​my follower graph​</a> over the past month:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://bsky.app/profile/justinjackson.ca/post/3lbiahe7l4k27" style="background:0;">
  
  <img src="/assets/content/mijustin-bluesky-followers.png" alt="/assets/content/mijustin-bluesky-followers.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>People on Bluesky are hungry for something different. They&#039;re actively seeking genuine interactions.</p><p>This is why engagement is high right now. Instead of people mindlessly scrolling a rage-inducing &quot;For You&quot; feed, folks are actively looking for interesting people to follow.</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <blockquote class="bluesky-embed mx-auto" data-bluesky-uri="at://did:plc:g4cy27o52eubmrpq3qj3uw4q/app.bsky.feed.post/3l7tns6kbmo2z" data-bluesky-cid="bafyreiaiwwiz72qhsucocq6qb5w7dwcsruquzqhws2kftmplk3iki5gobe"><p lang="en">I wasn&#x27;t huge on Twitter but I still find it liberating. The people that decide to follow me now do so because of things I&#x27;m posting right now, not things I might have posted years ago.</p>&mdash; Kai Sassnowski (<a href="https://bsky.app/profile/did:plc:g4cy27o52eubmrpq3qj3uw4q?ref_src=embed">@sassnow.ski</a>) <a href="https://bsky.app/profile/did:plc:g4cy27o52eubmrpq3qj3uw4q/post/3l7tns6kbmo2z?ref_src=embed">October 31, 2024 at 2:59 PM</a></blockquote><script async src="https://embed.bsky.app/static/embed.js" charset="utf-8"></script>
</div>
<div class="block-text max-w-md mx-auto">
    <h2>Getting started on Bluesky</h2><p>It&#039;s pretty easy to get started:</p><ol start="1"><li><p><a href="https://bsky.app/">​Sign up for an account​</a></p></li><li><p>Fill out your profile</p></li><li><p>Post a <a href="https://bsky.app/profile/leenyburger.bsky.social/post/3lawjuuxwrs2r">​welcome message​</a></p></li><li><p>Follow some <a href="https://bsky.app/starter-pack/mijustin.bsky.social/3l74xoue4oa2q">​starter packs​</a></p></li></ol><p>There&#039;s already a bunch of great resources for switching to Bluesky:</p><ul><li><p><a href="https://www.bluesky-migrate.com/">​Bluesky Migrate​</a> – a simple guide on how to migrate to <a href="https://bsky.app/">​Bluesky</a> from X.</p></li><li><p><a href="https://www.starterpacks.net/">​Starterpacks.net​</a> and <a href="https://blueskydirectory.com/starter-packs">​Bluesky Directory</a> help you find Starter Packs to follow.</p></li><li><p><a href="https://bsky.social/about/blog/4-28-2023-domain-handle-tutorial">​Use your custom domain as your username​</a></p></li></ul><h2>Bluesky: it&#039;s different this time</h2>

</div>
<div class="block-embed max-w-lg mx-auto">
    <style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin-bottom:25px; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class='embed-container'><iframe src='https://www.youtube.com/embed/KoBxveUG_90?rel=0' frameborder='0' allowfullscreen></iframe></div>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Bluesky is built on an <a href="https://steveklabnik.com/writing/how-does-bluesky-work">open protocol</a>. Technically, this should mean that no single company can take control and ruin the experience.</p><p>The team at Bluesky is led by an incredible female CEO, <a href="https://bsky.app/profile/jay.bsky.team">​Jay Graber</a>. By every account, she seems principled, fair, and committed to the open web.</p><p>Her team is small (about 20 people), but they&#039;re executing incredibly well. They&#039;ve added features like custom feeds, advanced moderation tools, and more.</p><p>For me, Bluesky represents a chance to start fresh: to build a social media experience that&#039;s actually <em>social</em> again.</p><p>My advice? Don&#039;t focus on &quot;performing;&quot; just hang out and post fun stuff. Feel free to be weird and real.</p><p>Cheers, <br>Justin Jackson <br>Follow me on Bluesky: <a href="https://bsky.app/profile/justinjackson.ca">​@mijustin.bsky.social</a></p><p>PS: my friends Josh and Ben over at Honeybadger <a href="https://www.founderquestpodcast.com/episodes/why-does-bluesky-love-alf-so-much">did a great episode on Bluesky</a>. You should listen!</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <iframe width="100%" height="180" frameborder="no" scrolling="no" seamless="" src="https://share.transistor.fm/e/ad63e203?color=FFFFFF&background=30343C"></iframe>
</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[The pipeline problem]]></title>
            <link>https://justinjackson.ca/summer-project</link>
            <guid>https://justinjackson.ca/summer-project</guid>
            <pubDate>Sat, 21 Sep 2024 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[Here's a story about how Laravel/Rails might fix the "pipeline problem:" by hiring new grads to build the awesome tools we've always wanted.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/hire-jr-dev-make-something-great.jpg" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p><em>Here&#039;s a story about how Laravel/Rails might fix the &quot;pipeline problem:&quot; by hiring new grads to build the awesome tools we&#039;ve always wanted. Here&#039;s what happened...</em></p><h2>The Pipeline Problem</h2><p>A while back, <a href="https://x.com/mijustin/status/1831025386010136817">​I tweeted​</a> about how Rails and Laravel have a &quot;pipeline problem:&quot;</p><ul><li><p>Young devs aren&#039;t learning Laravel/Rails in bootcamps or college</p></li><li><p>They&#039;re learning JavaScript, React, and Next.js instead</p></li><li><p>This creates a cycle: we want experienced devs but aren&#039;t cultivating new talent</p></li></ul>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/hard-to-find-devs.png" alt="/assets/content/hard-to-find-devs.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>On the <a href="https://megamaker.co">​MegaMaker Slack</a>, people mentioned another challenge for young developers: even senior developers are having difficulty getting work in this economy. It&#039;s even harder for a junior developer to get hired, which means they&#039;re not getting the experience they need to start their careers.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://www.wsj.com/tech/tech-jobs-artificial-intelligence-cce22393" style="background:0;">
  
  <img src="/assets/content/wsj-software-engineer-employement-index.png" alt="/assets/content/wsj-software-engineer-employement-index.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <h2>Enter Ferdinand</h2><p>I met <a href="https://ferdinand737.github.io/profile-page/">​Ferdinand</a> at a hack night where he showed me a bot he&#039;d built for Discord that could <a href="https://youtu.be/XEEQ-xFTHzo?si=B1j_sBhNNXDlHMhH&amp;t=23">synthesize my voice using AI</a>.</p><p>Ferdinand graduated with his CompSci degree last June. He had done dozens of interviews, but nobody was hiring.</p><p>I knew that without experience, it would be difficult for him to get that first gig.</p><p>This gave me an idea: <strong>using my own money, I would hire Ferdinand for the summer to build me a Laravel app I&#039;ve wanted for a while</strong>.</p><p>The aim was to get him to experience building a fully functional SaaS app (with Stripe billing) using Laravel, Alpine, Livewire, and Tailwind.</p><h2>The SwagFan project</h2><p>At <a href="https://transistor.fm/?via=justin">​Transistor​</a>, we&#039;ve found that giving away free t-shirts and hats is a great way to promote our brand. When folks receive something from us, they share pictures on social media.</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <blockquote class="twitter-tweet tw-align-center"><p lang="en" dir="ltr">One step closer to having an entire wardrobe comprised of podcast shirts<br><br>Thanks <a href="https://twitter.com/TransistorFM?ref_src=twsrc%5Etfw">@TransistorFM</a> 😉 <a href="https://t.co/KWC1he4blE">pic.twitter.com/KWC1he4blE</a></p>&mdash; Stephen Robles (@stephenrobles) <a href="https://twitter.com/stephenrobles/status/1699474856251625667?ref_src=twsrc%5Etfw">September 6, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</div>
<div class="block-text max-w-md mx-auto">
    <p>These posts provide Transistor with great PR, social proof, testimonials, and goodwill.</p><p>We&#039;ve been using <a href="https://www.printful.com/a/30546:3ad08bb331312cb3c38361d019d03814">​Printful</a> to create merch and handle shipping and fulfillment. However, Printful doesn&#039;t offer a way to give away swag or run a storefront.</p><p>I wanted an app where I could send people a link, let them choose their swag, select their size, enter their shipping details, and have Printful handle the rest.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/swag-fan-link.png" alt="/assets/content/swag-fan-link.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p><strong>So, the web app I hired Ferdinand to build me was a tool to simplify the process of giving away branded swag.</strong></p><p>We called it SwagFan.</p><p>Here&#039;s the crazy part: Ferdinand had never built a project in Laravel before and completed most of it in six weeks.</p><p>A few days ago, I did a quick demo on a livestream:</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class='embed-container'><iframe src='https://www.youtube.com/embed/DmJU5RGyBSo?rel=0' frameborder='0' allowfullscreen></iframe></div>
</div>
<div class="block-text max-w-md mx-auto">
    <h3>Here&#039;s how it works:</h3><ol start="1"><li><p>You connect your Printful store</p></li><li><p>You create a swag giveaway link</p></li><li><p>You choose which products you want to offer</p></li><li><p>You share the link with fans/customers</p></li><li><p>They pick their items, sizes, shipping info</p></li><li><p>Printful handles printing and shipping automatically</p></li></ol><p>I&#039;m excited about this for a few reasons:</p><ol start="1"><li><p>It solves a real problem we&#039;ve had at Transistor</p></li><li><p>It gave Ferdinand awesome real-world dev experience</p></li><li><p>It demonstrates Laravel&#039;s strengths for building SaaS apps quickly</p></li></ol><h2>What&#039;s Next</h2><p><strong>We plan to launch it publicly in the next few weeks.</strong></p><p>I want Ferdinand to experience the entire cycle of conceptualizing, building, and shipping a functional SaaS. It will be invaluable to him as a dev and give him a taste of what it&#039;s like to be an indie hacker.</p><p>(It will be $99/year for early access users)</p><h2>What do you think?</h2><p>I&#039;m curious what you think about the Laravel/Rails &quot;pipeline problem&quot; and if hiring juniors for projects like this might be a good solution.</p><p>Want to be one of our first users? Sign up here for a 14-day free trial: <a href="https://app.swagfan.com/register/1">​https://app.swagfan.com/register/1​</a></p><p>(We already have two people signed up, and Ferdinand is stoked!)</p><p>Cheers,<br>Justin Jackson<br><br>Connect with me on:<br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a><br>🧵 <a href="https://www.threads.net/@mijustin">Threads</a><br>🐦 <a href="https://twitter.com/mijustin">Twitter</a></p><p>P.S. Ferdinand is now looking for his first full-time tech job. I can personally vouch for him: he&#039;s a fast learner, works independently, and quickly grasps web app concepts. If you&#039;re interested in offering him a FT position (good bosses only!), check out his resume: <a href="https://ferdinand737.github.io/profile-page/">​https://ferdinand737.github.io/profile-page/​</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

<div class="block-text max-w-md mx-auto">
    <p></p>

</div>
]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[It's not just B2C vs B2B anymore]]></title>
            <link>https://justinjackson.ca/beyond-b2c-b2b</link>
            <guid>https://justinjackson.ca/beyond-b2c-b2b</guid>
            <pubDate>Wed, 24 Jul 2024 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[B2C/B2B fails to capture the diverse range of SaaS customers: consumers, prosumers, SMBs, large biz, enterprise. You can serve many simultaneously!]]></description>
            
            <media:content url="https://justinjackson.ca/assets/content/b2many-one-product-can-serve-multiple-segments.png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <h2>My story: &quot;I must build a B2B SaaS&quot;</h2><p>When Jon and I started <a href="https://transistor.fm/?via=justin">Transistor</a>, a podcast-hosting platform, we followed the common bootstrapper wisdom: </p><p><strong>&quot;Don&#039;t build a B2C product; build for B2B. Consumers are a pain to support, have high churn, and low LTV.&quot;</strong></p><p>We aimed to create the &quot;WPEngine for podcast hosting&quot; (WPEngine being a WordPress hosting platform targeting brands, businesses, and agencies).</p><p>Our initial slogans reflected this B2B focus: &quot;The best way to create a podcast for your business&quot; and &quot;Podcast hosting for brands.&quot;</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/transistor-|-podcast-hosting-and-metrics-2024-07-24-17-12-01.png" alt="/assets/content/transistor-|-podcast-hosting-and-metrics-2024-07-24-17-12-01.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Then, I received a revealing DM from <a href="https://aliabdaal.com/">Ali Abdaal</a>, a YouTuber who had signed up to do <a href="https://notoverthinking.com/">a podcast with his brother</a>:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/chats--instagram-2024-07-24-17-18-15.png" alt="/assets/content/chats--instagram-2024-07-24-17-18-15.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>&quot;When I was deciding who to use for podcast hosting,&quot; Ali said, &quot;Transistor was the first thing that came to mind, but the brand-focused messaging made me hesitant.&quot;</p><p>His message concerned me: <strong>was our B2B emphasis scaring away potential customers?</strong></p><p>After considering Ali&#039;s feedback, we broadened our approach and adopted the more inclusive tagline &quot;Your podcast&#039;s publishing platform.&quot;</p><p>The result? Our monthly trials doubled.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/billing-overview--transistor.fm--stripe-2024-07-24-17-28-04.png" alt="/assets/content/billing-overview--transistor.fm--stripe-2024-07-24-17-28-04.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>We&#039;ve since seen strong signups from diverse customer types beyond our initial B2B focus.</p><p><strong>We realized that hobbyists, prosumers, and businesses all wanted the same thing from a podcast host:</strong> an easy way to upload, publish, and distribute their podcasts to Apple Podcasts, Spotify, YouTube, etc.</p><p>By exclusively targeting B2B, we had inadvertently excluded many potential Transistor customers!</p><p>Today, we serve over 33,000 users. I estimate our customer base as 30% hobbyists, 30% prosumers, 30% SMBs, and 10% enterprise companies, governments, and large non-profits.</p><p>Interestingly, our revenue breakdown challenges conventional wisdom. Some solopreneurs and smaller partnerships pay us significantly more than our enterprise customers! For us, a hobbyist&#039;s LTV can far exceed an SMB&#039;s.</p><p>Despite a large B2C user base, the fears about serving these customers proved unfounded:</p><ul><li><p>Churn is low (fluctuates between 1.9% - 2.6%)</p></li><li><p>Trial to paid conversion rate is 70-80%</p></li><li><p>Customer support levels are manageable (and we offer live chat)</p></li></ul><p>In fact, churn rates for our lowest-priced plan don&#039;t significantly differ from our highest-priced plans. For annual subscriptions, the churn rate for the $190/year plan nearly matches that of higher-priced tiers.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/monthly-churn-rates.png" alt="/assets/content/monthly-churn-rates.png" />
  
</a>
</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/annual-churn-rates.png" alt="/assets/content/annual-churn-rates.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>We&#039;re not alone in this approach. MailChimp, Carrd, Fathom Analytics, Laravel Forge, and Tailwind UI all cater to a diverse range of customers, from individual consumers to enterprises.</p><h2>With SaaS, what distinguishes the B2B approach from B2C?</h2><p>The common advice from startup gurus is: <strong>&quot;If you&#039;re starting a SaaS, focus on B2B, not B2C.&quot;</strong> </p><p>For centuries, meaningful distinctions have existed between how businesses serve consumers (B2C) and how they serve businesses (B2B). The idea is that there are meaningful differences in how one targets, sells to, acquires, and serves a consumer vs a business. But what about now?</p><p>When you ask ChatGPT to list the attributes of each approach, many of the characteristics of B2C can also apply to B2B SaaS.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/b2c-attributes-apply-to-b2b.png" alt="/assets/content/b2c-attributes-apply-to-b2b.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Surveying these attributes, I come to the following conclusions:</p><ol start="1"><li><p><strong>The &quot;B2B&quot; term is too expansive to be useful.</strong> When we say &quot;B2B,&quot; are we equating a solopreneur using Trello to a Fortune 500 company spending $30k/year on Jira? Are we lumping indie creators spending $10/month with the government agency spending $1 million/year? There&#039;s a spectrum of &quot;business&quot; customers.</p></li><li><p><strong>The rise of prosumers, solopreneurs, and &quot;very small businesses&quot; is significant.</strong> Today, anyone with a laptop and internet connection can start a business. There are many of them: freelancers, indie hackers, digital nomads, solopreneurs, tiny teams, creators, and influencers. These folks are technically &quot;B2B&quot; but act more like consumers when purchasing. </p></li><li><p><strong>The line between B2C and B2B is blurring in SaaS.</strong> Quick decisions, single decision-makers, and transparent pricing aren&#039;t just B2C traits anymore. Many B2B customers (even in the enterprise!) buy software this way. </p></li><li><p><strong>Today, you can serve multiple types of customers with the same product. </strong>It&#039;s possible to serve B2C and B2B customers simultaneously because their behavior and expectations are increasingly similar.</p></li></ol><h2>Beyond B2C and B2B: The Full Spectrum of SaaS Customers</h2><p>The traditional B2C/B2B categories fail to capture the diverse range of SaaS customers. In reality, we&#039;re dealing with a much broader continuum:</p><ul><li><p>Consumers</p></li><li><p>Prosumers</p></li><li><p>Solopreneurs</p></li><li><p>SMBs</p></li><li><p>Large businesses</p></li><li><p>Enterprises</p></li><li><p>Governments</p></li><li><p>Non-Profits</p></li></ul><p>Your SaaS might cater to just one of these segments or serve several simultaneously. Let&#039;s break down each type.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/spectrum-of-customer-types.png" alt="/assets/content/spectrum-of-customer-types.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <h3>Business-to-Consumer (B2C)</h3><p>B2C describes businesses that sell products or services directly to individual consumers for personal use. This encompasses a broad scope, from casual, low-cost purchases to high-value products catering to passionate hobbyists and enthusiasts.</p><p>I&#039;ll also say that I don&#039;t think &quot;B2C SaaS is always a bad idea.&quot; It depends on the volume of interest, willingness to pay, and the cost to produce the product and serve the customer.</p><p>For example, there&#039;s a difference between someone paying $0.99 for a weather app and a skier paying $32/year on <a href="https://opensnow.com/allaccess">OpenSnow</a>. In this case, OpenSnow has built a good business serving these &quot;high-value B2C hobbyists&quot; because skiers spend thousands/per year on equipment and lift tickets, and $32 seems affordable.</p><p>A &quot;passionate hobbyist consumer&quot; might be a worthwhile market to target (assuming the market fundamentals are solid).</p><h3>Business-to-Prosumer (B2P)</h3><p><a href="https://en.wiktionary.org/wiki/prosumer#Etymology_2">Wikipedia</a> defines a prosumer as &quot;a serious, enthusiastic consumer: not professional (earning money), but of similar interest and skills to a (generally lower level) professional, or aspiring to such. The target market of <em>prosumer</em> equipment.&quot;</p><p>However, <a href="https://justinjackson.ca/prosumers">the term has also evolved to mean</a> &quot;individuals who straddle the line between consumers and producers. They&#039;re often incentivized to invest in products and services with the dream of earning a side income.&quot;</p><p>For me, the key element that distinguishes a Prosumer from a consumer is that <strong>they view their purchases as investments rather than mere expenses. </strong>They hope their pursuits will generate income someday, which fuels their desire to invest in tools, equipment, courses, and resources.</p><p>YouTubers, DJs, TikTokers, photographers, musicians, artists, podcasters, and indie game developers could all be Prosumers.</p><h3>Business-to-Solopreneur (B2Solopreneur)</h3><p>Solopreneurs often represent the next evolution of a prosumer: when their passion starts generating income.</p><p>Picture this journey:</p><ol start="1"><li><p>An EDM fan gets interested in DJing</p></li><li><p>They invest in equipment and hone their skills</p></li><li><p>They start playing free gigs to gain experience</p></li><li><p>Eventually, they graduate to paid gigs like weekend weddings</p></li><li><p>Finally, they might land a full-time gig at a club</p></li></ol><p>The solopreneur category is incredibly diverse, especially in terms of revenue. It includes:</p><ul><li><p>YouTubers who are just starting to monetize, perhaps earning $50 a month</p></li><li><p>Freelance designers making a comfortable living</p></li><li><p>Indie hackers like <a href="https://twitter.com/levelsio">Pieter Levels</a>, who earns millions from multiple streams of income</p></li></ul><p>Solopreneurs can be lucrative customers. For example, Pieter Levels <a href="https://twitter.com/levelsio/status/1804921154102083605">pays Replicate $25,000 monthly</a> to use their AI API.</p><h3>Business-to-Small-Medium-Business (B2SMB)</h3><p>In my opinion, this category is too broad and encompasses sub-categories with meaningful differences that should be broken down further:</p><ul><li><p><strong>Very small businesses:</strong> teams of 2-10. These can be small design firms, software companies, retail shops, law offices, or partnerships. It&#039;s estimated that about 80% or more of businesses in North America have fewer than ten employees.</p></li><li><p><strong>Small business:</strong> companies with 11-50 employees.</p></li><li><p><strong>Medium businesses: </strong>companies with 50-500 employees. </p></li><li><p><strong>Large businesses: </strong>companies with 500-1,000 employees.</p></li></ul><p>In some product categories, you can reach some or all of these customers with the same go-to-market strategy. Other categories (like CRM software for large businesses) might require a targeted approach.</p><h3>Business-to-Enterprise (B2E)</h3><p>&quot;Enterprise customers&quot; are typically defined as having 1,000 or more employees. </p><p>But it&#039;s not just about size - it&#039;s also about the complexity of needs and buying processes. These organizations have dedicated procurement teams, multi-layered approval processes, and large budgets.</p><p>If you&#039;re targeting an Enterprise sales model, you&#039;ll need to play their game: hire salespeople, conform to a long sales cycle, and negotiate every contract.</p><p>However, if you&#039;re targeting multiple customer types with the same product, you can get Enterprise users to sign up the same way a consumer would: self-serve with a credit card.</p><h2>Enter &quot;B2Many&quot;</h2><p>Startups like Canva, ChatGPT, Trello, Slack, and Notion don&#039;t just serve one segment (B2C, B2SMB, B2Non-profit). Instead, they serve multiple customer types with a single, versatile product.</p><p><strong>I call this approach &quot;B2M&quot; or &quot;B2Many.&quot;</strong></p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/slack-canva-transistor-tailwind-carrd-mailchimp-tailwind-b2many.png" alt="/assets/content/slack-canva-transistor-tailwind-carrd-mailchimp-tailwind-b2many.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Canva perhaps best exemplifies the B2M approach. It started by targeting consumers. However, those same consumers quickly started bringing Canva into their office jobs, retail shops, freelance gigs, government agencies, and enterprise businesses.</p><p>Today, Canva has 185 million users and $2.3 billion in ARR. Their product serves everyone from individual hobbyists to Fortune 500 companies. This is the kind of scale that B2M can create.</p><h2>What is B2Many?</h2><p>B2M upends the old B2C/B2B convention and acknowledges that a single product can serve multiple customer types: consumers, prosumers, businesses, enterprises, governments, and non-profits.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/b2many-one-product-can-serve-multiple-segments.png" alt="/assets/content/b2many-one-product-can-serve-multiple-segments.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>The B2M approach mirrors what we&#039;ve seen with the <a href="https://en.wikipedia.org/wiki/Bring_your_own_device">BYOD</a>, <a href="https://en.wikipedia.org/wiki/Consumerization_of_information_technology">Consumerization of IT</a>, and <a href="https://www.cloudflare.com/learning/access-management/what-is-shadow-it/">Shadow IT</a> movements that upended the enterprise market. The iPhone is a great B2C device that has also replaced BlackBerry in the B2B context.</p><blockquote><p>B2C, B2Prosumer, B2SMB, B2B, and B2E users want the same thing: a simple, user-friendly product that gets the job done.</p></blockquote><h3>The Gmail example</h3><p>Another example is Gmail: it&#039;s a popular product that serves a spectrum of customers.</p><p>Consumers get access to the same functionality (for free) that enterprise customers pay for (email, Documents, Sheets, and Drive).</p><p>The UX for a consumer and an enterprise employee is essentially the same. The only difference is that enterprise customers get administrative tools layered on top.</p><p>For Gmail, consumer awareness drove top-of-the-funnel demand for their business and enterprise products. Consumers who used the GSuite at home gradually recommended that IT adopt it at work.</p><h3>Benefits of the B2Many approach</h3><p>The Gmail example shows how B2Many taps into the power of bottom-up adoption. </p><p>This happened for us at <a href="https://transistor.fm/?via=justin">Transistor</a> as well: many customers started using us for a personal podcast and later recommended us to their boss. This is how we acquired many of our enterprise, government, and non-profit customers.</p><p>By targeting multiple segments with a single product, companies can:</p><ul><li><p><strong>Diversify revenue streams</strong>: reduce your dependency on any single market and smooth out seasonal fluctuations that might affect certain segments.</p></li><li><p><strong>Achieve faster growth through word-of-mouth across segments:</strong> consumers and folks with side projects become advocates for your product when they go to the office.</p></li><li><p><strong>Increase the lifetime value of customers: </strong>users &quot;grow&quot; with your product (consumer, to prosumer, to SMB, to enterprise).</p></li></ul><p>In our experience, having a broad user base also helps us improve usability. We know our product is used by all sorts of folks in different contexts, so our UX has to be simple and clear.</p><h3>Challenges of the B2Many approach</h3><p>Serving multiple segments isn&#039;t without challenges:</p><ul><li><p>You have to balance features for different user types.</p></li><li><p>Marketing to diverse audiences can be challenging, especially when creating headlines and campaigns that aren&#039;t overly generic.</p></li><li><p>Pricing can also be tricky. You need to offer a lower entry price for consumers and prosumers but have a pricing model that can scale up to enterprise customers.</p></li></ul><h2>Addressing the critics</h2><p>As I&#039;ve shared these ideas with others, here are some critiques I hear.</p><h4>&quot;I don&#039;t buy it. I think everything right of Prosumer is just B2B.&quot;</h4><p>The line between &quot;consumer&quot; and &quot;small business&quot; is blurry. Is a YouTuber a consumer or an &quot;aspirational business owner?&quot; What about a freelance writer or a hobby podcaster? The prosumer movement is changing traditional definitions: users often start as consumers and evolve into businesses over time.</p><p>Also, the traditional B2B attributes (long sales cycles, demos, etc.) don&#039;t apply to modern, self-serve software products. The buying process looks more like B2C: individual buyers with a credit card decide what to buy based on personal preference, brand, friendship groups, etc.</p><p>Products like Canva, ChatGPT, and MailChimp succeeded by breaking out of the traditional B2B mold and serving a broader spectrum of users (consumers up to enterprise users) with a single, versatile product.</p><h4>&quot;Aren&#039;t Mailchimp and Slack B2B products? Do consumers use those products?&quot;</h4><p>When Mailchimp switched to freemium in 2009, it enabled consumers to start using them for a variety of reasons:</p><ol start="1"><li><p><strong>Personal Event Invitations (weddings, etc)</strong>: many people use MailChimp to manage invites, updates, and follow-ups for personal events like <a href="https://mailchimp.com/resources/how-to-make-free-wedding-website/">weddings</a>, <a href="https://destinationreunions.com/winning-at-the-reunion-communication-cycle/">family reunions</a>, or <a href="https://www.boom-online.co.uk/blog/using-mailchimp-to-plan-a-party-wedding/">birthday parties</a>.</p></li><li><p><strong>Community Groups and Clubs</strong>: Members of book clubs, running clubs, or <a href="https://interpodia.com/5-must-use-marketing-emails-for-sport-clubs/">local sports teams</a> use MailChimp to distribute newsletters, coordinate events, and share updates about group activities.</p></li><li><p><strong>Personal newsletters</strong>: for years, I used MailChimp to send my family&#039;s annual Christmas newsletter update.</p></li></ol><p>Slack experienced a similar effect. This year, the <a href="https://www.nytimes.com/2024/05/12/business/relationships-trello-slack-notion.html">NYT reported couples using Slack</a> &quot;to maintain their relationship.&quot; In 2015, <a href="https://www.fastcompany.com/3046889/slack-with-friends-lovers-and-geeks-how-the-hot-workplace-app-is-getting-perso">Fast Company wrote</a>: </p><blockquote><p>&quot;Users have appropriated the platform for extracurricular use cases like staying in touch with groups of friends, backchanneling at events, and creating chat rooms around interests like books or entrepreneurship–or dating.&quot;</p></blockquote><h4>&quot;You&#039;re ignoring meaningful differences between B2C and B2B. For example, individuals and smaller companies are usually OK with paying by card after a free trial. Larger companies need invoices to pay upfront.&quot;</h4><p>I understand these distinctions can exist, but they&#039;re not present in every product category.</p><p>My company, Transistor, offers <a href="https://transistor.fm/how-to-start-a-podcast/?via=justin">podcast hosting</a>. Our customers include hobbyists, prosumers, SMBs, big enterprise customers, and the federal government.</p><p>Sure, we&#039;ve had enterprise companies and governments request SOC2, ISO, security reviews, payment by invoice, and dedicated customer support. In every case, we&#039;ve pushed back and said:</p><ul><li><p>Our product is a self-serve subscription</p></li><li><p>Payment is by credit card (we don&#039;t do invoice payments)</p></li><li><p>You have to sign our standard terms of use (the one exception is we have <a href="https://transistor.fm/government/">separate standard terms for government agencies</a>)</p></li><li><p>You can use our standard customer support channels (live chat, email)</p></li><li><p>We don&#039;t do ad-hoc security questionnaires. We have a standard set of <a href="https://transistor.fm/security/">security details</a>. If something&#039;s not covered there, they can contact our live support.</p></li></ul><p>In most cases, big customers are willing to sign up the same way as individual customers. They get the same product for the same price, and they upgrade if they need more features (monthly downloads, more private podcast subscribers).</p><p>Notably, the customers who pay us the most are not necessarily the biggest companies! Many 2-10-person companies pay us significantly more than our enterprise customers. Folks <a href="https://saas.transistor.fm/episodes/pricing-transistor">pay for the value they receive</a> (regardless of how large their headcount is).</p><h2>For your next startup, consider moving beyond B2C/B2B</h2><p>Founders shouldn&#039;t preclude themselves from exploring any target customer, whether B2C, B2Prosumer, B2B, or otherwise. If you have the insight to <a href="https://opensnow.com/allaccess">sell snow forecasts to skiers</a>, you should probably pursue that opportunity.</p><p>You don&#039;t need to pigeonhole yourself into a single category. At Transistor, we earn revenue from multiple customer types: hobbyists, prosumers, SMBs, and bigger organizations.</p><p>Let me be clear: I&#039;m not advocating that every SaaS founder should pursue a B2M strategy. The right approach depends entirely on your product and market. Sometimes, focusing on a specific B2B segment is exactly what you should do.</p><p>Instead, I&#039;m trying to communicate two ideas:</p><ol start="1"><li><p><strong>The B2C vs. B2B narrative is too simplistic to be useful.</strong> It&#039;s time we recognized that the attributes often ascribed to B2C—like shorter sales cycles, single decision-makers, and price sensitivity—frequently apply to B2B segments, especially when referring to prosumers, creators, solopreneurs, and SMBs.</p></li><li><p><strong>In the right product category, serving multiple customer types is an incredible business model.</strong> B2M has enabled my team to build a versatile, 7-figure business that serves a spectrum of users. We&#039;ve done this without experiencing most of the downsides often prescribed to B2C: high churn, high support costs, etc.</p></li></ol><p>With the rise of product-led growth and the consumerization of enterprise software, we&#039;re witnessing the blurring of B2C and B2B boundaries. MailChimp&#039;s $12 billion sale to Intuit, the largest acquisition of a bootstrapped startup, is a testament to the potential of this approach.</p><p>Rather than limiting yourself to a narrow definition of &quot;business&quot; or &quot;consumer,&quot; consider how your SaaS might simultaneously serve multiple types of customers.</p><p>Cheers,<br>Justin Jackson<br><br>Connect with me on:<br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a><br>🧵 <a href="https://www.threads.net/@mijustin">Threads</a><br>🐦 <a href="https://twitter.com/mijustin">Twitter</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

<div class="block-text max-w-md mx-auto">
    <p><em>Thanks to <a href="https://www.kylefox.com/">Kyle Fox</a> for coming up with the &quot;B2Many&quot; label. I originally called this concept &quot;B2Spectrum.&quot;</em></p>

</div>
]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Investment loops in SaaS onboarding]]></title>
            <link>https://justinjackson.ca/investment-loops</link>
            <guid>https://justinjackson.ca/investment-loops</guid>
            <pubDate>Fri, 28 Jun 2024 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[Use this marketing strategy to reduce friction and let users experience value before signing up. Leverage psychology to boost conversion rates.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/investment-loops-in-saas.jpg" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p><em>Here&#039;s a SaaS marketing strategy for converting and activating new customers.</em></p><p>My friends Aaron and Steve just launched a new course (<a href="https://highperformancesqlite.com/">High Performance SQLite</a>), and I like their strategy for converting and activating new customers.</p><h2>&quot;Give them a taste!&quot; </h2><p>When you land on their homepage, you can either click &quot;Buy Now&quot; or &quot;Start Watching.&quot;</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://highperformancesqlite.com/" style="background:0;">
  
  <img src="/assets/content/home---high-performance-sqlite---high-performance-sqlite-2024-06-28-16-51-28.png" alt="/assets/content/home---high-performance-sqlite---high-performance-sqlite-2024-06-28-16-51-28.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>If you click &quot;start watching,&quot; you&#039;re immediately taken into the course; no signup or credit card is required.</p><p>You can watch the first two modules (Introduction, SQLite Internals) for free. It&#039;s only once you&#039;ve progressed to the &quot;Schema&quot; module that they ask you to pay.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://highperformancesqlite.com/watch/flexible-types" style="background:0;">
  
  <img src="/assets/content/flexible-types---high-performance-sqlite-2024-06-28-16-58-20.png" alt="/assets/content/flexible-types---high-performance-sqlite-2024-06-28-16-58-20.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <h2>Investment loops and SaaS</h2><p>An &quot;investment loop&quot; in user onboarding occurs when users start using the product with a low-friction entry point (no signup form). As they progress through the onboarding, they become more likely to continue using the product. Only once they&#039;re sufficiently invested do you ask them to sign up with email (and perhaps their credit card).</p><p>I think SaaS marketers should be doing this more often: </p><ol start="1"><li><p>Have people click &quot;get started&quot; and immediately bring them into your app (don&#039;t even ask for an email).</p></li><li><p>Only ask for signup info once they&#039;ve started making some progress. &quot;Sign up to continue.&quot;</p></li></ol><p>The goal is to reduce activation friction, give people a taste of your app, and get them in motion, moving towards their goal.</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class='embed-container'><iframe src='https://www.youtube.com/embed//cyDl6IqbRB0?rel=0' frameborder='0' allowfullscreen></iframe></div>
</div>
<div class="block-text max-w-md mx-auto">
    <h3>SaaS onboarding example</h3><p>For example, here&#039;s our current signup/activation flow at <a href="https://transistor.fm/?via=justin">Transistor</a> (a podcast hosting platform):</p><ol start="1"><li><p>Visit marketing site</p></li><li><p>Click &quot;Start a free trial&quot;</p></li><li><p>Enter credit card details</p></li><li><p>Arrive in the dashboard</p></li><li><p>Click &quot;Create new podcast&quot;</p></li><li><p>Enter podcast details</p></li><li><p>Click &quot;Add episode&quot;</p></li><li><p>Publish episode </p></li></ol><p>But using an investment loop strategy, we could change the activation flow to this:</p><ol start="1"><li><p>Visit marketing site</p></li><li><p>Click &quot;Start your podcast&quot;</p></li><li><p>Enter podcast details</p></li><li><p>Click &quot;Add episode&quot;</p></li><li><p>Publish episode</p></li><li><p>&quot;Sign up for a free trial to continue&quot;</p></li></ol><p>This differs from offering a freemium (which is more like a full basic version of your product) or a free trial (where you sign up and use the product for 7-14 days). It&#039;s more of an activation strategy, where you get users to use the product before asking them for signup details.</p><h2>The Psychology of Investment Loops</h2><p>Investment loops work on several psychological levels.</p><h3>The endowment effect</h3><p>Once people start using your product, they begin to feel a sense of ownership. They&#039;ve customized it, added their data, and now it feels like &quot;theirs.&quot; </p><h3>Sunk cost fallacy</h3><p>The more time a user invests in a product&#039;s onboarding, the more likely they are to keep going (even if it means pulling out their credit card). </p><h3>The IKEA effect</h3><p>People value things more when they&#039;ve put effort into creating or setting them up. </p><p>By the time users hit that &quot;sign up to continue&quot; prompt, they&#039;ve already built something in your app. They&#039;re not just buying your product; they&#039;re protecting their investment. </p><p>It&#039;s like giving someone Lego pieces, letting them build half a castle, and then asking if they want to buy the rest of the set. Who&#039;s going to say no to finishing the project?</p><h2>Does this work in SaaS?</h2><p>I&#039;m curious to know if any of you have implemented an onboarding &quot;investment loop&quot; like this. Does it work? </p><p>I&#039;m thinking about it for my own product, but it also feels like it has risks. Maybe it decreases the chances that people sign up for a trial! Maybe it doesn&#039;t actually improve trial-to-paid conversion rates. </p><p><strong>I&#039;d like to hear from you! </strong>Leave a comment on <a href="https://youtu.be/cyDl6IqbRB0">YouTube</a> or reply to <a href="https://x.com/mijustin/status/1806834568978158008">this tweet</a>. Or, even better: sign up for <a href="https://justinjackson.ca/newsletter">my newsletter</a> and reply to my welcome message.</p><p>Cheers,<br>Justin Jackson<br><br>Connect with me on:<br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a><br>🧵 <a href="https://www.threads.net/@mijustin">Threads</a><br>🐦 <a href="https://twitter.com/mijustin">Twitter</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Pro skater Chad Muska went broke. Now he's a bootstrapper.]]></title>
            <link>https://justinjackson.ca/chad-muska</link>
            <guid>https://justinjackson.ca/chad-muska</guid>
            <pubDate>Wed, 05 Jun 2024 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[In 1999 I met Muska​ at Slam City Jam in Vancouver. He was at the top of the skateboarding world. He was in Tony Hawk's Pro Skater game. Then he lost it all.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/muska.jpg" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>In 1999 I met pro skater <a href="https://en.wikipedia.org/wiki/Chad_Muska">​Chad Muska​</a> at Slam City Jam in Vancouver. At the time, he was at the top of the skateboarding world. His pro model was selling 10,000 units a month, and he was one of the first playable characters in Tony Hawk&#039;s Pro Skater game.</p><p>But then, all the money and fame ran out.</p><blockquote><p>&quot;Right around the beginning of the pandemic,&quot; Chad says, &quot;everything ended in skateboarding for me as far as finances go. My last check came in, and it was done.&quot;</p></blockquote>

</div>
<div class="block-embed max-w-lg mx-auto">
    <style>.embed-container { margin-bottom: 25px; position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class='embed-container'><iframe src='https://www.youtube.com/embed/14SLpQ-SsiM?rel=0' frameborder='0' allowfullscreen></iframe></div>
</div>
<div class="block-text max-w-md mx-auto">
    <h2>What is Chad Muska doing now?</h2><p><strong>What&#039;s interesting to me, as a bootstrapper, is what Chad Muska is doing now</strong>.</p><p>He&#039;s building the Muska brand as an independent company and bootstrapping it just like you or I would.</p><blockquote><p>&quot;I&#039;m becoming a businessman for the first time. I&#039;ve always been a skater. I&#039;ve always been a creator. I&#039;ve always been part of the marketing assets, but I&#039;ve never been a businessman. I&#039;ve always allowed others to do the business.&quot; – Chad Muska on the <a href="https://www.youtube.com/watch?v=mZOE6fEloxw">​Nine Club podcast​</a>.</p></blockquote><p>Currently, Chad is building his brand, <a href="https://themuska.com/">​Muska Industries​</a>, where he produces limited-run runs of skateboard decks (which he signs), clothing, footwear, and accessories. He leverages his <a href="https://www.instagram.com/themuska/?hl=en">​Instagram​</a> to connect with his fans and announces product drops, which he sells on <a href="https://themuska.com/">​Shopify​</a>.</p><p>He&#039;s learning a lesson that Nathan Barry (founder of <a href="https://transistor.fm/?via=justin">​ConvertKit​</a>) has been talking about for a while:</p><blockquote><p>&quot;Creators need equity. Having real ownership in a successful company is the best way to build wealth.&quot;</p></blockquote><p>When you compare the riders featured in the first Tony Hawk Pro Skater game, you can see how important it is to have equity:</p><ul><li><p>Even though Tony Hawk is the most recognizable name in the skateboard world, he&#039;s earned most of his wealth from <a href="https://www.businessinsider.com/tony-hawk-turned-down-500k-pro-skater-made-millions-2023-3">​video game royalty checks​</a>.</p></li><li><p>Contrast that with Bob Burnquist, another vert skateboarder, who doesn&#039;t seem to have significant equity in any of the companies that sponsored him. These days, he seems to be <a href="https://linktr.ee/BuckyLasek">​primarily selling NFTs​</a>.</p></li><li><p>Elissa Steamer lives off the income from properties she purchased in Fort Myers, Florida.</p></li></ul><p>Most folks who&#039;ve had a significant stake in some asset have thrived, while the pro skaters who mostly took sponsorship checks seem to be struggling.</p><h2>Have you ever had to start over again?</h2><p>It must have been crushing for Chad to be so well-known (and earning good money) only to be dropped by the skateboard industry.</p><p>But he&#039;s not starting from <em>nothing</em>. He might not have much money right now, but he does have fans.</p><blockquote><p>&quot;People are thanking me for the reissues I&#039;ve put out. They&#039;ve made it possible. My past is funding my future. Skateboarding gave me this opportunity.&quot;</p></blockquote><p>If we look, most of us have some built-in advantages that we&#039;ve built up over time.</p><p>When you start a business, you need to use every strength, advantage, insight, and resource you have. Being a successful founder often means stacking every advantage you can:</p><ul><li><p>skills</p></li><li><p>capital</p></li><li><p>insights</p></li><li><p>expertise</p></li><li><p>experience in a market</p></li><li><p>network and connections</p></li></ul><p>This is probably why most entrepreneurs become <a href="https://www.clifford-lewis.com/blog/most-successful-entrepreneurs-are-older-than-you-think">successful in their 40s</a>: they&#039;ve accumulated decades of experience that they can deploy in their ventures.</p><blockquote><p>&quot;More seasoned entrepreneurs may draw on greater experience in management or deeper industry-specific knowledge. They may also have greater financial resources and more relevant social networks to leverage the founder’s business idea.&quot; (<a href="https://www.clifford-lewis.com/blog/most-successful-entrepreneurs-are-older-than-you-think">​Source​</a>)</p></blockquote><p>Chad is 47 years old. He&#039;s accrued connections with artists, influencers, popular podcasters, manufacturers, and other pro skaters that he can now leverage in his new company.</p><h2>What&#039;s he doing right?</h2><p>Chad is leveraging two powerful forms of marketing for solopreneurs:</p><ul><li><p>He&#039;s sharing his journey in a vulnerable way</p></li><li><p>He&#039;s sharing the behind-the-scenes of how he&#039;s building and launching products.</p></li></ul><p>As I write this, Muska is signing a limited-run series of boards live on his Instagram.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/chad-muska-signing-skateboards-on-instagram.jpg" alt="/assets/content/chad-muska-signing-skateboards-on-instagram.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>He produces almost everything from a farmhouse he bought in Ohio. His shelving, studio, storage, and computer are all in his living room.</p><p>I know &quot;build in public&quot; is getting a bad rap these days, but I think it can be much more than sharing your MRR numbers on Twitter.</p><p>Sharing your entrepreneurial journey can attract customers and fans who want to support you in your adventure. When done well, they&#039;ll cheer you on, advocate for you, and spread the word.</p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[How to make a podcast (and submit it to Spotify and Apple Podcasts) in 2024]]></title>
            <link>https://justinjackson.ca/submit-podcast-itunes</link>
            <guid>https://justinjackson.ca/submit-podcast-itunes</guid>
            <pubDate>Tue, 07 May 2024 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[Everything I've learned about starting a podcast: recording, hosting, distribution, and marketing in the last 12 years.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/justin-jackson-podcasting.jpg" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>If you want to create a podcast in 2024, you need to choose the right topic, get the right equipment, get podcast hosting, and submit it to <a href="https://transistor.fm/upload-podcast-itunes-apple/">Apple Podcasts</a> and Spotify the right way. Here&#039;s a quick guide with all the tactics I&#039;ve been using for the last 12 years.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/how-to-start-a-podcast.jpg" alt="/assets/how-to-start-a-podcast.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p><strong>Update: </strong>I&#039;ve just written a more updated <a href="https://transistor.fm/how-to-start-a-podcast/">&quot;How to start a podcast&quot; guide here</a>.</p><h2>First, choose your podcast topic.</h2><p>The most important step for a new podcaster isn&#039;t buying the right gear, choosing the right platform, or even finding guests.</p><p><strong>Before you do anything else, you need to pick a topic.</strong></p><p>To do this, you&#039;re going to answer two fundamental questions:</p><ol start="1"><li><p>Who is this podcast for?<br></p></li><li><p>What is it for?<br></p></li></ol><p>My show (<a href="https://saas.transistor.fm">Build your SaaS</a>) is for people starting a software business. It aims to share our journey and help other founders navigate the startup stage.</p><h2>Next, research podcasts in that genre.</h2><p>It&#039;s not enough to pick a topic. To stand out, you&#039;ll need to ask yourself:</p><blockquote><p>What unique perspective can I bring to this subject? What hasn&#039;t been done before? How can I stand out?</p></blockquote><p>A good tool for doing podcast research is <a href="https://chartable.com/">Chartable</a>.</p><p>You can browse the different podcast categories and see what types of shows rank highly.</p><p>When you see a show at the top of a category, see when it was last updated. If it&#039;s been months (or years!), you might be able to create a new show to fill that space.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/img/asset/bWFpbi9jb250ZW50L2NoYXJ0YWJsZS1wb2RjYXN0LWNoYXJ0cy1yZXNlYXJjaC5wbmc/chartable-podcast-charts-research.png?filt=greyscale&con=%2B70&sharp=70&s=30f54a64d8a311be16939691cc1e39a6"
  alt="/assets/content/chartable-podcast-charts-research.png">
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>For more about choosing your audience, check out:</p><ul><li><p><a href="http://justinjackson.ca/who-do-you-love/">Choose your audience wisely</a></p></li><li><p><a href="https://medium.com/product-people/quit-trying-to-attract-a-crowd-544ec0ec7b4b">Quit trying to attract a crowd</a> (the takeaway here is asking: how can you help people?)</p></li><li><p><a href="http://buildandlaunch.net/1/">Don&#039;t make stuff for hippies</a> (audio)</p></li></ul><h2>Start practicing: record yourself</h2><p>Don&#039;t run out and buy a bunch of recording gear yet!</p><blockquote><p>Practice by recording something on your phone. You don’t need a fancy mic to start practicing.</p></blockquote><p>You can record test episodes with whatever recording device you currently own. For most people, this means using your phone!</p><p>Just follow these steps:</p><ol start="1"><li><p>Find the Voice Memos app on your iPhone</p></li><li><p>Choose a topic you’d like to talk about</p></li><li><p>Write out an outline for a short 5-10 minute episode</p></li><li><p>Open up the Voice Memos app and record your episode!</p></li><li><p>Repeat over and over again: practice recording that same episode dozens of times</p></li></ol><p>The idea is to start small. </p><p>It&#039;s easy to fall into the trap of buying equipment. But, having all that gear will delude you into feeling like you&#039;ve already arrived. Podcasting is about creating compelling audio! If you&#039;ve never recorded your voice before, you&#039;re going to need a lot of practice.</p><p>It&#039;s OK to <a href="http://justinjackson.ca/dumb/">feel dumb</a> at the beginning!</p><h2>Buy the podcasting gear starter kit.</h2><p>Here is the podcast equipment I recommend for people starting:</p><ol start="1"><li><p><strong>Microphone</strong>: <a href="https://www.amazon.com/Handheld-Dynamic-Microphone-Recording-Podcasting/dp/B001R747SG">Samson Q2U</a> is a dynamic USB microphone.</p></li><li><p><strong>Pop filter: </strong>Find one that will work with your mic. <a href="http://www.amazon.ca/dp/B00D78W20I/ref=pe_386430_126088100_TE_item">This one is a good start</a>.</p></li><li><p><strong>Headphones</strong>: <a href="https://www.audio-technica.com/en-ca/ath-m50x">Audio-Technica ATH-M50x</a></p></li><li><p><strong>Editing software</strong>: <a href="https://transistor.fm/changelog/descript/">Descript</a> (PC or Mac) or <a href="https://www.apple.com/ca/mac/garageband/">Garage Band</a> or <a href="https://store.telestream.net/affiliate.php?ACCOUNT=TELESTRE&amp;AFFILIATE=89620&amp;PATH=http://www.telestream.net/screenflow/">Screenflow</a> (for Mac), and <a href="http://audacity.sourceforge.net/">Audacity</a> (for PC)</p></li></ol><p>That whole set-up could cost under $100 USD (especially if you skip headphones for now).</p><p>For more information, check out these <a href="https://transistor.fm/how-to-start-a-podcast/#podcast-equipment-bundles">podcast equipment bundles</a>.</p><h2>Podcast hosting</h2><p>For <a href="https://transistor.fm/podcast-hosting/">podcast hosting</a>, you&#039;ll need two things:</p><ol start="1"><li><p>An RSS feed</p></li><li><p>A place to host your audio files</p></li></ol><p>For my first podcast, I hosted everything myself on WordPress (and stored my audio files on Amazon S3). I thought it would save me money; I was wrong! My AWS hosting bills were $20-$30 per month. It turns out that bandwidth is expensive!</p><p>This is why Jon and I ended up building <a href="https://transistor.fm/?utm_source=justinjackson.ca&amp;utm_medium=link&amp;utm_campaign=jjlinks">Transistor.fm</a>: to make it affordable to have <a href="https://transistor.fm/features/host-multiple-podcasts-on-the-same-account/">high-quality podcast hosting</a> and <a href="https://transistor.fm/features/podcast-analytics-software/">analytics</a>.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/img/asset/bWFpbi9jb250ZW50L3RyYW5zaXN0b3ItZm0tcG9kY2FzdC5wbmc/transistor-fm-podcast.png?filt=greyscale&con=%2B70&sharp=70&s=b14f25d572c162dfd0b9fc6a7aaa8fb1"
  alt="/assets/content/transistor-fm-podcast.png">
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p><a href="https://transistor.fm/?via=justin">Transistor</a> gives you everything you need to host your podcast for $19/month:</p><ul><li><p><a href="https://freepodcastwebsites.com/">A website</a> for your podcast</p></li><li><p>Fast MP3 hosting on our CDN</p></li><li><p>An Apple Podcasts-ready RSS feed</p></li><li><p>Landing pages for each episode (<a href="https://share.transistor.fm/s/789d57df">sample</a>)</p></li><li><p>Detailed podcast analytics</p></li><li><p><a href="https://transistor.fm/features/dynamic-ads/?via=justin">Dynamic Ad campaigns</a></p></li><li><p><a href="https://transistor.fm/features/private-podcasts/">Private podcasts</a></p></li></ul><p>We also have a podcast player that you can embed on your website:</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <iframe src='https://share.transistor.fm/e/build-your-saas/latest' width='100%' height='180' frameborder='0' scrolling='no' seamless='true'></iframe>
</div>
<div class="block-text max-w-md mx-auto">
    <p>If you&#039;re hosting somewhere other than Transistor (Anchor, Soundcloud) you can use this tool to build a <a href="https://freepodcastwebsites.com/">free podcast website</a>.</p><h2>How to record and edit your podcast</h2><p>I recently asked James McKinven to make a tutorial on his whole process for podcast recording, editing, and publishing:</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin-bottom: 25px; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class='embed-container'><iframe src='https://www.youtube.com/embed//xcyHT1ZLd9Y?rel=0' frameborder='0' allowfullscreen></iframe></div>
</div>
<div class="block-text max-w-md mx-auto">
    <p>For recording remote guests, Skype has a <a rel="nofollow" href="https://support.skype.com/en/faq/FA12395/how-do-i-record-my-skype-calls">built-in call recording</a> feature (as does <a rel="nofollow" href="https://zoom.us/">Zoom</a>).</p><p>Some great web-based recording tools automatically record both sides of the conversation:</p><ul><li><p><a rel="nofollow" href="https://squadcast.fm/">SquadCast.fm</a></p></li><li><p><a rel="nofollow" href="https://riverside.fm/">Riverside</a> </p></li></ul><p>Where do you get theme music? You can <a href="https://transistor.fm/free-podcast-intro-music/">get free music here</a>. For purchasing music, go to:</p><ul><li><p><a href="https://themesong.studio/">Themesong.studio</a> – buy the complete rights to high-quality theme songs and intros</p></li><li><p><a href="https://www.musicbed.com/">Musicbed</a> – &quot;find the perfect song for your project&quot;</p></li><li><p><a href="https://soundslikeanearful.com/">Sounds like an Earful</a></p></li><li><p><a href="https://www.bensound.com/">Ben Sound</a></p></li><li><p><a href="http://www.premiumbeat.com/">Premium Beat</a></p></li><li><p><a href="http://audiojungle.net/">Audio Jungle</a></p></li><li><p><a href="https://soundstripe.com/">Sound Stripe</a></p></li></ul><h2>How to book podcast guests</h2><p>When you&#039;re looking to book guests, send people genuine emails that show you know who they are, and what they&#039;re passionate about. Also, use <a href="https://savvycal.com/?r=justinj">SavvyCal</a> so they can choose a time that works best for them.</p><p><em>I talk more about getting guests in <a href="http://signaltower.co/justin-jackson/">my interview here</a>.</em></p><h2>How to launch and promote your podcast on Apple Podcasts</h2>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/img/asset/bWFpbi9jb250ZW50L2FkZC1hLW5ldy1wb2RjYXN0LXRvLWFwcGxlLXBvZGNhc3RzLnBuZw/add-a-new-podcast-to-apple-podcasts.png?filt=greyscale&con=%2B70&sharp=70&s=a8f8a34dd9650683f114fc91622956f7"
  alt="/assets/content/add-a-new-podcast-to-apple-podcasts.png">
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>The two most important channels for your podcast will be Apple Podcasts and Spotify.</p><p>For step-by-step instructions, read these guides:</p><ul><li><p><a href="https://transistor.fm/upload-podcast-itunes-apple/">How to submit your podcast to Apple Podcasts in under 10 steps</a></p></li><li><p><a href="https://youtu.be/SbgBmsr_gZE">Video tutorial: how to submit to Apple Podcasts</a></p></li><li><p><a href="https://transistor.fm/changelog/distribution/">How to submit your podcast to Spotify</a></p></li></ul><h3>More resources</h3><p>Check out these <a href="https://mypodstudios.com/">inspirational podcast studio setups</a>.</p><p>Interested in <a href="https://transistor.fm/private-podcast/">private podcasting</a>? You can use it to start a members-only podcast.</p><p>You can watch me create a podcast from start to finish in <a href="https://youtu.be/SbgBmsr_gZE">this YouTube video</a>.</p><p>If you have more questions, you can <a href="https://twitter.com/mijustin">reach me on Twitter</a>.</p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Track revenue, not traffic]]></title>
            <link>https://justinjackson.ca/revenue-tracking</link>
            <guid>https://justinjackson.ca/revenue-tracking</guid>
            <pubDate>Sat, 27 Apr 2024 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[Most marketing metrics are meaningless: traffic, views, clicks, open rate. What we really need to be tracking is revenue.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/cover-revenue-tracking-marketing-analytics.png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>The problem with marketing metrics is that most of them are meaningless:</p><ul><li><p>How much traffic did we get last month?</p></li><li><p>How many TikTok views?</p></li><li><p>How many clicks did we get from our FB ads?</p></li><li><p>How many YouTube views?</p></li><li><p>What was our email&#039;s open rate?</p></li></ul><p>Founders spend thousands of dollars on marketing activities that produce clicks, traffic, views, and opens – 99% of which don&#039;t matter.</p><p>In marketing, the only question that matters is, &quot;Which of our efforts are bringing in revenue?&quot;</p><p>Matt Paulson, founder of MarketBeat, has grown his company to over $30 million in annual revenue by knowing &quot;exactly how much revenue a given lead source generates in a month.&quot;</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-inline mx-auto texture-light p-1"
>
<a href="https://twitter.com/MattPaulsonSD/status/1710717677658910902" style="background:0;">
  
  <img src="/assets/content/matt-paulson.png" alt="/assets/content/matt-paulson.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Traditionally, getting this kind of data has been difficult. Google Analytics, for example, can attach an &quot;approximated revenue value&quot; to events, but it&#039;s always felt like guessing.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/google-analytics-goal-for-saas.png" alt="/assets/content/google-analytics-goal-for-saas.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>As a marketer, I&#039;ve always wanted to see where my revenue came from.</p><p>In September, a startup (currently in beta) contacted me and said they could connect my website traffic with Stripe-verified revenue.</p><p>Months later, they called me to show me my results, and my jaw hit the floor.</p><p><strong>My assumptions about which pages on our website were generating revenue were wrong.</strong></p><p>To set the baseline, they showed me website traffic for our site:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/traffic.png" alt="/assets/content/traffic.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>I was familiar with these stats. We&#039;d use website traffic to evaluate our content marketing efforts. We&#039;d go after relatively high-traffic keywords for our industry (like: &quot;free intro music for your podcast&quot;) with the hope that it would convert into paying customers.</p><p><strong>Here&#039;s how we were totally wrong:</strong></p><p>The startup team showed me the next graph. &quot;How much Stripe revenue has each page on your website earned you in the last X days?&quot; The results made me rethink everything.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/revenue-pink.png" alt="/assets/content/revenue-pink.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>It turns out that a low-traffic blog post had earned us significantly more revenue than almost any other page on our website,</p><p>This blog post discussed a feature we hadn&#039;t touched in years. It&#039;s a feature not listed on our homepage, our features index, or anywhere else on our website. Despite this, people searched for this feature on Google, found our blog post, and converted to paid customers.</p><p>We&#039;d missed it because we&#039;d assumed that &quot;low traffic = low revenue.&quot;</p><p>Marketers dream of these funnels: someone needs something, searches for it, and immediately buys it. And we&#039;d been sleeping on it.</p><p><strong>Action step: </strong>We&#039;re now doubling down on this feature and improving it both on the product and marketing sides.</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <hr>
</div>
<div class="block-text max-w-md mx-auto">
    <p>The startup team could also show me revenue by referrer:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-inline mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/revenue-referrer.png" alt="/assets/content/revenue-referrer.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Now, there&#039;s no guessing if all my efforts on Twitter are directly converting to revenue: I can see it right in the graph.</p><p>The graph revealed that two of our industry partners were sending us far more revenue than we had previously thought.</p><p><strong>Action step: </strong>We&#039;re investing in our relationship with these companies and are reaching out to see if there is more co-marketing we could do with them.</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <hr>
</div>
<div class="block-text max-w-md mx-auto">
    <p>It&#039;s easy to see a page getting a lot of traffic and think it&#039;s helping your business.</p><p>We need to stop thinking that &quot;attention&quot; equals &quot;dollars.&quot;</p><p>We need more of the right kind of attention: customers actively searching for a product they&#039;d like to buy.</p><p>Cheers,<br>Justin Jackson<br><a href="https://twitter.com/mijustin">​@mijustin​</a></p><p>PS: If you&#039;re interested in revenue analytics like this, the startup I talked about is about to hold a paid beta. If you&#039;d like to participate, DM me on <a href="https://twitter.com/mijustin">Twitter</a> or <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a>, and I&#039;ll try to connect you!</p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Compounding returns]]></title>
            <link>https://justinjackson.ca/iterating</link>
            <guid>https://justinjackson.ca/iterating</guid>
            <pubDate>Fri, 12 Apr 2024 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[I'm convinced that Nathan Barry's early success with ConvertKit stems from his practice of consistently launching projects from age 17 to 23.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/content/nathan-barry-path-to-success.png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>My friend Nathan Barry is one of the youngest successful entrepreneurs I know: he founded <a href="https://convertkit.com/?lmref=erdpyA">​ConvertKit</a>, which now has <a href="https://convertkit.baremetrics.com/?_gl=1%2a1vr4g9v%2a_gcl_au%2aNDcxODE4MjEzLjE3MTI1MTYzODM.">​$40 million</a> in annual revenue. Recently, they were valued at <a href="https://www.linkedin.com/posts/nathanbarry_convertkit-secondary-sale-activity-7003725847211761664-3ySi?utm_source=share&amp;utm_medium=member_desktop">​$200 million</a>. Nathan is turning 34 this year.</p><p>I&#039;m convinced that Nathan&#039;s early success with ConvertKit stems from his practice of consistently launching projects from age 17 to 23.</p><p>Nathan started as a freelance web designer at 17. By 21, he was releasing apps on the App Store (making $2k / month). At age 22, he wrote his first <a href="https://nathanbarry.com/app-design-handbook/">design book​</a>, which earned him $26,679 in 24 hours.</p><p>He didn’t stop there; he kept iterating and gaining leverage in multiple areas (building an audience, forming connections with key people, gaining skills and resources).</p><p>By the time he turned 23 and founded ConvertKit, he had amassed an extensive portfolio of business projects.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/nathan-barry-path-to-success.png" alt="/assets/content/nathan-barry-path-to-success.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>For Nathan, each project he launched was an iteration on his path to achieving success with ConvertKit.</p><p>Success almost always occurs after a series of jumps.</p><h2>Accumulated experience is the foundation of success</h2><p>Your ability to launch a successful business depends on the accumulation of experiences, connections, skills, resources, experiments you&#039;ve run, and insights you&#039;ve gathered.</p><p>Today, ConvertKit&#039;s mission is to &quot;help creators earn a living online.&quot; Nathan and his team design and build the product with intuitions about what creators want and need. How did they develop those intuitions? Nathan developed his intuitions through his time <em>being</em> a creator. His experience writing and launching multiple apps, books, and courses from 2011-2013 informs his work today.</p><p>As an indie entrepreneur, you want to maximize every advantage you have. Most good markets are competitive, so you can&#039;t just show up with a &quot;good product;&quot; you need an edge. Your competitive advantage should be that you understand the customer (and what they want) better than anyone else.</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <blockquote class="twitter-tweet tw-align-center"><p lang="en" dir="ltr">Your biggest competitive advantage? Understanding the customer (and what they truly want) better than anyone else.</p>&mdash; Justin Jackson (@mijustin) <a href="https://twitter.com/mijustin/status/1778908088017260676?ref_src=twsrc%5Etfw">April 12, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</div>
<div class="block-text max-w-md mx-auto">
    <h2>Can you still iterate to a successful business if you&#039;re older?</h2><p>A Harvard Business study found that &quot;the average age of a successful startup founder is 45.&quot; This is roughly true for me now: <a href="https://transistor.fm/?via=justin">​Transistor​</a> (the startup I founded with Jon Buda) is doing well, and I&#039;m turning 44 this year.</p><p>However, success doesn’t operate on a clock—you can’t simply hit 45 and expect to launch a thriving startup. The groundwork for success all happens well in advance.</p><p>The age you are when you start a business is less important than the number of iterations you have amassed along your journey.</p><p>Your goal (at any age) should be to weave interesting threads into your life continuously, forging meaningful connections and launching your projects.</p><h2>How did this work in my life?</h2><p>On <a href="https://twitter.com/SebastianHox/status/1778909172123455530">​Twitter</a>, someone asked: &quot;How did you do [all this] with Transistor?&quot;</p><p>I was 38 when I co-founded <a href="https://transistor.fm/how-to-start-a-podcast/?via=justin">​Transistor</a>. Before that, I had spent six years:</p><ul><li><p>Starting podcasts (Product People, Build &amp; Launch, Megamaker)</p></li><li><p>Being a guest on 20+ podcasts</p></li><li><p>Participating in podcast forums (Hotpod, G+ hangouts, Reddit)</p></li><li><p>Going to events where podcasters gathered (XOXO, MicroConf, New Media Expo)</p></li><li><p>Building relationships with podcasters, joining multiple Slack groups</p></li><li><p>Reading podcast newsletters, editorials, trend reports</p></li><li><p>Launching a few products that appealed to podcasters (two books and a course)</p></li><li><p>Wrote multiple <a href="https://justinjackson.ca/submit-podcast-itunes/">​blog posts about podcasting​</a> that did well</p></li></ul><p>At <a href="https://www.youtube.com/watch?v=dNDgRcJYAEg">​MicroConf in 2018</a>, I spoke about how all these iterations led to Transistor.</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin-bottom:25px; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class='embed-container'><iframe src='https://www.youtube.com/embed/dNDgRcJYAEg?rel=0' frameborder='0' allowfullscreen></iframe></div>
</div>
<div class="block-text max-w-md mx-auto">
    <p>This talk was given before we had officially launched! (At the time, we had 39 paying early-access users.)</p><p>In retrospect, my intuitions at that time turned out to be prescient: I had watched the podcasting market for a long time, and 2018 ended up being the perfect time to enter the industry. In terms of podcast hosting, people were ready for something fresh.</p><p>Success isn&#039;t guaranteed, regardless of age, but if there’s a path to it, it’s through continuous iteration.</p><p>Cheers,<br>Justin Jackson<br><br>Connect with me on:<br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a><br>🧵 <a href="https://www.threads.net/@mijustin">Threads</a><br>🐦 <a href="https://twitter.com/mijustin">Twitter</a>.</p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[We need more calm companies]]></title>
            <link>https://justinjackson.ca/calm-company</link>
            <guid>https://justinjackson.ca/calm-company</guid>
            <pubDate>Fri, 05 Apr 2024 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[Calm companies are profitable, value freedom, have a purpose, and improve the team's lives. Frenzied companies are crisis-driven.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/calm-companies.png" medium="image"/>
            
            <content:encoded><![CDATA[<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/calm-companies.png" alt="/assets/calm-companies.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>It&#039;s been hard to watch the recent layoffs in the tech industry. Seeing so many good people being let go has been heartbreaking.</p><p>Getting laid off doesn’t just rattle your career; it shakes the very foundation of your life. I&#039;ve seen friends lose their jobs and go into an existential tailspin. It&#039;s not uncommon for them to blame themselves and to feel immense guilt and shame. The experience is especially hard on parents whose families depend on them for income.</p><h2>An inevitable outcome of a flawed system</h2><p>Layoffs are inevitable during a company&#039;s lifespan. But seeing startups cut 20-30% of their workforce feels especially cruel in light of the aggressive hiring they did during the pandemic.</p><p>The recent tech layoff spree was a result of following the wrong incentives. Investors had flooded the market with cash and told companies to hire aggressively. Growth took precedence over profitability. Then, capital dried up, and companies started thrashing. Their response was to fire large groups of people in a hasty and unthought-out manner.</p><p>This is a sad reality of corporations optimizing for investor returns: the people who work on and buy the product suffer. Good employees are fired, and useful products are shut down.</p><p>This chaos has reaffirmed my belief that we need more <strong>calm companies.</strong></p><h2>Calm Company definition</h2><p>On the <a href="https://lnk.to/73fDM7">​Pathless Path podcast</a>, Paul Millard asked me to define &quot;calm company:&quot;</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <style>.embed-container { position: relative; margin-bottom:25px; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class='embed-container'><iframe src='https://www.youtube.com/embed/5TkpJ-0F3wI?rel=0' frameborder='0' allowfullscreen></iframe></div>
</div>
<div class="block-text max-w-md mx-auto">
    <p>A calm company&#039;s purpose is to provide exceptional service to customers while simultaneously improving the lives of the people who work there.</p><p>By default, a calm company is profitable. Those profits give a calm company its resilience: there&#039;s no last-minute scramble to meet payroll or earn a last-minute sale to keep the business afloat. The company has enough financial margin to weather economic storms.</p><p>Moreover, calm companies are fun to work for. The work is usually interesting and enjoyable. The team has been carefully selected, and there&#039;s a good vibe in meetings. </p><p>Calm companies provide meaningful work, healthy interactions, and flexibility for people&#039;s lives. If your kid is home sick, you can set work aside and take care of them. If it&#039;s a beautiful day, you can go for a run on the beach. </p><h3>Here is my list of Calm Company attributes:</h3><ol start="1"><li><p><strong>Profitable</strong>: Calm Companies have a strong financial engine working with <a href="https://justinjackson.ca/margin">good margins</a>. This foundation enables everything else.</p></li><li><p><strong>Purpose</strong>: Calm Companies have a strong sense of purpose: &quot;What are we building this company for?&quot; Generally, there&#039;s an internal purpose: &quot;to improve the lives of the people working here,&quot; and an external purpose: &quot;to help more creators get their message into the world.&quot;</p></li><li><p><strong>Freedom and Flexibility</strong>: As founders, we build businesses to give us more freedom. A Calm Company gives team members the flexibility to live well, pursue hobbies, exercise, take breaks, go on trips, and connect with family and friends.</p></li><li><p><strong>Fun: </strong>Calm Companies produce more opportunities for fun. &quot;What if we ran this event?&quot; &quot;What if we went on a team retreat in the mountains?&quot; &quot;What if we put an easter egg on our website that plays a silly song?&quot; &quot;What if we made some fun stickers?&quot;</p></li><li><p><strong>Mindful: </strong>At a Calm Company, decisions and commitments are made mindfully. We ask: will this decision make our lives worse? More stressful? Does it align with our values? Will this commitment add too much weight to our culture?</p></li><li><p><strong>Sustainable Growth</strong>: Calm Companies want to grow but at a sustainable pace. Growth should serve a higher purpose. Ambition is good, but not at the expense of well-being.</p></li><li><p><strong>Calm Work Environment</strong>: Stress and chaos are replaced with clear work goals, boundaries, and communication.</p></li></ol><h2>Contrast: the Frenzied Company</h2><p>Let&#039;s contrast the idea of a Calm Company with that of a Frenzied Company.</p><p>A frenzied company is perpetually in crisis. They have a culture of impossible deadlines and unrealistic expectations.</p><p>Managers pressure employees to constantly be &quot;on&quot; and &quot;available,&quot; even after work hours.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="https://twitter.com/Jason/status/1775932639465119940?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1775932639465119940%7Ctwgr%5Ea7c6850ed3415730ac16d7eecaec1cd2f79830d5%7Ctwcon%5Es1_c10&ref_url=https%3A%2F%2Fjustinjackson.ca%2Fcalm-company%2F" style="background:0;">
  
  <img src="/assets/content/jason-tweet.png" alt="/assets/content/jason-tweet.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>An implicit—or sometimes explicitly stated—threat hangs over everyone’s head: &quot;If things don’t turn around, jobs will be lost.&quot;</p><p>Managers frequently dump their stress and anxiety on their staff. Employees regularly find themselves absorbing negative emotions from work. They come home feeling drained and overwhelmed.</p><p>Financially, frenzied companies aren&#039;t profitable (or have bad margins). They need a constant cash infusion (investment or debt) to keep the lights on. </p><p>Founders at frenzied companies believe pushing harder and working longer will lead to success. But often, the business&#039;s underlying structure is rotten. The fundamentals are bad and unlikely to improve. They can&#039;t overcome the weight of a bad business model, poor margins, and out-of-control spending.</p><p>The frenzied company is a cautionary tale. The path to success isn&#039;t to &quot;grind harder,&quot; but rather to:</p><ul><li><p>choose a market with <a href="https://justinjackson.ca/the-market/">strong demand</a>,</p></li><li><p>build products that <a href="https://justinjackson.ca/build/">people want</a>,</p></li><li><p>build the company mindfully, <a href="https://justinjackson.ca/margin">with margins</a>.</p></li></ul><h2>My story of calm</h2><p>When Jon and I started <a href="https://transistor.fm/?via=justin">​Transistor</a>, we were in our late thirties. We&#039;d worked for venture-funded companies, experienced layoffs, and felt the squeeze. We asked each other: &quot;Why are we building this business? What&#039;s this in service of?&quot; Our conclusion was to <strong>design the company to improve our lives</strong>.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/jon-justin-laughing-on-mics.jpg" alt="/assets/content/jon-justin-laughing-on-mics.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>To do that, we needed a strong <a href="https://justinjackson.ca/the-market/">financial engine</a>. That&#039;s not easy to find (and it takes a bit of luck). But once we had one, we had the power to shape our lives through our decisions: How much <a href="https://justinjackson.ca/margin">financial margin</a> would we keep in the business? How much margin for our time? What about leaving margin for our physical and emotional health?</p><p>Building a calm company has meant saying no to opportunities that don&#039;t align with our values. We&#039;ve purposefully declined complicated enterprise contracts that would require us to staff up, add more compliance, and sign complicated legal contracts. We try not to commit to projects that burn us out. We&#039;ve prioritized doing work that we enjoy and that brings customers value.</p><p>The world needs more indie entrepreneurs building calm businesses. We won&#039;t get more calm from publicly traded companies or the over-funded venture-backed class. It&#039;s going to come from the next crop of small, purposefully built, indie startups with healthy margins.</p><p>Cheers,<br>Justin Jackson<br><br>Connect with me on:<br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a><br>🧵 <a href="https://www.threads.net/@mijustin">Threads</a><br>🐦 <a href="https://twitter.com/mijustin">Twitter</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Test articles]]></title>
            <link>https://justinjackson.ca/test</link>
            <guid>https://justinjackson.ca/test</guid>
            <pubDate>Wed, 21 Feb 2024 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[]]></description>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>Test</p>

</div>
]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Write 100 emails to people you know]]></title>
            <link>https://justinjackson.ca/100-emails</link>
            <guid>https://justinjackson.ca/100-emails</guid>
            <pubDate>Fri, 16 Feb 2024 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[Sending personal emails like this is a classic "do things that don't scale" action. It's the best way to get your first customers.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/write-100-emails-first-saas.jpg" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>It&#039;s time for another SaaS marketing tip.</p><p>When you&#039;re about to launch something new, your first step shouldn&#039;t be buying ads, optimizing for SEO, or posting on social media.</p><p>One of the highest-leverage marketing activities you can do is this: <strong>write a personal email to anybody in your network who might care.</strong></p><p>I&#039;m advising a startup right now (I&#039;ll tell you more about them in the future). They want me to help them get more beta testers. My first step was to list people I know who might be interested in the product.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/prospect-list-big.png" alt="/assets/content/prospect-list-big.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>As I added names, I started sending out emails/DMS that look like this:</p><blockquote><p>Hey [name of friend],</p><p>I just came across something new that I think you should check out.</p><p>I&#039;m advising a new startup, and they built me a marketing dashboard that&#039;s blowing my mind.</p><p>(I think this could be helpful for your company too).</p><p>Basically, it tracks █████████ that you&#039;re getting from ████.</p><p>Here’s a screenshot from my dashboard:</p><p>[image]</p><p>I couldn&#039;t believe that it was showing ████ and ████. I&#039;m already changing my marketing approach based on this data.</p><p>Would you be interested in being a part of the beta? They&#039;re looking for more testers, and I can put you in touch with them.</p></blockquote><p>I wrote a similar series of emails when Jon and I started working on Transistor:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/initial-email-transistor.png" alt="/assets/content/initial-email-transistor.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>And I reached out to this list again when we launched on Product Hunt:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/ph-launch.png" alt="/assets/content/ph-launch.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Sending personal emails like this is a classic &quot;do things that don&#039;t scale&quot; action. This is how we got our first ten customers for Transistor.</p><p>If you can&#039;t think of anyone to send emails like this, that might be a red flag. Ideally, you&#039;ve already been investing time in building relationships with the kinds of people who buy products like yours.</p><p>If you can&#039;t do this, it might indicate that you don&#039;t know enough about your product category, industry, or community.</p><p><strong>Want to do this?</strong></p><p>I&#039;ve made a <a href="https://docs.google.com/spreadsheets/d/1L-pryJThy9Zr_0ZJLdgqHTSoeLi9YoiwC5ZoQP0g9Wk/edit#gid=0">​&quot;Prospect List&quot; template in Google Sheets</a> that you can copy. To get started, write out 4-5 names of people you know (who are in your market) and start writing emails.</p><p>Cheers,<br>Justin Jackson<br><br>Connect with me on:<br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a><br>🧵 <a href="https://www.threads.net/@mijustin">Threads</a><br>🐦 <a href="https://twitter.com/mijustin">Twitter</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Send your users this welcome email]]></title>
            <link>https://justinjackson.ca/welcome-email</link>
            <guid>https://justinjackson.ca/welcome-email</guid>
            <pubDate>Sat, 03 Feb 2024 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[When we understand the underlying "jobs" customers are trying to accomplish, we can develop marketing strategies that speak to those needs.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/send-your-users-this-welcome-email.png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>A local company here in Vernon asked if I could go for coffee. They are in a bind: they need to increase revenue dramatically, or they won&#039;t be able to pay their operational expenses. They had heard about my plans to publish my &quot;<a href="/2024-theme">Marketing Experiments for SaaS</a>&quot; series and wondered if I could give them some tips.</p><p>I reviewed their website and signup flow. Then, I asked myself: &quot;What&#039;s one simple, high-leverage action they could take <em>today</em> to improve their marketing?&quot;</p><p>The answer: <strong>send every user who signs up a simple email.</strong></p><p>Here&#039;s the email I send to new <a href="https://transistor.fm/?via=justin">Transistor</a> users:</p>

</div>
<div class="block-sidebar">
    <p><strong>Subject line:</strong> What brought you here?</p>
<p><strong>Body:</strong> Hi,</p>
<p>I'm really glad you've decided to try our podcast hosting platform! I'm Justin, one of the co-founders.</p>
<p>I'm curious: what's happening in your world that brought you to Transistor?</p>
<p>(We're a small company, and it's always helpful to hear why people signed up).</p>
<p>Also, how did you hear about us?</p>
<p>Thanks,<br />
Justin Jackson</p>

</div>
<div class="block-text max-w-md mx-auto">
    <p>I heard Joanna Wiebe mention, &quot;What&#039;s happening in your world that brought you here today?&quot; during her MicroConf talk back in 2017.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/what-is-going-on-that-brought-you-here-joanna-wiebe-microconf.png" alt="/assets/content/what-is-going-on-that-brought-you-here-joanna-wiebe-microconf.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>It&#039;s a perfect line because it prompts the customer to talk about their context: what caused them to get pulled into your orbit?</p><p>Here are the kinds of responses I get to my Transistor welcome email:</p><ul><li><p>&quot;We decided to use Transistor because of your integration with Descript. Our company is in the X industry and wants a podcast to differentiate ourselves. Your platform seemed to offer the most value and ease of use.&quot;</p></li><li><p>&quot;I&#039;m switching to Transistor from a competitor because you allow us to create multiple podcasts on one payment plan.&quot;</p></li><li><p>&quot;I found Transistor through a Google search while exploring podcast hosting options. After reviewing several, Transistor seemed best for me. Your Starter plans fit my budget, and Transistor&#039;s site felt more polished and user-friendly than the other options.&quot;</p></li></ul><p>I&#039;m getting dozens of these kinds of replies every week.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/replies-to-my-welcome-email-(1).png" alt="/assets/content/replies-to-my-welcome-email-(1).png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>You can&#039;t get this information from &quot;last click attribution&quot; tracking. Even better, when you reply to these emails, you learn more about your customers&#039; rationale for using your product.</p><h2>Uncover the underlying Job to be Done</h2><p>With these conversations, your goal is to uncover the customer&#039;s underlying <a href="https://justinjackson.ca/what-is-jobs-to-be-done/">​<strong>Job to be Done</strong></a><strong>.</strong> </p><p>JTBD is a theory for understanding what motivates customers to buy your product: its premise is that people don&#039;t just buy products for <em>functional purposes</em> but also <em>social</em> and <em>emotional</em> reasons.</p><p>People make purchasing choices based on the functional, emotional, and social cues related to the progress they want to achieve.</p><p>As business owners, when we understand the underlying &quot;jobs&quot; customers are trying to accomplish, we can develop marketing strategies that speak to those needs.</p><p>For example, we can take this Job to be Done, &quot;We want to use podcasting to differentiate ourselves in our industry,&quot; and focus on it in <a href="https://transistor.fm/branded/">blog posts</a>, landing pages, or advertising. It could also become a slogan: &quot;Differentiate yourself from the competition: Start a branded podcast.&quot;</p><h2>Uncover trends</h2><p>This approach is also useful for revealing consumer trends you might not know about.</p><p>For example, many companies start private podcasts in January and February. When we ask them, in these emails, what&#039;s motivating this demand, we learn that many CEOs get inspired over the holidays to start internal podcasts and push for the project when they get back to the office.</p><h2>Get testimonials</h2><p>You&#039;ll get great testimonials when customers tell you in their own words why they signed up for your service.</p><p>Often, I&#039;ll reply to their emails and ask, &quot;I love how you put that. Could we use this as a testimonial on our site?&quot; and I&#039;ll send them a link to our <a href="https://transistor.fm/reviews/">reviews page</a>.</p><p>Almost 95% of the time, they say &quot;yes!&quot;</p><h2>The foundation for everything else</h2><p>I recommend that anyone doing SaaS marketing implement this step first. Having a steady drip of users telling you why they signed up (and how they heard about you) will inform every marketing task we take moving forward.</p><p>You&#039;ll understand your customers better. And in business, whoever understands the customers best has a competitive advantage.</p><p>The insights you gain from these emails will be applied to your marketing campaigns (and product direction).</p><h2>Your turn: write your welcome email</h2><p>I love this step (&quot;Send an automatic welcome email for everyone who signs up&quot;) because you can use it regardless of stage.</p><ul><li><p><strong>Haven&#039;t launched yet? Only have a coming soon page? </strong>When people sign up for your waiting list, send them this email.</p></li><li><p><strong>Been around for a while? </strong>Add this to email to your existing email onboarding campaign. (I use <a href="https://userlist.com/">​Userlist</a> for this).</p></li></ul>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/userlist-welcome-email-(1).png" alt="/assets/content/userlist-welcome-email-(1).png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>The key is that it should feel personal; send it from your personal email address and invite folks to respond!</p><p>Cheers,<br>Justin Jackson<br><br>Connect with me on:<br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a><br>🧵 <a href="https://www.threads.net/@mijustin">Threads</a><br>🐦 <a href="https://twitter.com/mijustin">Twitter</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[My theme for 2024: SaaS marketing experiments]]></title>
            <link>https://justinjackson.ca/2024-theme</link>
            <guid>https://justinjackson.ca/2024-theme</guid>
            <pubDate>Sun, 14 Jan 2024 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[I've decided that in 2024, the main theme of my writing will be marketing and growth tips for SaaS founders. Real-world experiments from my company.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/saas-marketing-experiments.jpg" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>I&#039;ve decided that in 2024, the main theme of <a href="https://justinjackson.ca/articles">my writing</a> will be <strong>marketing and growth tips for SaaS founders</strong>.</p><p>I&#039;ll share the real-world results from experiments I&#039;m running at my company (<a href="https://transistor.fm/?via=justin">​Transistor​</a>) and tactics I&#039;ve seen work at my friends&#039; companies.</p><p><strong>Why?</strong></p><p>A recurring sentiment I hear from fellow bootstrapped founders is:</p><blockquote><p>&quot;These days, it&#039;s so much harder finding good marketing channels for SaaS than 5-10 years ago.&quot;</p></blockquote><p>Getting a reliable customer acquisition machine running has never been easy. But recently, it&#039;s been even harder. Every channel has so much competition: SEO, content, affiliates, ads, social media, PR.</p><blockquote><p><em>Marketing has always been about rising above the noise to get your product noticed, but there&#039;s more noise than ever.</em></p></blockquote><p>During my <a href="https://justinjackson.ca/2023-review">​year-in-review</a>, I asked myself: &quot;How can I be most helpful to the bootstrapping community?&quot; The answer came from my readers: help us with marketing and growth!</p><p>Many indie founders struggle with the following:</p><ul><li><p><a href="https://justinjackson.ca/the-market/">​Building products that people want​</a> (correctly identifying what will sell at a high enough volume).</p></li><li><p><a href="https://justinjackson.ca/build">​Positioning their product as an attractive solution</a> for the right customers (having a high-quality product, clear/attractive website, and solid branding).</p></li><li><p><a href="https://justinjackson.ca/best-saas-marketing-strategies/">​Finding strong acquisition channels</a> that can bring in a steady source of income.</p></li></ul><h2>Real-world case study</h2>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/mrr-growth-gray.gif" alt="/assets/content/mrr-growth-gray.gif" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Back in 2018-2019, when Jon and I were building <a href="https://transistor.fm/?via=justin">​Transistor</a>, we shared our journey publicly (both on <a href="https://saas.transistor.fm">our podcast</a> and <a href="https://justinjackson.ca/bootstrap">in writing​</a>). This included sharing <a href="https://justinjackson.ca/30k">our revenue numbers</a> plus the experiments we ran to build and grow the product.</p><p>Since then, I&#039;ve missed the energy of working in public and sharing our lessons with the community.</p><p><strong>Transistor is six years old this year, and I&#039;d like to re-ignite its growth.</strong></p><p>According to the &quot;Law of Large Numbers,&quot; growing revenue is significantly harder once your annual revenue reaches seven figures. </p><p>For example, if you grew 30% at $1,000 MRR, it would be much harder to do the same once you&#039;ve hit $100,000 MRR. It&#039;s not hard to hustle for an additional $300 in MRR, but growing revenue by $300k is difficult!</p><p>Transistor has never had a month where MRR shrank, but I&#039;d love to increase our month-over-month growth rate.</p><p>So this year, I&#039;d like to return to &quot;build in public&quot; and share real-world experiments, tactics, and learnings from my work at Transistor.</p><h2>Lean marketing approach</h2><p>I used to invest heavily in marketing automation, tracking, attribution, configuring funnels, and retargeting. But after 16 years of doing marketing for SaaS companies... I&#039;m convinced that <a href="https://justinjackson.ca/marketing-steroids">​90% of it is unnecessary</a>.</p><p><strong>Ultimately, the only marketing metric that matters is which marketing efforts generate real revenue.</strong></p><p>The challenge is that most analytics tools, like Google Analytics, force you to give an &quot;approximated value&quot; for each conversion event.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/google-analytics-goal-for-saas.png" alt="/assets/content/google-analytics-goal-for-saas.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>In 2019, I realized I could use <a href="https://www.rewardful.com/?via=justin">​Rewardful​</a> (the affiliate tracking software) to track <strong>any link-based campaign</strong>. For example, if I was doing ads on Reddit, I could create a link with an attribute called ?via=reddit-spring-2023.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/rewardful-link-tracking.png" alt="/assets/content/rewardful-link-tracking.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>The advantage of this approach is that Rewardful <strong>connects campaigns to real revenue in Stripe</strong>. As soon as a visitor clicks a link, it tracks them through the funnel (&quot;Started Trial&quot; --&gt; &quot;Converted to Paid&quot;).</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/rewarful-campaigns.jpeg" alt="/assets/content/rewarful-campaigns.jpeg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>In Rewardful, for each marketing experiment I ran, I had a dashboard of Visitors, Leads, Conversions, and the total amount of revenue earned.</p><p>Since I started talking about this in 2019, I&#039;ve noticed other founders taking this approach as well:</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <blockquote class="twitter-tweet tw-align-center"><p lang="en" dir="ltr">Advertising networks always ask &quot;What metrics do you use to determine lead quality?&quot; when we are considering an ad buy.<br><br>There is only one right answer: Revenue.<br><br>Did we break even on a lead source after 90 days?<br><br>If yes, scale the traffic source until it stops working.<br>If no,…</p>&mdash; Matt Paulson (@MattPaulsonSD) <a href="https://twitter.com/MattPaulsonSD/status/1745627739854401639?ref_src=twsrc%5Etfw">January 12, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</div>
<div class="block-text max-w-md mx-auto">
    <p>In 2024, I plan to expand on this approach: identifying the marketing activities that we know are generating real (Stripe-verified) revenue.</p><h2>How you can help</h2><p>My first step is to learn more about how you&#039;re doing marketing now. </p><p>If you have a SaaS, <a href="https://forms.gle/rLgHSQ8URv4wrmhr6">please fill out this survey</a>.</p><p>You can also share my post on <a href="https://twitter.com/mijustin/status/1746319654853939318">​Twitter</a>, <a href="https://www.threads.net/@mijustin/post/C2D0l_LvDhZ">​Threads</a>, <a href="https://mastodon.social/@mijustin/111751347926801274">​Mastodon</a>, LinkedIn, and BlueSky.</p><p>Cheers,<br>Justin Jackson</p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[2023 year in review]]></title>
            <link>https://justinjackson.ca/2023-review</link>
            <guid>https://justinjackson.ca/2023-review</guid>
            <pubDate>Fri, 05 Jan 2024 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[For the last ten years, I've been writing a year-in-review post. Here's what happened this past year in my bootstrapping journey.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/content/justin-jackson-berlin.jpg" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>Happy 2024! It&#039;s time for my annual review for 2023.</p><p>For the last ten years, I&#039;ve been sharing my thoughts and reflections in a year-in-review post each year. As a collective, these reviews describe my entire bootstrapping journey, both the breakthroughs and the struggles.</p><p>(You can read <a href="https://justinjackson.ca/2022-review"><strong>2022</strong></a>, <a href="https://justinjackson.ca/2021-review"><strong>2021</strong></a>, <a href="https://justinjackson.ca/2020-review"><strong>2020</strong></a>, <a href="https://justinjackson.ca/2019-review"><strong>2019</strong></a>, <a href="https://justinjackson.ca/2018-review"><strong>2018</strong></a>, <a href="https://justinjackson.ca/2017-review/"><strong>2017</strong></a>, <a href="https://justinjackson.ca/2016-review/"><strong>2016</strong></a>, <a href="https://justinjackson.ca/2015-in-review/"><strong>2015</strong></a>, <a href="https://justinjackson.ca/2014-a-year-of-making-stuff/"><strong>2014</strong></a>, and <a href="https://justinjackson.ca/2013-revenue-stats/"><strong>2013</strong></a> here).</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/justin-jackson-berlin.jpg" alt="/assets/content/justin-jackson-berlin.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <h2>The big life question</h2><p>Every year, I ask myself: &quot;What am I optimizing my life for?&quot; My current answer is:</p><blockquote><p>I&#039;m optimizing for a good life.</p></blockquote><p>A &quot;good life&quot; doesn&#039;t mean my life is perpetually easy, perfect, or always happy. For me, a good life means:</p><ul><li><p>Maximizing my life for freedom, simplicity, creativity, fun, learning, enjoyment, and self-actualization.</p></li><li><p>Realizing my potential and contributing to the potential of other humans.</p></li><li><p>Pursuing meaningful activities with people that I love.</p></li><li><p>Building and sustaining healthy communities.</p></li><li><p>Earning enough money to live well.</p></li><li><p>Living ethically and with integrity.</p></li><li><p>Investing in relationships.</p></li></ul><p>An important part of my journey was realizing that <strong>business is a means to an end</strong>. Running a business shouldn&#039;t make us miserable. Instead, it should serve the purpose of enhancing our lives. A healthy business has <a href="https://justinjackson.ca/margin">healthy margins</a> and should enable you to have a better life.</p><h2>Transistor update</h2><p><a href="https://transistor.fm/?via=justin"><strong><em>Transistor</em></strong></a><em> is my main business. It&#039;s a podcast hosting and analytics platform I co-founded with Jon Buda in 2018.</em></p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/transistor-team-in-nashville.jpg" alt="/assets/content/transistor-team-in-nashville.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>The Transistor team has five full-time people: Josh, Jason, Helen, Jon, and myself. We also hired Michael part-time this past year to help with customer support (not pictured).</p><h3>Overall feelings</h3><p>January 2024 will mark <strong>six years </strong>of Jon and I working on Transistor together. That&#039;s wild because, in my head, it only feels like three years.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/jon-justin-2023.jpg" alt="/assets/content/jon-justin-2023.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>I love our team. I love our customers (podcasters). I love our product. This is the best job I&#039;ve ever had. I feel an enormous amount of gratitude that I get to earn a living doing this work with these people.</p><p>On the other hand, six years is also a weird milestone for a founder. As an entrepreneur, so much of your journey is dedicated to building something that works. What happens once you achieve that goal?</p><p>For Jon and me, our initial goal was to be able to quit our other jobs and go full-time on Transistor. We achieved that in <a href="https://justinjackson.ca/2019-review">2019</a>:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/transistor-mrr-first-two-years.png" alt="/assets/content/transistor-mrr-first-two-years.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>In <a href="https://justinjackson.ca/2020-review">2020</a>, my goal was to rebuild my personal financial margin: I paid off my line of credit, rebuilt my savings, and regularly contributed to my retirement fund again.</p><p>In <a href="https://justinjackson.ca/2021-review">2021</a>, Jon and I started optimizing the company to make our lives easier. We hired <a href="https://transistor.fm/helen/">Helen in April</a> to be in charge of customer support and <a href="https://transistor.fm/jason/">Jason in August</a> to help Jon on the engineering side.</p><p>And since 2021, I think Jon and I have been searching for new goals to motivate us. Some people get motivated by growth, the thought of being acquired, or hiring hundreds of people. But that&#039;s not really us. </p><p>Over the past year, I&#039;ve been thinking about two dimensions of our work that are meaningful for me:</p><ul><li><p><strong>The product exists to make our customers’ lives better.</strong></p></li><li><p><strong>The company exists to make our team members&#039; lives better.</strong></p></li></ul><p>Our team gets excited about building a great experience for our customers. Unlike so many other jobs, we have a direct connection with our customers: we can see the effect of our work because <a href="https://twitter.com/arvidkahl/status/1734703839268249741">customers tell us about it</a>! It&#039;s gratifying to show up daily and get to do good work that has an impact.</p><p>Doing meaningful work is one way that Transistor has made our lives better. But the company has done so much more for me (and, I believe, for our team members).</p><p>These feelings were mirrored by Ben Gilbert&#039;s experience of <a href="https://www.acquired.fm/episodes/holiday-special-2023">transitioning to full-time</a> work on the <a href="https://www.acquired.fm/">Acquired podcast</a>:</p><blockquote><p>This project has led to so many things that have made building a family possible. The house I&#039;m standing in is thanks to Acquired. The lifestyle I enjoy is a hundred percent Acquired, the fact that I wander around all day listening to audiobooks, the thing that it&#039;s done to my demeanor and my personality. Truly, the life that myself and my family enjoy is because of what we&#039;ve built.</p></blockquote><p>I&#039;m thankful for all this; I don&#039;t take it for granted. And, as much as possible, I&#039;d like to ensure that it continues. But it feels like we don&#039;t have a big overarching goal as we used to when trying to reach profitability. Maybe that&#039;s OK? We built something that&#039;s working; maybe it&#039;s enough to ensure that it continues to work.</p><h3>Less lonely, less stressed, more productive</h3><p>Last year, I wrote that I was &quot;feeling the need for collaboration.&quot; Much of this came from observing Jon and Jason working together on the engineering side. I longed for that kind of energy and collaboration on the marketing side of the business.</p><h4>Hiring Josh Anderton</h4>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/joshua-jon-justin.jpg" alt="/assets/content/joshua-jon-justin.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Enter <a href="https://transistor.fm/josh/">Joshua Anderton</a>. I started working with Josh as a part-time contractor in October 2022. After accomplishing a ton together on the marketing site, we decided to bring him on full-time on March 27, 2023.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/new-transistor-homepage.jpg" alt="/assets/content/new-transistor-homepage.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>This past year, Josh and I have shipped a ton of new features on the marketing site:</p><ul><li><p>New <a href="https://transistor.fm/?via=justin">homepage</a>, with <a href="https://www.youtube.com/watch?v=OegZQ-ySzh0">dynamic content blocks</a> that we can add/remove. (<a href="https://twitter.com/mijustin/status/1634349732951621636">Demo</a>)</p></li><li><p>New <a href="https://twitter.com/mijustin/status/1616240014974939136">reviews and testimonials</a> page.</p></li><li><p>New <a href="https://transistor.fm/how-to-start-a-podcast/?via=justin">&quot;how to start a podcast&quot;</a> guide.</p></li><li><p>Redesign of our <a href="https://transistor.fm/free-podcast-intro-music/">free podcast music tracks</a> page. (<a href="https://twitter.com/mijustin/status/1620175389904748545">Demo</a>)</p></li><li><p>Redesign of our <a href="https://transistor.fm/pricing/">pricing</a> page. (<a href="https://twitter.com/mijustin/status/1663654005313265665">Demo</a>)</p></li><li><p>Redesign of our <a href="https://transistor.fm/features/">Features</a> index.</p></li><li><p>Redesign of individual feature pages. (<a href="https://transistor.fm/features/podcast-analytics-software/">Example</a>)</p></li><li><p>Redesign of our <a href="https://transistor.fm/blog/">Blog</a> index.</p></li><li><p>Redesign of our <a href="https://transistor.fm/changelog/">Changelog</a>.</p></li><li><p>Automatically generate Google Structured data for pages with FAQs. (<a href="https://twitter.com/mijustin/status/1667248888041054208">Demo</a>)</p></li></ul><p>Josh also helped design an updated <a href="https://transistor.fm/changelog/custom-colors-embed/">embeddable player</a> and designed and launched a <a href="https://transistor.fm/changelog/cardboard/">new website theme</a>.</p><h4>Hiring Michael Green</h4><p>Since we launched in 2018, I&#039;ve done much of Transistor&#039;s customer support. Customer service is hugely important to me; I think it&#039;s one of the most important &quot;features&quot; a SaaS has. </p><p>When we hired Helen, she covered all the time zones I couldn&#039;t and took over doing our demo calls. This was a huge relief, but I was still answering tickets constantly, from when I woke up until I went to bed every day (including weekends and holidays).</p><p>It meant I was never present at home, with my family, or with friends.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/michael-green.jpg" alt="/assets/content/michael-green.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>I met Michael at a local tech meetup here in Vernon. He was looking to transition his career into the tech industry. I asked him if he&#039;d be willing to cover our customer support during the summer-fall months to give me a reprieve while traveling.</p><p>Because he was local, he could come to my office and have me train him there. Within a few weeks, he confidently responded to customer inquiries on our live chat. And since then, he&#039;s been absolutely killing it. We regularly get messages like this from customers:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/michael-green-customer-support-kudos.png" alt="/assets/content/michael-green-customer-support-kudos.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Since Michael and I met earlier this year, we&#039;ve become good friends. He&#039;s also the funniest person I met in 2023.</p><h3>Three mini divisions</h3><p>What&#039;s great is each of us now has a mini team of two: </p><ul><li><p>Customer success: Helen and Michael</p></li><li><p>Marketing: Justin and Josh</p></li><li><p>Engineering: Jon and Jason</p></li></ul><h3>Team retreat</h3><p>Last year was our first team retreat (in <a href="/team-retreat">Montreal</a>). For our 2023 retreat, we traveled to Nashville, Tennessee. </p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/transistor-podcasting-team-retreat-2024.jpg" alt="/assets/content/transistor-podcasting-team-retreat-2024.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Getting together as a team (at least once a year) is incredibly important when you work remotely.</p><p>There&#039;s no substitute for playing games, eating meals, and making memories together. It&#039;s like reapplying a fresh layer of glue to the team: I leave that week feeling more connected and aligned.</p><p>Before the retreat, Jon and I revised our Company Handbook, which was immensely clarifying (for both of us and hopefully the team). </p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/transistor-company-handbook-v2.png" alt="/assets/content/transistor-company-handbook-v2.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>It describes how we work at Transistor: what we value, how decisions are made, and our vision for the future. The hope is that it will help the team feel like we&#039;re on the same page and have reasonable expectations of each other and our work.</p><p>One of our main objectives for the retreat was to have <em>fun together</em> (and make memories). A few memorable highlights were:</p><ul><li><p>Going to the Grande Ole Opry together.</p></li><li><p>Sharing some incredible meals at excellent restaurants.</p></li><li><p>Cruising down Broadway and marvelling at all the incredible musicians there.</p></li><li><p>Playing card games together (specifically &quot;Cheat&quot;) and <a href="https://www.jackboxgames.com/">Jackbox games</a> on the Nintendo Switch.</p></li><li><p>Hiring a photographer, going on a &quot;photo walk&quot; of Nashville, and getting these hilarious shots of the team together.</p></li></ul>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/tranasistor-team-retreat-fun.jpg" alt="/assets/content/tranasistor-team-retreat-fun.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <h3>New Transistor features launched in 2023</h3><p>As a team, we love observing podcasters, getting customer insights, imagining solutions, and launching new features. Here&#039;s some of what we launched this past year:</p><ul><li><p><a href="https://transistor.fm/changelog/embed-youtube/">Embed YouTube videos</a> in podcast episode pages</p></li><li><p><a href="https://transistor.fm/changelog/new-patreon-integration/">New Patreon integration</a> that showcases your supporters on your podcast&#039;s website.</p></li><li><p><a href="https://transistor.fm/changelog/chapters-in-episodes/">The ability to add chapters</a> to podcast episodes.</p></li><li><p><a href="https://transistor.fm/changelog/cardboard/">New website design</a> for podcast websites.</p></li><li><p><a href="https://transistor.fm/changelog/scheduling/">Ad campaign scheduling</a> for our DAI feature.</p></li><li><p><a href="https://transistor.fm/changelog/episode-comparison/">A really cool burndown chart</a> that allows you to compare downloads per episode.</p></li><li><p><a href="https://transistor.fm/changelog/">1-click submit your podcast to Pocket Casts</a>.</p></li><li><p><a href="https://transistor.fm/changelog/custom-colors-embed/">Customize colors</a> on the embeddable podcast player.</p></li><li><p><a href="https://transistor.fm/changelog/apple-subscriptions/">Delegated delivery for Apple Podcasts Subscriptions</a> (a way to monetize your podcast).</p></li><li><p>Automatic transcription for podcast episodes. (Not yet live, but in beta).</p></li></ul><h3>How we think about building new features</h3><p>Committing to build a feature is like making a bet. In our new Handbook, we explored the question &quot;Why do we build new features?&quot; and came up with these answers:</p><ul><li><p>improve the experience of existing customers,</p></li><li><p>help us attract new customers or new revenue,</p></li><li><p>improve our experience as team members,</p></li><li><p>be fun/interesting for us to work on.</p></li></ul><p>We also created a framework for evaluating potential new features from a company perspective:</p><ul><li><p>Does this decision match up with our values?</p></li><li><p>Is this decision going to make working at Transistor more busy, more complicated, and less fun?</p></li><li><p>Will this decision increase our customer support load?</p></li><li><p>What’s our primary motivation for this? Is it customer-focused, or is it a reaction to something that doesn&#039;t matter?</p></li></ul><p>One feature, our delegated delivery integration with Apple, was a particularly hard slog (especially for Jason and Jon). I had pushed for it because it makes a future feature (that could benefit new podcasters) possible. But I realized we can&#039;t push through too many of those &quot;hard slog&quot; features. They can be draining.</p><h2>Travel</h2><p>In addition to traveling to Nashville for the team retreat, I got to go on some great trips this year.</p><h3>Podcast Movement</h3>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/podcast-movement-denver.jpg" alt="/assets/content/podcast-movement-denver.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Jon and Josh joined me in Denver, Colorado, for Podcast Movement this year. This is &quot;the&quot; big event for the podcast industry in North America. It allows us to meet face-to-face with some of Transistor&#039;s bigger partners (Apple Podcasts and Spotify) and interact with customers and other podcasting friends.</p><h3>Europe</h3>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/antwerp.jpg" alt="/assets/content/antwerp.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>I was invited to speak at <a href="https://fullstackeurope.com/2023">Full Stack Europe</a> this year, so my wife and I decided to go together. In addition to the conference, we explored Amsterdam, Antwerp, and Berlin and met some amazing people. </p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/amsterdam.jpg" alt="/assets/content/amsterdam.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>The whole experience was incredible. Somebody said: &quot;Time slows down when traveling because you&#039;re experiencing so many new things. You&#039;re out of your comfort zone the whole time.&quot;</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/trains.jpg" alt="/assets/content/trains.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Our train trip to Berlin was particularly fun for me. I&#039;m a big fan of trains, but living in the Pacific Northwest of North America, we don&#039;t have good passenger rail. I loved traveling from Antwerp&#039;s (beautiful!) train station to Berlin, enjoying the view, going to the restaurant car, and working on the train.</p><h2>A new experiment: The Family Business™</h2><p>Even before I started <a href="https://transistor.fm/?via=justin">Transistor</a> with Jon, I had my own corporation (Nerd North Inc.). </p><p>Under that banner, I did consulting, launched products, operated a <a href="https://coworkvernon.com/">coworking office</a>, organized local events, and launched side projects.</p><p>I like  the flexibility of maintaining my own company (aside from Transistor). It&#039;s allowed me to invest in new experiments and try new projects independently. It&#039;s like my personal idea lab.</p><p>My wife and I have always run the business together, but I wanted to figure out how to get my kids involved.</p><p>Over the summer, we decided to hire all four (aged 14-21).</p><p>I assign them three types of projects:</p><ol start="1"><li><p><strong>Creative work for the business:</strong> video editing, thumbnail creation, animation, copyediting.</p></li><li><p><strong>Creative projects they were interested in exploring:</strong> making a <a href="https://megamaker.ca/tableFlipper/">video game</a>, <a href="https://www.youtube.com/watch?v=RP7hAGUEz1s">animation projects</a>, coding projects.</p></li><li><p><strong>Admin work:</strong> bookkeeping, software upgrades, server maintenance, answering email, running payroll.</p></li></ol><p>There are four big motivations for hiring my kids:</p><ol start="1"><li><p><strong>Spend more time with them</strong>: my daughter is going to college in a different city, and we don&#039;t get to see each other much. But now, every week, we have a call where she helps me do all the administrative tasks I&#039;ve been procrastinating on. In the second half of the call, she reviewed other indie creators&#039; newsletters for me and gave me tips on what I could incorporate. Likewise, I&#039;ve been able to spend a lot more time with my three boys (who all live at home) because we almost always have a project to discuss.</p></li><li><p><strong>Teach them what I know about tech and business:</strong> making money takes practice, and I want to give them opportunities to build and launch their projects and earn an income from them. We&#039;re especially focused on what it takes to <em>ship</em> a project. (It&#039;s one thing to experiment, but quite another to get it out the door).</p></li><li><p><strong>Run more experiments: </strong>we have the margin to try things. I want to return to making more things (similar to when I made <a href="https://docs.google.com/document/d/16gVonXDjdvlj6yBP-hOmbktugZ3-QkLOw_nhRN9xlUs/edit#heading=h.53lngiuwrua4">100 things in a year</a>). Doing it with my kids will be a lot of fun.</p></li><li><p><strong>Get more done: </strong>running a business takes a lot of work. All four of my kids are old enough to help me with tasks (video editing, bookkeeping, cleaning, etc), learn new skills, and have a real impact on our business. They get to be part of how our family earns an income.</p></li></ol><p>Overall, this was one of my favorite things I did in 2023. It hasn&#039;t been perfect, but I can see the potential for us to try a lot of new projects together in 2024.</p><p>Here are a few ideas we&#039;re thinking about exploring:</p><ul><li><p>Launching an indie video game on Steam (and attending a few indie game events).</p></li><li><p>Launching a new YouTube channel and blog reviewing tech, cars, and outdoor equipment.</p></li><li><p>Launching a mini-SaaS/web application together.</p></li></ul><h2>What else happened in 2023?</h2><p>I spent many great days snowboarding at Silverstar Mountain and Revelstoke with family and friends.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/snowboarding-with-friends-at-silverstar.jpg" alt="/assets/content/snowboarding-with-friends-at-silverstar.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>I bought a Loopstation (<a href="https://www.boss.info/us/products/rc-505mk2/">RC505 Mark II</a>) and enjoyed making audio loops (I published some of them on <a href="https://www.tiktok.com/@mijustin1/video/7234539905651674373">TikTok</a>, much to my kids&#039; chagrin).</p><p>I saw lots of live music: <a href="https://exodusattack.com/site/">Exodus</a>, Anthrax, Herbie Hancock, and many local bands. My wife and I also went to the Rifflandia festival with our daughter Sadie, which was really fun.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/live-music.jpg" alt="/assets/content/live-music.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Plus, I saw Iron Maiden (one of my favorite bands) TWICE, in Edmonton and Vancouver. I brought my three teenage boys and met up with my brother and friends at both shows.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/iron-maiden.jpg" alt="/assets/content/iron-maiden.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>My wife helped me turn my office into an awesome YouTube/podcasting studio. She took Kevin Shen&#039;s <a href="https://dreamstudiocourse.com/">Dreamstudio course</a>, which was hugely helpful. She bought all the lights, the camera, the lenses, and sourced dozens of retro radios (tube and transistor!) for the backdrop. </p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/justin-youtube-podcast-studio-before.jpg" alt="/assets/content/justin-youtube-podcast-studio-before.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>I really like how it turned out!</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/justin-podcast-studio-office.jpg" alt="/assets/justin-podcast-studio-office.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Other highlights:</p><ul><li><p>I hosted Geek Beers meetups and a handful of Hack Nights here in Vernon</p></li><li><p>Our daughter Sadie (attending school in Victoria) visited us over the Christmas holiday.</p></li><li><p>My eldest son, Marty, graduated from high school! (He also got his license and bought his first car).</p></li><li><p>My wife and I spent much time on the water, paddleboarding.</p></li><li><p>We had an awesome camping trip with friends close to Revelstoke in the summer.</p></li><li><p>My sister, her husband, my nieces, and my nephew all came to visit in August.</p></li><li><p>Walking to work with my friend Andy most days of the week.</p></li><li><p>Working alongside incredible people at Cowork Vernon, especially my friend Marco (who helps run it with me).</p></li><li><p>Saturday morning &quot;coffee klatches&quot; at <a href="https://www.ratiocoffee.ca/">Ratio</a> with Mahlon, Daryl, Yuri, and whoever else showed up.</p></li><li><p>We spent many days at the beach.</p></li><li><p>I did a road trip to <a href="https://justinjackson.ca/silverwood-theme-park/">Silverwood Theme Park</a> with my two youngest boys in August.</p></li><li><p><a href="https://megamaker.co/">MegaMaker</a> (the private community for bootstrappers I started) celebrated 10 years!</p></li><li><p>I saw many amazing sunsets.</p></li><li><p>I went to one yoga class.</p></li><li><p>I started working out in the mornings.</p></li></ul>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/other-2023-highlights.jpg" alt="/assets/content/other-2023-highlights.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Not awesome:</p><ul><li><p>I had a downhill mountain biking accident and <a href="https://twitter.com/mijustin/status/1677009532600594438">split my arm open</a>.</p></li><li><p>Wildfire decimated nearby <a href="https://twitter.com/mijustin/status/1692446956784902314">Kelowna</a> and caused a summer filled with bad smoke and air quality.</p></li></ul><h2>Ideas, goals, and plans for 2024</h2><ul><li><p>Planning on going to Podcast Movement in Washington, August 19-22.</p></li><li><p>I want to do a snowboarding trip in Revelstoke with my brother.</p></li><li><p>I want to start investing in (and advising) other indie SaaS businesses. I&#039;m especially interested in founders coming out of the <a href="https://twitter.com/mijustin/status/1734331996510585117">Laravel community</a>.</p></li><li><p>I want to plan a trip for the family during my boys&#039; spring break.</p></li><li><p>I want to plan a trip in August for the whole family (it will likely need to be somewhere not affected by wildfire smoke).</p></li><li><p>I&#039;d love to go back to NYC this year.</p></li><li><p>I&#039;m also considering attending <a href="https://laracon.us/">Laracon USA</a>.</p></li><li><p>Do a founder&#039;s retreat with Jon (maybe in Chicago?).</p></li><li><p>More weekend trips with Lorinda!</p></li><li><p>I want to start a new podcast that I regularly publish every week. (Jeremy Enns and I are working on a short-run series on podcast growth right now).</p></li><li><p>I want to grow my newsletter, blog, podcast, and YouTube channel audience.</p></li></ul><p>Cheers,<br>Justin Jackson<br><br>Connect with me on:<br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a><br>🧵 <a href="https://www.threads.net/@mijustin">Threads</a><br>🐦 <a href="https://twitter.com/mijustin">Twitter</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

<div class="block-text max-w-md mx-auto">
    <p></p>

</div>
]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Ten SaaS marketing principles for 2024]]></title>
            <link>https://justinjackson.ca/best-saas-marketing-strategies</link>
            <guid>https://justinjackson.ca/best-saas-marketing-strategies</guid>
            <pubDate>Sat, 16 Dec 2023 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[These are my best marketing tips for indie hackers, solopreneurs, and SaaS founders.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/content/10-commandments-for-marketing-indie-saas.jpg" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>&quot;Marketing an indie software company today is way harder than 5-10 years ago.&quot;</p><p>I hear this all the time, and it&#039;s true. Almost every category is more competitive, and marketing channels are saturated.</p><p>However, there are still overarching marketing principles that will work in 2024.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/10-commandments-for-marketing-indie-saas.jpg" alt="/assets/content/10-commandments-for-marketing-indie-saas.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <h3>1. When you deeply understand your category, you&#039;ll intuitively find marketing channels that work.</h3><p>People often ask me: &quot;I&#039;m in the XYZ industry. What are the best ways to reach customers?&quot; My response is always: you should be the expert on the niche you&#039;re pursuing. </p><p>If you&#039;re unfamiliar with the conferences, YouTube channels, Slack channels, podcasts, meetups, and newsletters folks in your category engage with, that&#039;s a bad sign! You&#039;re the expert on your target customer: you should know how to reach them.</p><h3>2. Build a product that people are already searching for.</h3><p>The best form of marketing is when you take pre-existing customer demand and direct that momentum toward your product. Build a product that people are already searching for. Generally, indie entrepreneurs should be building products for customers who are already in motion looking for a solution. If there&#039;s no underlying demand, your marketing efforts will be wasted.</p><h3>3. Have a strong presence on search engines.</h3><p>When someone wants to buy a toaster, they&#039;ll likely type &quot;best toaster&quot; into a Google search. Or, perhaps they&#039;d go to YouTube and type in &quot;toaster reviews.&quot;</p><p>When they&#039;re ready to buy, many customers go to search engines first.</p><p>For most products, this will likely be a search on Google. However, there are also other search engines people don&#039;t think about: Apple Podcasts, Shopify Apps, WordPress plugin directory, Reddit, Twitter, ChatGPT apps, etc.</p><p>Likewise, you&#039;ll also want to have a strong presence in communities, meetups, events, forums, Reddit, Slacks, where products like yours get recommended and discussed. </p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <blockquote class="twitter-tweet tw-align-center"><p lang="en" dir="ltr">Can anyone recommend a good + accurate transcription service for long-form content like podcasts?</p>&mdash; Ali Abdaal (@AliAbdaal) <a href="https://twitter.com/AliAbdaal/status/1435140947533258753?ref_src=twsrc%5Etfw">September 7, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</div>
<div class="block-text max-w-md mx-auto">
    <h3>4. Almost every sustainable marketing strategy will include some form of SEO, referrals, and brand building.</h3><p>As much as possible, it&#039;s better to invest in &quot;snowball channels&quot; over &quot;slot machine channels.&quot;</p><h4>Snowball marketing channels</h4>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/snowball-pushed-down-a-hill.jpg" alt="/assets/content/snowball-pushed-down-a-hill.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Snowball channels include SEO, mailing lists, blogging, and YouTube. They take a considerable amount of initial investment, but those efforts typically snowball into something bigger that continues to attract leads. For example, if you publish an authoritative video on YouTube, it will often gain steam as more and more people find it.</p><h4>Slot machine marketing channels</h4>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/slot-machine-channels.jpg" alt="/assets/content/slot-machine-channels.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p><strong>Slot machine channels </strong>include activities like pay-per-click (PPC) advertising, where you put money in and hope to get money out. Typically, these efforts don&#039;t snowball; they require continued investment to work. I&#039;d also put &quot;Product Hunt launch&quot; in this category: you do the launch (pull the lever), hoping for a good result, but it&#039;s not repeatable.</p><h3>5. Focus on 1-2 marketing experiments at a time</h3><p>While exploring various channels, remember that some, like SEO and PPC, require months of effort before yielding results. For indie startups, limit yourself to focusing on 1-2 channels at a time.</p><h3>6. Become the &quot;darling&quot; of your category</h3><p>Seth Godin famously invented the idea, “People like us use products like this.” </p><p>In certain categories, a handful of products become the “darlings” for that group. How do you become the “darling?”</p><ul><li><p>Have a product that’s genuinely better than the competition.</p></li><li><p>Reach out to key people in the community and convince them to try it.</p></li><li><p>Try to create momentum: you want it to feel like everyone is switching to your product because of X, Y, and Z.</p></li></ul><h3>7. Use customer service as an acquisition channel. </h3><p>Exceptional customer service isn&#039;t just a value-add; it&#039;s a potent marketing tool. Happy customers become brand ambassadors, driving organic word-of-mouth referrals.</p><h3>8. User personal and corporate brands simultaneously</h3><p>Over at <a href="https://transistor.fm/?via=justin">Transistor</a>, my personal brand (blog, podcast interviews, Twitter, email newsletter, YouTube) still drives many of our leads.</p><p>But we&#039;ve also invested heavily in our <a href="https://transistor.fm/blog/?via=justin">company blog</a>, <a href="https://www.youtube.com/channel/UCY-RAM94RTpFuXvcYnRDqCA">YouTube channel</a>, and email newsletter.</p><p>Utilizing personal brands and your corporate brand gives you more surface area for people to hear about you.</p><h3>9. Prioritize high-volume channels. </h3><p>For 100 leads, you might need a traffic influx of 30,000 visitors. If you have a high trial-to-paid conversion (~70%), that will net you 70 customers. The point is that most channels need lots of top-of-funnel traffic to work.</p><p>Likewise, most channels need a high volume of content/ads/impressions to work.</p><p>The more content you publish and ads you run, the more impressions and clicks you&#039;ll get.</p><h3>10. Marketing needs to be something you&#039;re constantly working on.</h3><p>Remember: you have competitors competing for the same channels you are. Those search terms you own right now? Your competitors want those.</p><p>I treat marketing like this: every day, I&#039;ve got to move the ball further down the field. Think of it as a game where you can outpace the competition every day.&quot; </p><p>Cheers,<br>Justin Jackson<br><br>Connect with me on:<br>💼 <a href="https://www.linkedin.com/in/justinijackson/">LinkedIn</a><br>🐘 <a href="https://mastodon.social/@mijustin">Mastodon</a><br>🧵 <a href="https://www.threads.net/@mijustin">Threads</a><br>🐦 <a href="https://twitter.com/mijustin">Twitter</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Advice for Sending Cold Emails and DMs]]></title>
            <link>https://justinjackson.ca/cold-email</link>
            <guid>https://justinjackson.ca/cold-email</guid>
            <pubDate>Tue, 21 Nov 2023 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[With cold emails or DMs, your main objective should be creating a connection (not asking for a sale). You might make a sale in the future, but that shouldn't be the intention.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/spam-dms.jpg" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>Someone just sent me five duplicated, poorly targeted emails in a row:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/bad-cold-email-spam.png" alt="/assets/content/bad-cold-email-spam.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Writing &quot;I trust this email finds you well&quot; in multiple cold emails and then aggressively asking me to book a call is the worst way to earn my trust.</p><p>In sales and marketing, we should <strong>do things with the intention of getting results.</strong></p><p>This isn&#039;t just true for cold emails; it applies to all our efforts. There&#039;s no point in putting effort into something destined to fail structurally.</p><p>With cold emails or DMs, your main objective should be creating a connection (not asking for a sale). You might make a sale in the future, but that shouldn&#039;t be the intention.</p><p>Here&#039;s an example of a good cold email that did get my attention:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/email-from-student.png" alt="/assets/content/email-from-student.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>The lesson? A genuine request for advice is a good way to create a connection.</p><p>Giving advice doesn&#039;t require much effort (it&#039;s not too big of an ask). Plus, it feels good to give advice and help someone out.</p><p>A few notes:</p><ul><li><p>Don&#039;t ask to &quot;hop on a call.&quot; A Zoom meeting with a stranger is a tremendous ask. Keep your request small.</p></li><li><p>Keep your message short: the harder it is to parse your question, the more unlikely the person will answer.</p></li><li><p>Don&#039;t have an &quot;ulterior motive.&quot; The worst thing you could do is think: &quot;First, I&#039;ll ask them for advice, and then I&#039;ll follow up and ask them to buy my thing.&quot;</p></li></ul><p>You can also increase your chances of a response if you&#039;ve been working to make yourself more recognizable:</p><ul><li><p>Send encouraging tweets, emails, and YouTube comments: &quot;Hey, I appreciated this episode! It made me think of X. Thanks for putting it out.&quot;</p></li><li><p>Put out helpful blog posts, tutorials, and podcasts. This will make it more likely that someone&#039;s heard of you and will recognize your name.</p></li><li><p>Be a customer! Supporting someone&#039;s work is a great way to get their attention.</p></li></ul><p>Develop a reputation for being encouraging, helpful, and kind; folks will notice. When you ask for a favor, people will likely say &quot;yes.&quot;</p><p>Cheers,<br>Justin Jackson<br>Connect with me on: 💼 <a href="https://www.linkedin.com/in/justinijackson/">​LinkedIn​</a> 🐘 <a href="https://mastodon.social/@mijustin">​Mastodon​</a> 🧵 <a href="https://www.threads.net/@mijustin">​Threads​</a> 🐦 <a href="https://twitter.com/mijustin">​Twitter</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[The Prosumer market is underrated]]></title>
            <link>https://justinjackson.ca/prosumers</link>
            <guid>https://justinjackson.ca/prosumers</guid>
            <pubDate>Mon, 13 Nov 2023 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[Contrary to common advice, you don't have to build software products that serve B2B. Don't sleep on the prosumer market!]]></description>
            
            <media:content url="https://justinjackson.ca/assets/prosumer-saas-indie-hacker.jpg" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>The normal advice for people building SaaS companies is &quot;Don&#039;t build software for consumers (B2C); build it for businesses (B2B).&quot; But, there&#039;s a third category that doesn&#039;t get very much attention: <strong>prosumers.</strong></p><p>Business-to-consumer (B2P) is an underrated business model; here&#039;s why.</p><h2>Who are Prosumers?</h2><p><a href="https://en.wiktionary.org/wiki/prosumer#Etymology_2">Here</a> is Wikipedia&#039;s definition of prosumer:</p><blockquote><p>A serious, enthusiastic consumer: not professional (earning money), but of similar interest and skills to a (generally lower level) professional, or aspiring to such. The target market of <em>prosumer</em> equipment.</p></blockquote><p>I want to expand on this definition:</p><p>Prosumers are individuals who straddle the line between being consumers and producers. They&#039;re incentivized to invest in products and services with the dream of earning a side income. These are people who:</p><ul><li><p>Upgrade to high-end cameras and lighting to create better YouTube content.</p></li><li><p>Purchase software development courses to advance their career prospects.</p></li><li><p>DJs who enhance their live streaming capabilities with specialized software.</p></li><li><p>Aspiring interior designers leveraging AI for innovative design concepts.</p></li><li><p>Enthusiasts who start a newsletter in their areas of interest using platforms like <a href="https://convertkit.com?lmref=erdpyA">ConvertKit</a>.</p></li></ul><p>I first heard the term &quot;prosumer&quot; in the 90s when I started reading <a href="https://www.videomaker.com/magazine">Videomaker Magazine</a>. As a teenager, I was obsessed with camcorders and editing videos. </p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/videomaker-magazine.png" alt="/assets/content/videomaker-magazine.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Through Videomaker, I learned there was an entire community of aspiring videographers producing documentaries, recording comedy sketches, and making skateboard videos. Many of us were also filming weekend weddings to earn some cash on the side.</p><p>We weren&#039;t quite <em>professional </em>videographers (it wasn&#039;t our full-time job), but we weren&#039;t &quot;just consumers.&quot; Most of us were spending serious money on equipment. In 1999, while still in college, I took out a loan to buy a Sony TRV-900 and a PC to edit video on (not easy in those days!).</p><p>In my mind, these purchases occupied a different space. It wasn&#039;t like buying CDs, clothes, or video games; I was buying camera gear to <em>make</em> something.</p><h2>The Prosumer Mindset</h2><p>The mindset of a Prosumer is distinct from that of a typical consumer: <strong>they view their purchases as investments rather than mere expenses.</strong> </p><p>Most Prosumers hope their pursuits will generate income someday, which fuels their desire to invest in tools, equipment, courses, and resources.</p><p>Generally, Prosumers aspire to:</p><ul><li><p>earn some extra money</p></li><li><p>earn a full-time income</p></li><li><p>improve their profile in an industry</p></li><li><p>build a brand they can take wherever they go</p></li><li><p>build an audience</p></li><li><p>meet interesting people</p></li><li><p>develop new skills they can use in their job</p></li><li><p>get good at their craft</p></li></ul><p>While Prosumers often purchase things aspirationally, many of their purchases also fill a need.</p><p>Examples:</p><ul><li><p>&quot;I was sending my newsletter manually using Gmail, and it got too popular, so now I need a tool.&quot;</p></li><li><p>&quot;I&#039;ve been publishing my show on YouTube, and I&#039;ve grown a big audience, but I&#039;ve been getting tons of requests for an audio version on Spotify, so I need to research how to do that.&quot;</p></li><li><p>&quot;I&#039;ve been DJing on the weekends for 2 years and made enough money to upgrade my PA.&quot;</p></li><li><p>&quot;I&#039;ve been taking photos and posting them to Instagram for years. Now, I have 30,000 followers. My plan is to upgrade to the iPhone 15 Max so that I can take even better photos.&quot;</p></li><li><p>&quot;My band has played 5 successful shows, so now it&#039;s time to get some merch made on Printful.&quot;</p></li><li><p>&quot;I&#039;ve been hosting this meetup for a few years, and I love making stickers from Sticker Mule for each event.&quot;</p></li></ul><h3>The Appeal of Serving Prosumers</h3><p>Targeting Prosumers offers unique advantages. Unlike B2B transactions (where there can be many decision makers), it&#039;s often easier for a Prosumer to make a purchasing decision. If it&#039;s something they&#039;re passionate about doing, they&#039;ll take out their credit card.</p><p>Furthermore, the Total Addressable Market (TAM) for Prosumers is growing. It encompasses creators (TikTokers, podcasters, YouTubers), career-oriented individuals (software developers, digital nomads, freelancers), and hobbyists (photographers, DJs, musicians, artists, classic car enthusiasts).</p><h2>Examples of Prosumer Products</h2><p>There are many digital product and SaaS businesses that have been successful in targeting Prosumers. These include:</p><ul><li><p><a href="https://usefathom.com/ref/EJPZOB">Fathom Analytics</a> for individual bloggers.</p></li><li><p><a href="https://tailwindui.com">Tailwind UI</a>, which is popular among web developers for personal projects.</p></li><li><p>Projects like <a href="https://photoai.com/">PhotoAI</a>, <a href="https://interiorai.com/">InteriorAI</a>, <a href="https://remoteok.com/">RemoteOK</a>, <a href="https://nomadlist.com/">NomadList</a>, and <a href="https://rebase.co/portugal">Rebase</a> by Peter Lievels.</p></li><li><p><a href="https://transistor.fm/?via=justin">Transistor</a> for podcast enthusiasts.</p></li><li><p>Aaron Francis&#039; <a href="https://screencasting.com/friends/justin">screencasting course</a> for &quot;creators, developers, or other subject matter experts who want to share content online.&quot;</p></li><li><p>Email marketing tools like <a href="https://convertkit.com?lmref=erdpyA">ConvertKit</a>, Mailchimp, and <a href="https://mailcoach.app/">Mailcoach</a> for budding writers.</p></li><li><p><a href="https://xnapper.com/">Xnapper</a> for those requiring professional-grade screenshots.</p></li><li><p><a href="https://carrd.co/">Carrd</a> for easy website creation.</p></li><li><p><a href="https://closet.tools/">Closet Tools</a> for people selling their clothes on Poshmark.</p></li></ul><p>While these companies can also serve traditional B2B customers, most users are individual creators.</p><p><a href="https://justinjackson.ca/charge-more">Price points for prosumer software</a> are typically lower, but these SaaS make up for that in volume (and can attract thousands of paying users).</p><p>Isn&#039;t customer support harder with prosumers? At <a href="https://transistor.fm/?via=justin">Transistor</a>, we have live chat, and it&#039;s been fine. Back when we were just two people, we regularly were able to answer 100 tickets a week. Since then, we&#039;ve hired people to help with customer support, but we&#039;re still a small team (6 people total).</p><p>My larger point: if you see an opportunity with growing demand, and it’s a good fit for you, don’t ignore it just because “it’s not B2B.”</p><p>Your business doesn’t have to fit the dominant narrative to be successful; indie B2Prosumer products can be incredibly profitable.</p><p>There are great opportunities to build awesome $1M-$5M/year businesses with Prosumer customers.</p><p>Cheers,<br>Justin Jackson<br><a href="https://twitter.com/mijustin">@mijustin</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

<div class="block-text max-w-md mx-auto">
    <p><em>This post was originally published on Feb 5, 2022. It&#039;s been updated since then.</em></p>

</div>
]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Ideas that create opportunities]]></title>
            <link>https://justinjackson.ca/actions</link>
            <guid>https://justinjackson.ca/actions</guid>
            <pubDate>Fri, 10 Nov 2023 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[Here is a list of ideas that you can do (now) that will create opportunities for yourself in the future.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/ideas-that-create-oppportunities.jpg" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>Here are some ideas on things you can do (now) that will create opportunities for yourself in the future:</p><ul><li><p><a href="https://transistor.fm/how-to-start-a-podcast/">Podcast</a></p></li><li><p>Give a talk</p></li><li><p>Write a blog</p></li><li><p>Go to meetups</p></li><li><p>Take a course</p></li><li><p>Learn new skills</p></li><li><p>Get a remote job</p></li><li><p>Join a community</p></li><li><p>Grow your network</p></li><li><p>Promote your work</p></li><li><p>Go to a conference</p></li><li><p>Start a newsletter</p></li><li><p>Publish on YouTube</p></li><li><p>Apply for a new job</p></li><li><p>Create a side-project</p></li><li><p>Explore a new industry</p></li><li><p>Collaborate with a friend</p></li><li><p>Build something in public</p></li><li><p>Become an expert on a topic</p></li><li><p>Ship a free project on the internet</p></li><li><p>Sell a small product on the internet</p></li></ul>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Flipping tables and hiring kids]]></title>
            <link>https://justinjackson.ca/flipping-tables</link>
            <guid>https://justinjackson.ca/flipping-tables</guid>
            <pubDate>Fri, 22 Sep 2023 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[]]></description>
            
            <media:content url="https://justinjackson.ca/assets/table-flipper-game-justin-jackson.png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>I have tons of stuff to share with you: the Transistor team and I just returned from our team retreat in Nashville (<a href="https://photos.app.goo.gl/VBPf3k67tH7sm6uZA">​here are some photos​</a>).</p><p>And soon, I&#039;ll be heading to Belgium to speak at <a href="https://fullstackeurope.com/2023">​Full Stack Europe​</a> (you can still <a href="https://ti.to/on3/fseu23/discount/Justin">get tickets here​</a>).</p><p>But it&#039;s Friday, and today I want to share with you two things:</p><ol><li>A game I built with my teenage boys</li><li>How I hired all 4 of my kids (aged 13-20) this summer</li></ol><p>---------------------------------</p><h2>Flipping tables</h2><p>This past summer, I wanted to work on projects with my three teenage sons.</p><p>One idea we had was to build a simple game reminiscent of the old Flash-based games we used to play.</p><p><strong>Introducing: Table Flipper, the table-flipping video game
👉 </strong><a href="https://megamaker.ca/tableFlipper/">​play the game online here​</a> (desktop only)</p><p>(╯°□°)╯︵ ┻━┻</p><p>My oldest son (Marty) programmed it, my youngest son (Liam) helped with the concept and tons of game testing, ​and my second youngest (Jamis) created <a href="https://youtu.be/RP7hAGUEz1s">this amazing trailer</a>. </p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class='embed-container'><iframe src='https://www.youtube.com/embed//RP7hAGUEz1s?rel=0' frameborder='0' allowfullscreen></iframe></div>
</div>
<div class="block-text max-w-md mx-auto">
    <p><em><br>&quot;Are you mad at work? Do you sometimes want to flip your table? We&#039;ve got just the game for you: Table Flipper, the table-flipping video game.&quot;</em></p><p>We would love it if you tried it out and shared it with your friends.</p><p>Currently, MOM has the high score. 😄</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/mom-score.png" alt="/assets/content/mom-score.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>To see your high score, you&#039;ll need to refresh the browser. I&#039;ll give a free copy of <a href="https://www.devmarketing.xyz/">​Marketing for Developers​</a> to the first person who gets a score over 150.</p><p>---------------------------------</p><h2>Hiring your kids</h2><p>This game is just a small piece of an experiment I ran this summer.</p><p>I hired my four kids (aged 13-20) to work on two types of projects with me in June-August:</p><ol><li><strong>Real work projects: </strong>they helped me edit my YouTube videos, update my blog, bookkeeping, edit my podcast show notes, create thumbnails, and more.</li><li><strong>Creative projects:</strong> we also worked on fun projects like this game. The idea was to help them experience the process of conceptualizing something, scoping it, building it, shipping it, and promoting it.</li></ol><p>They often came to the office with me (I rent a coworking space downtown).</p><p>I also paid them! They got to see (first-hand) what it was like to do the work I do and do projects that actually got shipped (website projects, YouTube videos, this game).</p><p>Having them participate in the &quot;family business&quot; has been immensely positive. The kids are all on payroll now and still work part-time for me on different projects.</p><p>It’s been a win-win situation where they gain real-world experience, and I get to pass on my knowledge, and skills, and share life with them.</p><p>The idea of hiring my kids came from my dad, who was great at hiring us when we were young. He was a principal at a private school and would hire us to do jobs like cleaning, data entry, and work in the cafeteria. Eventually, we graduated to more advanced jobs. For example, because I was interested in computers, he had me work with the IT admin and network the computer lab.</p><p>If you own your own business, I highly recommend working with your kids, once they&#039;re old enough.</p><p>Cheers,<br>Justin Jackson</p><p>Connect with me on:
💼 <a href="https://www.linkedin.com/in/justinijackson/">​LinkedIn​</a> 🐘 <a href="https://mastodon.social/@mijustin">​Mastodon​</a> 🧵 <a href="https://www.threads.net/@mijustin">​Threads​</a> 🐦 <a href="https://twitter.com/mijustin">​Twitter​</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[How I would build a new startup if I had to do it all over]]></title>
            <link>https://justinjackson.ca/build-new-startup</link>
            <guid>https://justinjackson.ca/build-new-startup</guid>
            <pubDate>Sun, 03 Sep 2023 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[]]></description>
            
            <media:content url="https://justinjackson.ca/assets/programmer-working-on-a-new-startup.png" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>I&#039;ve been brainstorming how I would build a new indie startup if I had to do it again in 2023. Here are 5 principles I’d use.</p><h2>1. Build a product that people are already searching for.</h2><p>It&#039;s way easier to build something for a customer who is already in motion, searching for a solution.</p><p>For <a href="https://transistor.fm/?via=justin">​Transistor</a>, one of the big benefits of the podcast hosting category is that every day, thousands of people wake up and type in &quot;How to start a podcast&quot; into Google. They have a desire, and they&#039;re acting on it.</p><p>You don’t want to have to convince customers that they have a problem and need to use your product;</p><p>As another example, Ben Orenstein (the founder of <a href="https://tuple.app/">​Tuple​</a>) doesn’t have to cold call developers to convince them they need a remote pair programming tool. Instead, customers find Tuple because they’re already looking for a product like his.</p><p>It&#039;s 1000x easier to target folks already in motion.</p><p>The best opportunities are where customers realize they have a need and are doing something about it: searching Google, asking for recommendations, trying out different options, etc.</p><h2>2. To find a good business idea, get in motion by building side projects in public.</h2><p>Good ideas almost always emerge while you&#039;re doing something else.</p><p>Adam Wathan was looking to build his first SaaS and was exploring the idea of building a Gumroad competitor. He was livestreaming a lot of his coding sessions.</p><p>During those sessions, he realized that most of the people watching didn’t care about the software he was building – they were way more interested in how he was writing CSS. He decided to follow that trail, which led him to create <a href="https://tailwindcss.com/">​Tailwind CSS</a>.</p><p>(For more on Adam&#039;s story, read his <a href="https://adamwathan.me/tailwindcss-from-side-project-byproduct-to-multi-mullion-dollar-business/">​excellent blog post.</a>)</p><h2>3. Find a good market with good fundamentals.</h2><p>When I talk about “finding a good market,” I’m describing the sum of demand for a particular thing:</p><ul><li>Number of potential customers</li><li>How much they spend</li><li>The frequency at which they buy</li><li>Their willingness to pay</li></ul><p>Characteristics of a good opportunity:</p><ul><li>Folks have a strong desire or need for a solution,</li><li>They’re applying effort (time or money) to solve the problem,</li><li>And they’re unsatisfied with their current solution.</li></ul><h2>4. Look for product categories where the incumbents are old and crusty, and customers want something new and fresh.</h2><p>Jason Fried and 37signals did this with the launch of Hey: it&#039;s a new take on email, that competes with Gmail, Yahoo Mail, and Outlook.</p><p>In an <a href="https://capiche.com/ama/jason-fried-basecamp">AMA</a>, Jason talked about the response they received:</p><blockquote><p>I didn&#039;t know so many people were so hungry for a revamp of email. We knew we were, but we didn&#039;t know so many others were. Over 150,000 people signed up in the first two weeks. It blew us away. The last time people were excited about email was 16 years ago when Gmail launched. It&#039;s long past due for something new. HEY tapped into that energy.</p></blockquote><p>Derrick Reimer is doing something similar with <a href="https://savvycal.com/">​SavvyCal​</a> (which he launched in 2020), where he competes with Calendly (founded in 2013).</p><p>Calendly, which has $350m in funding, was able to carve out a product category for &quot;calendar meeting time software,&quot; Derrick was able to come along and bring a fresh product to the space.</p><p>My friends Paul and Jack did something similar with <a href="https://usefathom.com/ref/EJPZOB">​Fathom Analytics</a>: Google Analytics had become this big, slow, bloated software. They were able to counter-position themselves as the simple alternative.</p><p>If you&#039;re considering pursuing this strategy, make sure that people are actually in motion (see my first point) in searching for something fresh.</p><h2>5. A successful business idea will emerge from the experiences, connections, skills, insights, and resources you’ve accumulated.</h2><p>When Jon Buda and I launched <a href="https://transistor.fm/?via=justin">​Transistor</a>, it came out of decades of experience we had with podcasting, building software products, launching other projects, making key connections, growing an audience, learning skills, pursuing experiences, taking risks, and working in public.</p><p>Most good opportunities are not obvious (especially to outsiders). It’s unlikely that you’ll spot an opportunity in a space you’re not familiar with. You’re looking for evidence of unmet demand in a category you understand.</p><p>The remedy for “not having good business ideas” is to go out and create more experiences: start a podcast and interview people you admire, attend meetups and conferences, get curious about how different industries work, and run some experiments (and tell people about your findings).</p><p>Successful founders see an opportunity at the right time and have the skills, connections, and resources to take advantage of it.</p><p>---------------------</p><p>I&#039;m still adding to (and improving) this list as I prepare for my talk at
<a href="https://ti.to/on3/fseu23/discount/Justin">Full Stack Europe</a>. </p><p>If you have suggestions/ideas/comments, you can leave them on these threads:</p><ul><li><a href="https://twitter.com/mijustin/status/1699100678835339280">Twitter</a></li><li><a href="https://www.threads.net/@mijustin/post/Cw0S7GGLI3e">Threads</a></li><li><a href="mastodon.social/@mijustin/111013522214481509">Mastodon</a></li></ul><p>Cheers,<br>Justin Jackson</p><p>Connect with me on:<br>💼 <a href="https://www.linkedin.com/in/justinijackson/">​LinkedIn​</a><br>🐘 <a href="https://mastodon.social/@mijustin">​Mastodon​</a><br>🧵 <a href="https://www.threads.net/@mijustin">​Threads​</a><br>🐦 <a href="https://twitter.com/mijustin">​Twitter</a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Silverwood Theme Park Review, Travel Tips, and Photos]]></title>
            <link>https://justinjackson.ca/silverwood-theme-park</link>
            <guid>https://justinjackson.ca/silverwood-theme-park</guid>
            <pubDate>Wed, 16 Aug 2023 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[]]></description>
            
            <media:content url="https://justinjackson.ca/assets/silverwood-theme-park-tips.jpg" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>People who know me know that I love theme parks and waterparks. My two teenage boys and I just made the 6-hour drive to Northern Idaho to visit <a href="https://www.silverwoodthemepark.com/">Silverwood</a> - the largest theme park in the American Northwest.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/silverwood-theme-park-tips.jpg" alt="/assets/silverwood-theme-park-tips.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>This was our second time at Silverwood (the last time in 2019), and I kept thinking of tips and advice I&#039;d want to give myself on our next trip. So, I&#039;m writing it here in case someone else finds it useful.</p><h2>What&#039;s so special about Silverwood Theme Park?</h2><p>Silverwood is unlike any other theme park or water park I&#039;ve visited. First, it&#039;s fairly remote. The nearest city is Coeur d’Alene (population: 55,000), a 30-minute drive away. Spokane, Washington, is a 1-hour drive.</p><p>However, if you&#039;re in Seattle and like road trips, Silverwood is a 5-hour drive. I live in Vernon, BC, and it took us about 6 hours to drive south and reach the theme park.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/the-drive-to-silverwood-1692205362.png" alt="/assets/content/the-drive-to-silverwood-1692205362.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>But there&#039;s something special about Silverwood that draws over 800,000 people a year to the park. It has a quality and attention to detail that makes it unique. In 1986, the founder, Gary Norton, <a href="https://www.silverwoodexpress.com/2018/04/04/a-step-back-into-yesteryear/">famously outbid</a> the Walt Disney Company on a 1915 steam train. Two years later, he started Silverwood with the train and built the theme park around it. Despite outshining Disney at the train auction, Norton exemplifies many of Disney&#039;s principles: the park is clean, family-friendly, and has its character.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/the-silverwood-theme-park-train.jpg" alt="/assets/content/the-silverwood-theme-park-train.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <h2>Best Silverwood accommodation (hotels, camping)</h2><p>While Disneyland is deeply integrated into Anaheim and boasts hundreds of hotels, Silverwood&#039;s closest town is Athol (population 724) and has very few accommodations options.</p><p>Many people choose to camp, either at <a href="https://www.silverwoodthemepark.com/lodging/">Silverwood&#039;s RV park</a> or at <a href="https://ravenwoodrvresort.com/">Ravenwookd RV resort</a>. The theme park recommends the <a href="https://www.cdainn.com/">Best Western</a> in Coeur d`Alene, but it&#039;s about a 20-30 minute drive to Silverwood.</p><p>We found an Airbnb, just 7 minutes from the theme park, and it was amazing. If you can find accommodation around Athol, do it!</p><h2>How early can you get to Silverwood?</h2><p>Although the park officially opens at 11 am, the parking and front gates open at 10 am. If you want to ride popular rides before the park gets busy, we recommend arriving around 10 am.</p><h2>General tips</h2><ul><li>Don&#039;t bring too much stuff! On our first day, we brought a massive bag with snacks, extra clothes, and drinks. On days 2 and 3, we just brought two backpacks: one for Boulder Beach (towels, sunscreen, swimsuit) and another general one for the theme park (sunscreen, water bottle, hats).</li><li>Get a locker! When we arrived at the waterpark or theme park, we&#039;d immediately get a locker and ditch all of our valuables there. Lockers are $10 per day, so we budgeted $10 x 2 for each day. It will make your day so much smoother.</li><li>The food in the park is reasonably priced compared to other tourist attractions. Our favorite spot was the <a href="https://www.silverwoodthemepark.com/things-to-do/dining.php">Kool Cactus</a> (in the theme park), which had burritos and burrito bowls priced at $9.99. </li></ul><h2>Tips for Boulder Beach Waterpark</h2>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/boulder-beach-waterpark-silverwood.jpg" alt="/assets/content/boulder-beach-waterpark-silverwood.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>In the summer, it gets hot in Northern Idaho (it was 97°F / 36°C while we were there). The waterpark attracts big crowds; it gets busy!</p><ul><li>If you arrive at the waterpark early, you&#039;ll see a line up on the grass, close to the fence. That&#039;s the right line to be in for when the gates open.</li><li>The most popular slide is <a href="https://www.silverwoodthemepark.com/rides/ricochet-rapids.php">Ricochet Rapids</a> (the big green tube you see from the highway, where you ride a giant raft). The lineup gets very long, and it&#039;s not uncommon to wait 45 minutes. Your best bet is to arrive at the park early (10 am), park, and get in line for the waterpark. Once the gate opens, run to Ricochet Rapids. When we did this, our wait was about 5 minutes.<br></li><li>If you get to Ricochet Rapids too late (and the lineup is already long), go to <a href="https://www.silverwoodthemepark.com/rides/avalanche-mtn.php">Avalanche Mountain</a>. It&#039;s another family raft slide, just not enclosed in a tube. It has a dual-loading station, so the lineup goes much faster.</li><li>Grab a lounge chair early in the morning in the shade. That&#039;s where we&#039;d leave our towels, sunscreen, and water.</li><li>Wear flip-flops when walking around the waterpark; the cement grit will rub your feet raw! Many of the slides won&#039;t let you wear water shoes or flip-flops, so ditch them at the entry to the slide to retrieve them later.</li><li>The food lineups in the waterpark get very long between 1 pm - 3 pm. If you&#039;re planning on leaving the waterpark around that time, it&#039;s better to go to the theme park side and eat there.</li></ul><h2>Tips for Silverwood Theme Park</h2>

</div>
<div
  class="block-embed text-center mb-4 max-w-xl mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/stunt-pilot-roller-coaster-silverwood-theme-park.jpg" alt="/assets/content/stunt-pilot-roller-coaster-silverwood-theme-park.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <ul><li>Carry a small backpack with you. Most of the rides have cubbies, where you can put your bag on the ride. We would put our keys, phone, sunglasses, and hat in the bag before getting on the ride, and would retrieve them when we got off.</li><li>In our opinion, the best roller coaster (which also has the smoothest ride) is <a href="https://www.silverwoodthemepark.com/rides/stunt-pilot.php">Stunt Pilot</a>. The coaster has two trains, each accommodating 10 passengers, and operates with a continuous-loading station. This means that while one train is on its journey, the other can unload and load new passengers. This design is brilliant and means much shorter wait times.</li><li>When it&#039;s hot outside, the <a href="https://www.silverwoodthemepark.com/rides/log-flume.php">Roaring Creek Log Flume</a> and <a href="https://www.silverwoodthemepark.com/rides/thunder-canyon.php">Thunder Canyon</a> are very busy. The Log Flume gets less busy around 7 pm, but Thunder Canyon is busy all day. If you want a short line, get there early!</li><li>One of my boys&#039; favorite things to do was pay a quarter to spray strangers on Thunder Canyon. </li><li>If you&#039;re looking for air conditioning, go to the <a href="https://www.silverwoodthemepark.com/things-to-do/games.php">Arcade</a>, the <a href="https://www.silverwoodthemepark.com/things-to-do/high-moon-saloon.php">High Moon Saloon</a>, or the Victorian Coffee House.</li></ul>

</div>
]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[What happened to Paul Jarvis?]]></title>
            <link>https://justinjackson.ca/paul-jarvis</link>
            <guid>https://justinjackson.ca/paul-jarvis</guid>
            <pubDate>Fri, 04 Aug 2023 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[]]></description>
            
            <media:content url="https://justinjackson.ca/assets/paul-jarrod-justin-twitter.jpg" medium="image"/>
            
            <content:encoded><![CDATA[<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/paul-jarrod-justin-twitter.jpg" alt="/assets/paul-jarrod-justin-twitter.jpg" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>I hadn&#039;t heard from my friend Paul Jarvis in a while, so I sent him a message.</p><p>Today, Paul is the co-founder of <a href="https://usefathom.com/ref/EJPZOB">​Fathom Analytics​</a>, but previously he was mostly known as the author of <a href="https://www.amazon.ca/dp/B078962RHQ/ref=as_li_ss_tl?keywords=company+of+one&amp;ie=UTF8&amp;sr=8-1&amp;linkCode=gg2&amp;linkId=1bc5b12a823ab5b8bb8ad2a0bbe05a96&amp;tag=eik05-20">​Company of One​</a> and for his newsletter and courses focused on helping creatives build better businesses.</p><p>Paul, <a href="https://studiofellow.com/">​Jarrod Drysdale​</a>, and I <a href="https://justinjackson.ca/mastermind">​met weekly​</a> from July 2014 until June 2020! We would jump on a call and update each other on our businesses, struggles, and life. They were both a big encouragement to me while Jon and I were starting <a href="https://transistor.fm/?via=justin">​Transistor​</a>:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/jjupdate.png" alt="/assets/content/jjupdate.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>Paul effectively quit the Internet in 2020. He deleted his Twitter and Instagram and removed all the articles from <a href="https://web.archive.org/web/20201129063902/https://pjrvs.com/">his website</a>. Since then, he and I haven&#039;t been in touch as much. (It&#039;s funny how not seeing someone on Twitter affects how often you chat with them). But, according to Paul, there are advantages to not being on social media: &quot;The longer I&#039;m offline, the more trivial everything on Twitter seems.&quot;</p><p>Anyways, back to that text message, I sent this to Paul on July 18:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/text-paul.png" alt="/assets/content/text-paul.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>We decided to jump on a call and catch up.</p><p>And then we decided to record it.</p><p>You can <a href="https://saas.transistor.fm/episodes/paul-jarvis-gaining-freedom-by-building-an-indie-business">​listen to our whole conversation here​</a>.</p><p>It was an open and free-wheeling discussion. If you&#039;re curious about the realities of running an <a href="https://justinjackson.ca/bootstrap">​indie SaaS business​</a>, you&#039;ll dig it.</p><p>Here are some of the things that came up:</p><ol><li><strong>The &quot;Company of One&quot; mindset:</strong> Paul&#039;s big on the idea that businesses don&#039;t always have to chase constant growth. We discussed prioritizing purpose and personal satisfaction over traditional notions of expansion. Company design is lifestyle design.</li><li><strong>Why small is better:</strong> Sometimes, having a smaller, leaner company gives a team more freedom and flexibility.</li></ol><ol><li><strong>Business is surfing:</strong> Paul is a real surfer, so I asked him to comment on my <a href="https://justinjackson.ca/surfing">​surfing metaphor​</a> for business.</li><li><strong>Business ethics:</strong> In our conversation, ethical business practices were a significant theme. This includes fair treatment of employees and customers and considering the business&#039;s environmental impact.</li><li><strong>Paul&#039;s daily schedule:</strong> I was surprised to hear about when Paul wakes up, and how many hours of work he gets done in a day. 👀</li><li><strong>Is there room left in SaaS?</strong> Marketing channels are noisier, more expensive, and more challenging in the past, but we both felt like there were some opportunities.</li></ol><p>After we published the episode, Paul texted me: &quot;Lots of folks have texted and emailed me about this ep :)&quot; It&#039;s worth a listen.</p>

</div>
<div class="block-embed max-w-lg mx-auto">
    <iframe width="100%" height="180" frameborder="no" scrolling="no" seamless src="https://share.transistor.fm/e/e83b42d0/dark"></iframe>
</div>
<div class="block-text max-w-md mx-auto">
    <p><br></p><p>If you do give it a listen, let me know what you think!</p><p>Cheers,<br>Justin Jackson </p><p>PS: At <a href="https://transistor.fm/?via=justin">​Transistor</a>, we just released a sweet <a href="https://transistor.fm/changelog/episode-comparison/">new podcast analytics feature</a>. I don&#039;t think anyone else has done this yet.</p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[What is Jobs to be Done? (JTBD)]]></title>
            <link>https://justinjackson.ca/what-is-jobs-to-be-done</link>
            <guid>https://justinjackson.ca/what-is-jobs-to-be-done</guid>
            <pubDate>Fri, 19 May 2023 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[]]></description>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>Jobs to be Done (JTBD) is a theory for understanding what motivates customers to buy your product.</p><p>We all want our lives to be better. We have a vision for improving our lives, but there are obstacles in our path. That&#039;s where products and services come in: as customers, we &quot;hire&quot; products to help move us forward toward our vision for a better life.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/what-is-jobs-to-be-done-1576540690.png" alt="/assets/content/what-is-jobs-to-be-done-1576540690.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <h2>Jobs to be Done examples</h2><h3>Example: buying a new lawn mower</h3><p>Bob has decided to buy a new lawn mower. What are the underlying reasons that caused him to make this decision? The &quot;functional&quot; reasons are the clearest: Bob&#039;s old mower was loud, burnt oil, and cut gas unevenly. These often form the rationale we tell ourselves or our spouse: &quot;Honey, the old lawn mower is on the fritz. I need to get a new one.&quot;</p><p>But in truth, deeper emotional and social factors affect Bob&#039;s decision. Most of his neighbors have purchased new, eco-friendly electric mowers. He feels their disapproving glances when he takes his old, loud, smoky mower out of the shed. He might not even consciously recognize that &quot;fitting in&quot; was a big motivation for buying the new mower.</p><h3>Example: why do people buy makeup</h3><p>Charles Revson, the founder of Revlon, famously said: &quot;In the factory, we make cosmetics. In the drugstore, we sell hope.&quot;</p><h2>The &quot;Jobs to be Done&quot; framework explained:</h2><p>JTBD practitioners try to uncover the underlying triggers, events, needs, and motivations that cause customers to buy a product or service. They&#039;re incredibly customer focused. They understand that people don&#039;t just buy products for functional reasons but also for social and emotional reasons.</p><p>For example, research published in the <em>Proceedings of the National Academy of Sciences </em>report found that &quot;social pressure&quot; significantly influenced whether people acted on climate change.</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/what-causes-people-to-change-their-behaivor.png" alt="/assets/content/what-causes-people-to-change-their-behaivor.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>The social and emotional cues matter!</p><p>A key idea in JTBD theory is that customers don&#039;t buy products or services solely based on their features. Instead, they make choices based on the functional, emotional, and social cues related to the progress they want to achieve. When business owners understand the underlying &quot;jobs&quot; customers are trying to accomplish, they can develop better products, services, and marketing strategies that effectively meet those needs.</p><p>As Clayton Christensen explains in his book, Competing Against Luck, we need to think less about &quot;product features&quot; and more about the <em>progress </em>our customers are trying to make in their lives:<br></p><blockquote><p>The word “progress” might not spring to mind when you’re trying to innovate. Instead you obsess about creating the perfect product with just the right combination of features and benefits to appeal to customers. You think you know just what your customers would like, but in reality, it can feel pretty hit or miss. Place enough bets and— with a bit of luck— something will work out.</p></blockquote><h2>What companies are using Jobs to be Done?</h2><p>Companies like <a href="https://www.intercom.com/books/jobs-to-be-done">Intercom</a> and <a href="http://jobstobedone.org/radio/jason-fried-on-jobs-to-be-done-radio/">Basecamp</a> have made big bets on JTBD and made it a part of their product development process.</p><p>Jason Fried of Basecamp <a href="https://m.signalvnoise.com/the-why-before-the-why-c5492520acf0">reported</a> that interviewing their customers generated significant product insights:</p><blockquote><p>What’s most interesting is the situations people find themselves in before they’re our customers. It’s not about this industry or that one. It’s not about demographics, either. It’s not even about the competitive set, yet. It’s all about the situation they’re in, the reality they’re trying to wrangle, and the progress they’re trying to make.</p></blockquote><h2>Describing your product&#039;s Job to be Done:</h2><p>Here’s an example of how Freshbooks invoicing software might define its JTBD:</p><blockquote><p>Free me from the agony of creating and tracking invoices manually so that I can get paid faster.</p></blockquote><p>Small business owners have a lot on their plate. They often feel overwhelmed: &quot;I&#039;ve got so much going on, I can&#039;t keep track of it all.&quot; Owners are hiring Freshbooks to free them from being overwhelmed; to help them feel like they&#039;re on top of things.</p><p>Alan Klement has <a href="https://overcast.fm/+HXQywwU_M">three criteria for defining a JTBD</a>:</p><ol><li>Make sure you’re not describing a task or activity. It&#039;s not about getting a drill so you can drill a 3/4&quot; hole. It’s about how your life improves after you use the drill: hanging a beautiful painting and having your friends admire it.</li><li>Describe how the customer has solved that job in the past and how they might solve it in the future.</li><li>Understand what motivates the customer. How will things be better for the user when they overcome the struggle?</li></ol><p>Alan also has a list of &quot;magical words&quot; that you can use when describing your product&#039;s Jobs to be Done:</p><ul><li>Give me:</li><li>Help me: </li><li>Free me: &quot;Free me from the stress I deal with when figuring out what products won’t harm my children, so I can have more time to enjoy being a parent.&quot;</li><li>Make the</li><li>Take away</li><li>Equip me</li></ul><p>Interestingly, many &quot;jobs to be done&quot; are related to people having decision fatigue. They&#039;re tired of thinking about all their options; they want someone to take that away. Ironically, a lot of marketing makes people think too hard about their decision.</p><p>How do you figure out the JTBD for your product? You’ll need to get a deeper understanding of the customer’s journey and their motivation for change.</p><h1>Seeing the customer journey</h1><p>Understanding the initial trigger, and the events that lead up to the purchase will help you design an effective marketing strategy for your product.</p><p>You can visualize the process like this:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/purchase-timeline-jtbd.png" alt="/assets/content/purchase-timeline-jtbd.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <h2>Customer interviews</h2><p>One way to understand someone&#039;s Job to be Done is to interview them.</p><p>Alan Klement has written an excellent guide on conducting interviews, with sample questions you can ask.</p><p>He recommends starting with these questions:</p><ol><li>When did you purchase the product?</li><li>Where were you?</li><li>What time of day was it? (daytime/ nighttime?)</li><li>What was the weather like?</li><li>Was anyone else with you at the time?</li><li>How did you purchase the product?</li><li>Did you buy anything at the same time?</li></ol><p>If you don&#039;t yet have a product, you can ask a competitor&#039;s customers these questions.</p><p>The interviewee&#039;s answers will help you understand the context of the actual buying decision.</p><p>(To learn how to do JTBD interviews the right way, I highly recommend <a href="http://learn.jobstobedone.org/">this course</a> by Chris Spiek, Bob Moesta &amp; Ervin Fowlkes.)</p><h2>Observation</h2><p>Aside from interviews, you can also observe people making purchasing decisions, both in-person and online.</p><p>Folks often leave clues on social media, in forums, and in blog posts, that help us understand the timeline behind a purchase.</p><p>Here&#039;s an example from Twitter user @dakotaw:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a  style="background:0;">
  
  <img src="/assets/content/jtbd-tweet-01.png" alt="/assets/content/jtbd-tweet-01.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>He mentions he is buying a new book almost every day. Five days later he tweets this message:</p>

</div>
<div
  class="block-embed text-center mb-4 max-w-md mx-auto texture-light p-1"
>
<a href="mijustin" style="background:0;">
  
  <img src="/assets/content/jtbd-tweet-02.png" alt="/assets/content/jtbd-tweet-02.png" />
  
</a>
</div>
<div class="block-text max-w-md mx-auto">
    <p>In this case, buying a lot of books serves as a trigger to consider the Kindle Unlimited service.</p><p>How would we define Dakota&#039;s JTBD?</p><blockquote><p>&quot;Give me unlimited digital books so that I can read more self-help books.&quot;</p></blockquote><p>What else could Dakota hire to get this job done? Kindle Unlimited isn&#039;t his only option. He could also hire:</p><ul><li>The public library</li><li>Audible audio books</li></ul><p>Kindle Unlimited also competes with anything else that might attract Dakota&#039;s attention: Netflix, podcasts, and college courses.</p><h2>Optimize for the job to be done</h2><p>In 10+ years of doing product marketing, I haven’t found a better framework for understanding why people buy software.</p><p>JTBD shows us that we’re not in the business of making products, we&#039;re trying to make super humans. In the words of Kathy Sierra, the purpose of a product is to make a “badass user:” your app should give users abilities they never had before.</p><p>You can use JTBD principles to observe human beings and gain two valuable insights:</p><ol><li>How do they want their life to be better?</li><li>What obstacles stand in their way?</li></ol><p>Once you understand this, you build products that help people improve their lives. You’re not guessing; you’re delivering the progress they desire.</p><p>It’s crucial that you organize all of your efforts around helping users make progress. Whether it’s marketing, coding, or customer support, everything should contribute to their forward movement.</p><p>JTBD is particularly useful when you’re deciding which features to build. Think about what John Palmer is saying here:</p><blockquote><p>&quot;Jobs to be Done does not describe what the product must do; it describes what the customer must do.&quot;</p></blockquote><p>A new feature should give your user the ability to do something they weren’t able to do before.</p><p>For example, I use Canva.com to design book covers, podcast art, and header graphics for blog posts. Previously, I had to hire a designer to do those things. It was costly and slowed me down.</p><p>But now, with Canva, I have a new superpower: I can design assets myself. We might describe the JTBD like this:</p><blockquote><p>    “Give me the ability to do design work myself, so that I can publish my work sooner (without waiting for a designer.”</p></blockquote><hr><h2>Jobs to be Done Resources</h2><ul><li>Chris Spiek, Ervin Fowlkes, and Bob Moesta <a href="http://learn.jobstobedone.org/">have a course on JTBD</a>.</li><li>Alan Klement is the author of <a href="http://www.whencoffeeandkalecompete.com/">a new book on Jobs to be Done</a>.</li><li>If you&#039;re interested in a theoretical perspective, check out Clayton Christensen&#039;s book: <a href="http://amzn.to/2tFt1qE">Competing Against Luck</a>.</li><li><a href="https://justinjackson.ca/hidden/">How to discover the hidden benefits of your product</a></li><li><a href="https://justinjackson.ca/change/">You can&#039;t change the customer&#039;s behavior</a></li><li><a href="https://justinjackson.ca/thief/">Who are you stealing from?</a></li></ul>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

<div class="block-text max-w-md mx-auto">
    <p><em>Originally posted July 11, 2017.</em></p>

</div>
]]></content:encoded>
        </item>
        
        <item>
            <title><![CDATA[Can you bootstrap a business if you have young kids?]]></title>
            <link>https://justinjackson.ca/bootstrapping-with-kids</link>
            <guid>https://justinjackson.ca/bootstrapping-with-kids</guid>
            <pubDate>Fri, 05 May 2023 00:00:00 +0000</pubDate>
            <dc:creator>Justin Jackson</dc:creator>
            <description><![CDATA[I tried building multiple businesses while my kids were young, and, in retrospect, I'm wondering if I should have waited before I dived into the world of entrepreneurship.]]></description>
            
            <media:content url="https://justinjackson.ca/assets/dad-sleep-1683339626.jpg" medium="image"/>
            
            <content:encoded><![CDATA[<div class="block-text max-w-md mx-auto">
    <p>As a parent of older kids (ages 13-20), I&#039;ve been reflecting on the challenges of bootstrapping a business while raising young children.</p><p>I tried building multiple businesses while my kids were young, and, in retrospect, I&#039;m wondering if I should have waited before I dived into the world of entrepreneurship.</p><p>Parenting preschool kids requires an enormous amount of energy.</p><p>If you&#039;re trying to do that <em>and</em> work a full-time job <em>and </em>bootstrap something on the side... that&#039;s just a lot.</p><p>If I had to do it again, I would either:</p><ul><li>Wait until my kids were older before trying to start a business</li><li>Or, raise a small funding round so I could quit my job and focus on the business during my daytime hours</li></ul><p>When I wrote &quot;<a href="https://justinjackson.ca/cost"> The Hidden Cost of Bootstrapping</a>,&quot; Adii Pienaar replied and said:</p><blockquote><p>&quot;With my first startup, I didn&#039;t have a family. My new startup was launched a couple of weeks before we welcomed our second-born boy into the world. Being financially responsible for my family has changed my perspective completely. I was able to self-fund the first couple of months, but I don&#039;t have unlimited pockets. It was no fun seeing a decreasing bank account every month.&quot;</p></blockquote><p>Culturally, many of us were taught to push the limits: pedal to the metal, give 110%, and turn your amp up to 11!</p><p>We max ourselves out in every area: our finances, our relationships, our health, and our careers.</p><p>In &quot;<a href="https://justinjackson.ca/the-principle-that-changed-my-life"> The 80% principle,</a>&quot; I wrote:</p><blockquote><p>&quot;When the buffet of life presents you with opportunities, it&#039;s hard to say no. The problem with overeating is you can&#039;t fit anything else in. When you&#039;ve squeezed your schedule, finances, energy, and family to the limit, there&#039;s no margin left.&quot;</p></blockquote><p>Our culture encourages parents and families to push themselves to the limit, but I want to encourage some temperance. It&#039;s ok to wait until your kids are older to start your business! Create space for the season of life you&#039;re in.</p><h2>&quot;My partner is a superhero&quot;</h2><p>On Twitter, Peter <a href="https://twitter.com/mijustin/status/1654597315875975170"> mentioned </a> that starting a business when your kids are young &quot;just isn’t possible unless your significant other is a superhero.&quot;</p><p>Over on the <a href="https://megamaker.co/"> MegaMaker </a> Slack, <a href="https://debugacademy.com/"> Ashraf </a> echoed this sentiment:</p><blockquote><p>Bootstrapping when you have kids is very (very) difficult. I imagine most of the people who make it look easy have a spouse in the background taking care of 90%+ of raising the kids.</p></blockquote><p><strong>It&#039;s important to realize: not every spouse is (or wants to be) a &quot;superhuman.&quot;</strong></p><p>It&#039;s reasonable for your spouse to expect you to just work normal hours, contribute meaningfully to housework and childcare, and have downtime.</p><p>I know for many families, the appeal of bootstrapping is the promise of a better life: more freedom, money, time, and flexibility. <strong>But there is a cost (especially when your kids are young).</strong></p><p>There&#039;s no guarantee that your bet will pay off, and you can&#039;t get that time with your kids back.</p><p>So consider this decision carefully, and make sure you and your partner are aligned. (For many couples, this might include seeing a counselor or therapist to make sure the sacrifice and risk is well understood).</p><p>I acknowledge that my experience won&#039;t match yours. It&#039;s up to you (and your partner) to figure out what&#039;s best for you and your kids.</p><p>Cheers,<br>Justin Jackson<br><br>🐘 Follow me on <a href="https://mastodon.social/@mijustin"> Mastodon</a><br>🔵 Follow me on <a href="https://bsky.app/profile/justinjackson.ca"> Bluesky</a><br>🐦 Follow me on <a href="https://twitter.com/mijustin"> Twitter </a></p><p>⚡ Join the bootstrapper community on <a href="https://megamaker.co/"> MegaMaker </a></p>

</div>
<div class="newsletter-callout ck_form_container ck_inline" data-ck-version="7">
  <div class="ck_form ck_minimal">
    <div class="ck_form_fields">
      <h3 class="pt-0 uppercase tracking-wide rotate">Get my newsletter</h3>
      <div
        id="ck_success_msg"
        class="bg-yellow text-black p-1"
        style="display:none;"
      >
        Thanks! You'll now receive my newsletter every week. Have questions?
        Email me: justin@megamaker.co
      </div>
      <form
        id="ck_subscribe_form"
        class="ck_subscribe_form"
        action="https://app.convertkit.com/landing_pages/793/subscribe"
        data-remote="true"
      >
        <input
          type="hidden"
          value="{&quot;embed_style&quot;:&quot;inline&quot;,&quot;embed_trigger&quot;:&quot;exit_intent&quot;,&quot;scroll_percentage&quot;:&quot;70&quot;,&quot;delay_seconds&quot;:&quot;10&quot;,&quot;display_position&quot;:&quot;br&quot;,&quot;display_devices&quot;:&quot;all&quot;,&quot;days_no_show&quot;:&quot;15&quot;,&quot;converted_behavior&quot;:&quot;custom&quot;,&quot;form_style&quot;:&quot;minimal&quot;}"
          id="ck_form_options"
        />

        <input type="hidden" name="id" value="793" id="landing_page_id" />
        <input
          type="hidden"
          name="ck_form_recaptcha"
          value=""
          id="ck_form_recaptcha"
        />

        <div
          class="ck_description bg-white text-black inline-block rotate py-2 px-3 mb-2"
        >
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Startup stories, lessons, and tips.</span>
          </p>
          <p class="flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Sent on Saturday mornings.</span>
          </p>
          <p class="mb-0 flex items-center">
            <span
              class="h-4 w-4 mr-2"
              ></span
            >
            <span>Read it while you drink your coffee.</span>
          </p>
        </div>

        <div class="ck_errorArea">
          <div id="ck_error_msg" style="display: none; ">
            <p>
              There was an error submitting your subscription. Please try again.
            </p>
          </div>
        </div>

        <div
          class="flex flex-wrap rotate ck_control_group ck_email_field_group"
        >
          <input
            type="email"
            name="email"
            class="p-2 flex-1 mr-1 ck_email_address"
            id="ck_emailField"
            placeholder="Email Address"
            required
          />
          <button
            class="bg-black hover:shadow-blue p-2 text-yellow"
            id="ck_subscribe_button"
          >
            Subscribe now
          </button>
        </div>

        <div
          class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h"
          style="position: absolute !important;left: -999em !important;"
        >
          <input
            type="text"
            name="captcha2_h"
            class="ck-captcha2-h"
            id="ck_captcha2_h"
            placeholder="We use this field to detect spam bots. If you fill this in, you will be marked as a spammer."
          />
        </div>

        <label class="ck_checkbox" style="display:none;">
          <input
            class="optIn ck_course_opted"
            name="course_opted"
            type="checkbox"
            id="optIn"
            checked
          />
          <span class="ck_opt_in_prompt"
            >I'd like to receive a free 30 day course by email.</span
          >
        </label>

        <p class="text-sm text-white rotate mt-4 text-right mb-0">
          No spam. Unsubscribe anytime. Powered by
          <a
            href="http://mbsy.co/convertkit/75552"
            class="plain text-yellow no-underline hover:underline"
            >ConvertKit</a
          >.
        </p>
      </form>
    </div>
    <div
      id="ck_converted_content"
      class="ck_converted_content bg-white text-black p-1"
      style="display:none"
    >
      <p>Awww yeaaah! Looks like you're already on my mailing list!</p>
      <p style="margin-bottom:0;">
        Have you checked out my
        <a href="https://www.youtube.com/justinjackson">YouTube channel?</a>
      </p>
    </div>
  </div>
</div>

]]></content:encoded>
        </item>
        
    </channel>
</rss>

