<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Chris Gregori's Blog</title>
    <link>https://chrisgregori.dev/opinion</link>
    <description>Thoughts on Elixir, LiveView, building products, and more.</description>
    <language>en-us</language>
    <lastBuildDate>Fri, 13 Mar 2026 00:24:08 GMT</lastBuildDate>
    <atom:link href="https://chrisgregori.dev/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title><![CDATA[Code Is Cheap Now. Software Isn’t.]]></title>
      <description><![CDATA[The barrier to entry for building software has collapsed. The barrier to building something that matters hasn’t moved an inch.]]></description>
      <link>https://chrisgregori.dev/opinion/code-is-cheap-now-software-isnt</link>
      <guid isPermaLink="true">https://chrisgregori.dev/opinion/code-is-cheap-now-software-isnt</guid>
      <pubDate>Sat, 10 Jan 2026 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[How I Stopped Paying £38/Month Per Database (and Got Microsecond Response Times)]]></title>
      <description><![CDATA[Why I'm starting new indie projects on a €6/month Hetzner VPS instead of managed platforms—and why you might too]]></description>
      <link>https://chrisgregori.dev/opinion/how-I-stopped-paying-38-month-per-database</link>
      <guid isPermaLink="true">https://chrisgregori.dev/opinion/how-I-stopped-paying-38-month-per-database</guid>
      <pubDate>Mon, 29 Dec 2025 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Leveraging AI as an infinitely patient teacher]]></title>
      <description><![CDATA[Using Claude to teach me and not just do my work for me]]></description>
      <link>https://chrisgregori.dev/opinion/leveraging-ai-as-an-infinitely-patient-teacher</link>
      <guid isPermaLink="true">https://chrisgregori.dev/opinion/leveraging-ai-as-an-infinitely-patient-teacher</guid>
      <pubDate>Mon, 22 Dec 2025 11:04:53 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Stream Reddit Comments using Elixir, Pythonx and PRAW]]></title>
      <description><![CDATA[Finally, a way to leverage all the good SDKs we don't have access to]]></description>
      <link>https://chrisgregori.dev/opinion/stream-reddit-comments-using-elixir-pythonx-and-praw</link>
      <guid isPermaLink="true">https://chrisgregori.dev/opinion/stream-reddit-comments-using-elixir-pythonx-and-praw</guid>
      <pubDate>Fri, 27 Jun 2025 09:41:32 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[From Ephemeral Idea to Live SaaS Waitlist in 120 Minutes]]></title>
      <description><![CDATA[My Unconventional Solo Founder's Blueprint for Rapid Validation with Elixir, AI, and Automation]]></description>
      <link>https://chrisgregori.dev/opinion/from-ephemeral-idea-to-live-saas-waitlist-in-120-minutes</link>
      <guid isPermaLink="true">https://chrisgregori.dev/opinion/from-ephemeral-idea-to-live-saas-waitlist-in-120-minutes</guid>
      <pubDate>Wed, 18 Jun 2025 17:02:51 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Parsing PDFs (and more) in Elixir using Rust]]></title>
      <description><![CDATA[A Love Story Between Two Amazing Languages 🦀💜]]></description>
      <link>https://chrisgregori.dev/opinion/parsing-pdfs-in-elixir-using-rust</link>
      <guid isPermaLink="true">https://chrisgregori.dev/opinion/parsing-pdfs-in-elixir-using-rust</guid>
      <pubDate>Wed, 29 Jan 2025 18:18:34 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Implementing Google Authentication in a LiveView Application]]></title>
      <description><![CDATA[Streamline your users login experience in 10 minutes]]></description>
      <link>https://chrisgregori.dev/opinion/implementing-google-authentication-in-a-liveview-application</link>
      <guid isPermaLink="true">https://chrisgregori.dev/opinion/implementing-google-authentication-in-a-liveview-application</guid>
      <pubDate>Wed, 08 May 2024 20:33:39 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Erlang/OTP 26 Highlights]]></title>
      <description><![CDATA[What Elixir Developers Need to Know]]></description>
      <link>https://chrisgregori.dev/opinion/erlang-otp-26-highlights</link>
      <guid isPermaLink="true">https://chrisgregori.dev/opinion/erlang-otp-26-highlights</guid>
      <pubDate>Tue, 16 May 2023 21:54:09 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Elixir hot code swapping to the rescue]]></title>
      <description><![CDATA[How I stopped a denial of service attack on my platform whilst on holiday and without access to my code ]]></description>
      <link>https://chrisgregori.dev/opinion/elixir-hot-code-swapping-to-the-rescue</link>
      <guid isPermaLink="true">https://chrisgregori.dev/opinion/elixir-hot-code-swapping-to-the-rescue</guid>
      <pubDate>Wed, 10 May 2023 16:33:59 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Burnout as an Indiehacker]]></title>
      <description><![CDATA[Recognising the Signs and Staying Afloat]]></description>
      <link>https://chrisgregori.dev/opinion/burnout-as-an-indiehacker</link>
      <guid isPermaLink="true">https://chrisgregori.dev/opinion/burnout-as-an-indiehacker</guid>
      <pubDate>Wed, 03 May 2023 15:03:47 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Setting up a Google Chrome shortcut to Elixir documentation in 30 seconds]]></title>
      <description><![CDATA[A guide for Elixir developers (and why you might want to)]]></description>
      <link>https://chrisgregori.dev/opinion/setting-up-a-google-chrome-shortcut-to-elixir-documentation-in-30-seconds</link>
      <guid isPermaLink="true">https://chrisgregori.dev/opinion/setting-up-a-google-chrome-shortcut-to-elixir-documentation-in-30-seconds</guid>
      <pubDate>Fri, 06 Jan 2023 14:57:50 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Using ETS to speed up database imports by almost 300% ]]></title>
      <description><![CDATA[A guide for Elixir developers (and why you might want to)]]></description>
      <link>https://chrisgregori.dev/opinion/using-ets-to-speed-up-database-imports-by-almost-300-percent</link>
      <guid isPermaLink="true">https://chrisgregori.dev/opinion/using-ets-to-speed-up-database-imports-by-almost-300-percent</guid>
      <pubDate>Mon, 08 Aug 2022 11:10:40 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[How to build the simplest feature flag system in Elixir & Phoenix apps]]></title>
      <description><![CDATA[A guide for Elixir developers (and why you might want to)]]></description>
      <link>https://chrisgregori.dev/opinion/how-to-build-the-simplest-feature-flag-system-in-elixir-and-phoenix-apps</link>
      <guid isPermaLink="true">https://chrisgregori.dev/opinion/how-to-build-the-simplest-feature-flag-system-in-elixir-and-phoenix-apps</guid>
      <pubDate>Wed, 03 Aug 2022 10:32:36 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Triggering repeatable animations from the server in LiveView & Elixir]]></title>
      <description><![CDATA[A guide for Elixir developers (and why you might want to)]]></description>
      <link>https://chrisgregori.dev/opinion/triggering-repeatable-animations-from-the-server-in-liveview-and-elixir</link>
      <guid isPermaLink="true">https://chrisgregori.dev/opinion/triggering-repeatable-animations-from-the-server-in-liveview-and-elixir</guid>
      <pubDate>Fri, 22 Jul 2022 13:47:31 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Custom JSON encoding for structs in Elixir with Jason]]></title>
      <description><![CDATA[A guide for Elixir developers (and why you might want to)]]></description>
      <link>https://chrisgregori.dev/opinion/how-to-custom-jason-encoding-for-structs-in-elixir</link>
      <guid isPermaLink="true">https://chrisgregori.dev/opinion/how-to-custom-jason-encoding-for-structs-in-elixir</guid>
      <pubDate>Wed, 20 Jul 2022 14:52:07 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[10 tips for new Elixir developers]]></title>
      <description><![CDATA[Welcome to the world of magic]]></description>
      <link>https://chrisgregori.dev/opinion/10-tips-for-new-elixir-developers</link>
      <guid isPermaLink="true">https://chrisgregori.dev/opinion/10-tips-for-new-elixir-developers</guid>
      <pubDate>Sat, 02 Jul 2022 10:28:23 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[5 scary Git commands you'll eventually have use for]]></title>
      <description><![CDATA[They won't bite - don't be afraid]]></description>
      <link>https://chrisgregori.dev/opinion/5-scary-git-commands-you'll-eventually-have-use-for</link>
      <guid isPermaLink="true">https://chrisgregori.dev/opinion/5-scary-git-commands-you'll-eventually-have-use-for</guid>
      <pubDate>Thu, 30 Jun 2022 09:51:51 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Why do developers experience so much imposter syndrome?]]></title>
      <description><![CDATA[Is there anything you can do about it?]]></description>
      <link>https://chrisgregori.dev/opinion/why-do-developers-experience-so-much-imposter-syndrome</link>
      <guid isPermaLink="true">https://chrisgregori.dev/opinion/why-do-developers-experience-so-much-imposter-syndrome</guid>
      <pubDate>Wed, 29 Jun 2022 11:52:31 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Embracing your own platform for blogging]]></title>
      <description><![CDATA[An introduction to my new site and all the magical bits]]></description>
      <link>https://chrisgregori.dev/opinion/embracing-your-own-platform-for-blogging</link>
      <guid isPermaLink="true">https://chrisgregori.dev/opinion/embracing-your-own-platform-for-blogging</guid>
      <pubDate>Fri, 24 Jun 2022 13:53:28 GMT</pubDate>
    </item>
  </channel>
</rss>