<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>RubyFlow</title>
    <description>The Ruby and Rails community linklog</description>
    <link>https://rubyflow.com</link>
    <item>
      <title>How to Build a Desktop App with Rails 8 and Electron</title>
      <description> From Web to Desktop: Wrapping a Rails Hotwire App in Electron   Very often I find myself… </description>
      <pubDate>Sat, 02 May 2026 23:23:56 +0000</pubDate>
      <link>https://rubyflow.com/p/mg4g56-how-to-build-a-desktop-app-with-rails-8-and-electron</link>
      <guid>https://rubyflow.com/p/mg4g56-how-to-build-a-desktop-app-with-rails-8-and-electron</guid>
    </item>
    <item>
      <title>High ROI Testing: The 3 Secrets Every Solo Rails Dev Needs</title>
      <description> Very often I see solo developers fall into one of two traps.   Trap number one: They read a book on… </description>
      <pubDate>Fri, 01 May 2026 23:11:36 +0000</pubDate>
      <link>https://rubyflow.com/p/6urz60-high-roi-testing-the-3-secrets-every-solo-rails-dev-needs</link>
      <guid>https://rubyflow.com/p/6urz60-high-roi-testing-the-3-secrets-every-solo-rails-dev-needs</guid>
    </item>
    <item>
      <title>llm_cost_tracker 0.7.2: Rails-native LLM cost tracking, now more production-ready</title>
      <description> Released &lt;b&gt;llm_cost_tracker v0.7.2&lt;/b&gt;   </description>
      <pubDate>Fri, 01 May 2026 08:18:59 +0000</pubDate>
      <link>https://rubyflow.com/p/7190v8-llmcosttracker-072-rails-native-llm-cost-tracking-now-more-production-ready</link>
      <guid>https://rubyflow.com/p/7190v8-llmcosttracker-072-rails-native-llm-cost-tracking-now-more-production-ready</guid>
    </item>
    <item>
      <title>Rails-based SSG: Perron (1.0.0 released)</title>
      <description> Perron is an OSS Rails-based static site generator I released 9 months ago and now hit 1.0.0. Read the announcement post &lt;a href="https://railsdesigner.com/perron-1-0/," rel="nofollow"&gt;https://railsdesigner.com/perron-1-0/,&lt;/a&gt; the docs &lt;a href="https://perron.railsdesigner.com/docs/" rel="nofollow"&gt;https://perron.railsdesigner.com/docs/&lt;/a&gt; and check out the repo &lt;a href="https://github.com/Rails-Designer/perron" rel="nofollow"&gt;https://github.com/Rails-Designer/perron&lt;/a&gt; ⭐ </description>
      <pubDate>Fri, 01 May 2026 02:42:24 +0000</pubDate>
      <link>https://rubyflow.com/p/qh2iad-rails-based-ssg-perron-100-released</link>
      <guid>https://rubyflow.com/p/qh2iad-rails-based-ssg-perron-100-released</guid>
    </item>
    <item>
      <title>The Importmap Guide to Shadcn: Beautiful UI with Zero Build Step</title>
      <description> How to Use Shadcn UI in Rails 8 (Without React or Webpack)   If you have looked at frontend… </description>
      <pubDate>Thu, 30 Apr 2026 23:11:37 +0000</pubDate>
      <link>https://rubyflow.com/p/rcv9me-the-importmap-guide-to-shadcn-beautiful-ui-with-zero-build-step</link>
      <guid>https://rubyflow.com/p/rcv9me-the-importmap-guide-to-shadcn-beautiful-ui-with-zero-build-step</guid>
    </item>
    <item>
      <title>Migflow: migration timeline, schema diffs and audit warnings for Rails</title>
      <description> Migflow is a mountable Rails engine that adds a dashboard at /migflow with a visual timeline of all migrations, schema diffs between any two versions, an ERD graph, and audit warnings (missing indexes, unsafe null constraints, etc.). Also ships a CLI report for CI pipelines.
Supports Rails 7+, Ruby 3.2+, and API-only apps. </description>
      <pubDate>Thu, 30 Apr 2026 20:24:33 +0000</pubDate>
      <link>https://rubyflow.com/p/jav74w-migflow-migration-timeline-schema-diffs-and-audit-warnings-for-rails</link>
      <guid>https://rubyflow.com/p/jav74w-migflow-migration-timeline-schema-diffs-and-audit-warnings-for-rails</guid>
    </item>
    <item>
      <title>Ruby Gem Discovery: HighLine</title>
      <description> I recently stumbled upon a Ruby gem called HighLine that simplifies basic command line input/output via an &lt;code&gt;ask&lt;/code&gt; method and supports validation, conversion, and multi-choices.
&lt;a href="https://andymaleh.blogspot.com/2026/04/ruby-gem-discovery-highline.html" rel="nofollow"&gt;https://andymaleh.blogspot.com/2026/04/ruby-gem-discovery-highline.html&lt;/a&gt; </description>
      <pubDate>Thu, 30 Apr 2026 13:36:05 +0000</pubDate>
      <link>https://rubyflow.com/p/7eiegl-ruby-gem-discovery-highline</link>
      <guid>https://rubyflow.com/p/7eiegl-ruby-gem-discovery-highline</guid>
    </item>
    <item>
      <title> Offliberty Ruby Gem and How It Works</title>
      <description> &lt;a href="https://www.railscarma.com/blog/what-is-offliberty-ruby-gem-and-how-it-works/" rel="nofollow"&gt;https://www.railscarma.com/blog/what-is-offliberty-ruby-gem-and-how-it-works/&lt;/a&gt; </description>
      <pubDate>Thu, 30 Apr 2026 11:39:02 +0000</pubDate>
      <link>https://rubyflow.com/p/833hlv--offliberty-ruby-gem-and-how-it-works</link>
      <guid>https://rubyflow.com/p/833hlv--offliberty-ruby-gem-and-how-it-works</guid>
    </item>
    <item>
      <title>💎 Meet GemChat - AI Chat with Ruby Gem</title>
      <description> &lt;a href="https://gemchat.org/" rel="nofollow"&gt;https://gemchat.org/&lt;/a&gt; </description>
      <pubDate>Thu, 30 Apr 2026 10:48:47 +0000</pubDate>
      <link>https://rubyflow.com/p/weg23u--meet-gemchat-ai-chat-with-ruby-gem</link>
      <guid>https://rubyflow.com/p/weg23u--meet-gemchat-ai-chat-with-ruby-gem</guid>
    </item>
    <item>
      <title>Ruby beyond the server 👇</title>
      <description> 👉 &lt;a href="https://rubystacknews.com/2026/04/29/opal-running-ruby-in-the-javascript-runtime-without-losing-your-mind/" rel="nofollow"&gt;https://rubystacknews.com/2026/04/29/opal-running-ruby-in-the-javascript-runtime-without-losing-your-mind/&lt;/a&gt; </description>
      <pubDate>Thu, 30 Apr 2026 02:35:42 +0000</pubDate>
      <link>https://rubyflow.com/p/2jyewe-ruby-beyond-the-server-</link>
      <guid>https://rubyflow.com/p/2jyewe-ruby-beyond-the-server-</guid>
    </item>
    <item>
      <title>The Secret to Side-by-Side Gem Development in Rails</title>
      <description> Stop Pushing to GitHub: How to Test Ruby Gems Locally   Very often I find myself writing a… </description>
      <pubDate>Wed, 29 Apr 2026 23:10:37 +0000</pubDate>
      <link>https://rubyflow.com/p/bsrcd6-the-secret-to-side-by-side-gem-development-in-rails</link>
      <guid>https://rubyflow.com/p/bsrcd6-the-secret-to-side-by-side-gem-development-in-rails</guid>
    </item>
    <item>
      <title>Stub responses to test code that interacts with RubyLLM</title>
      <description> If you are using RubyLLM, but struggling to test code that interacts with an LLM, check out &lt;a href="https://github.com/RockSolt/ruby_llm-test" rel="nofollow"&gt;the new gem RubyLLM::Test&lt;/a&gt;. It makes it easy to stub responses as well as validate request parameters. </description>
      <pubDate>Wed, 29 Apr 2026 19:07:50 +0000</pubDate>
      <link>https://rubyflow.com/p/t2fw9f-stub-responses-to-test-code-that-interacts-with-rubyllm</link>
      <guid>https://rubyflow.com/p/t2fw9f-stub-responses-to-test-code-that-interacts-with-rubyllm</guid>
    </item>
    <item>
      <title>“Clever” code is overrated. Simple, understandable code wins.</title>
      <description> &lt;a href="https://rubystacknews.com/2026/04/28/ruby-my-personal-opinion-its-best-not-to-overuse-the-block-parameter-it/" rel="nofollow"&gt;https://rubystacknews.com/2026/04/28/ruby-my-personal-opinion-its-best-not-to-overuse-the-block-parameter-it/&lt;/a&gt; </description>
      <pubDate>Wed, 29 Apr 2026 01:24:50 +0000</pubDate>
      <link>https://rubyflow.com/p/ahucnl-clever-code-is-overrated-simple-understandable-code-wins</link>
      <guid>https://rubyflow.com/p/ahucnl-clever-code-is-overrated-simple-understandable-code-wins</guid>
    </item>
    <item>
      <title>The Language of the Web: HTTP Basics You Actually Need to Know</title>
      <description> HTTP Basics You Must Know As A Web Developer   Very often I see new developers build an… </description>
      <pubDate>Tue, 28 Apr 2026 23:11:41 +0000</pubDate>
      <link>https://rubyflow.com/p/fxu3uz-the-language-of-the-web-http-basics-you-actually-need-to-know</link>
      <guid>https://rubyflow.com/p/fxu3uz-the-language-of-the-web-http-basics-you-actually-need-to-know</guid>
    </item>
    <item>
      <title>What took 1.5 months to build in React JS took 1.5 days in Glimmer DSL for Web Ruby</title>
      <description> When I reimplemented a React component as the first Glimmer DSL for Web Component in my job’s Fintech Rails web app, I thought I did what would have taken 1 week in React in 1.5 days in Glimmer, which seemed like a great improvement in productivity at the time (333.33% the productivity if we count 1 week of React as 5 business days). I recently inspected the Git timeline of the original React component, and discovered that it actually took 1.5 months to develop initially!!!
&lt;a href="https://andymaleh.blogspot.com/2026/04/what-took-15-months-to-build-in-react.html" rel="nofollow"&gt;https://andymaleh.blogspot.com/2026/04/what-took-15-months-to-build-in-react.html&lt;/a&gt; </description>
      <pubDate>Tue, 28 Apr 2026 18:17:03 +0000</pubDate>
      <link>https://rubyflow.com/p/ksgdte-what-took-15-months-to-build-in-react-js-took-15-days-in-glimmer-dsl-for-web-rub</link>
      <guid>https://rubyflow.com/p/ksgdte-what-took-15-months-to-build-in-react-js-took-15-days-in-glimmer-dsl-for-web-rub</guid>
    </item>
    <item>
      <title>Self-hosted LLM Cost Tracker for Rails – v0.5.3 Released</title>
      <description> I’ve just released &lt;b&gt;v0.5.3&lt;/b&gt; of &lt;b&gt;llm_cost_tracker&lt;/b&gt; — a lightweight, self-hosted gem designed to track LLM API costs directly inside Ruby and Rails applications.   </description>
      <pubDate>Tue, 28 Apr 2026 15:55:08 +0000</pubDate>
      <link>https://rubyflow.com/p/nlfsot-self-hosted-llm-cost-tracker-for-rails-v053-released</link>
      <guid>https://rubyflow.com/p/nlfsot-self-hosted-llm-cost-tracker-for-rails-v053-released</guid>
    </item>
    <item>
      <title>Bring your Bridgetown discussions to the Ruby Users Forum</title>
      <description> &lt;a href="https://www.rubyforum.org/t/bring-your-bridgetown-discussions-to-the-ruby-users-forum/" rel="nofollow"&gt;https://www.rubyforum.org/t/bring-your-bridgetown-discussions-to-the-ruby-users-forum/&lt;/a&gt; </description>
      <pubDate>Tue, 28 Apr 2026 13:19:02 +0000</pubDate>
      <link>https://rubyflow.com/p/hfnn6j-bring-your-bridgetown-discussions-to-the-ruby-users-forum</link>
      <guid>https://rubyflow.com/p/hfnn6j-bring-your-bridgetown-discussions-to-the-ruby-users-forum</guid>
    </item>
    <item>
      <title>Ruby on Rails link_to Method</title>
      <description> &lt;a href="https://www.railscarma.com/blog/rails-link_to-method-the-complete-guide-with-examples/" rel="nofollow"&gt;https://www.railscarma.com/blog/rails-link_to-method-the-complete-guide-with-examples/&lt;/a&gt; </description>
      <pubDate>Tue, 28 Apr 2026 06:08:02 +0000</pubDate>
      <link>https://rubyflow.com/p/wli92v-ruby-on-rails-linkto-method</link>
      <guid>https://rubyflow.com/p/wli92v-ruby-on-rails-linkto-method</guid>
    </item>
    <item>
      <title>Testing Spinel (from RubyKaigi 2026) in real conditions 👇</title>
      <description> &lt;a href="https://rubystacknews.com/2026/04/27/spinel-in-practice-what-works-and-what-breaks/" rel="nofollow"&gt;https://rubystacknews.com/2026/04/27/spinel-in-practice-what-works-and-what-breaks/&lt;/a&gt; </description>
      <pubDate>Tue, 28 Apr 2026 02:53:07 +0000</pubDate>
      <link>https://rubyflow.com/p/vmuxca-testing-spinel-from-rubykaigi-2026-in-real-conditions-</link>
      <guid>https://rubyflow.com/p/vmuxca-testing-spinel-from-rubykaigi-2026-in-real-conditions-</guid>
    </item>
    <item>
      <title>Using native Rails rate-limits in production</title>
      <description> Learn how to &lt;a href="https://amzcartshare.com/native-rails-rate-limits" rel="nofollow"&gt;rate-limit your Rails controllers in production&lt;/a&gt; with Rails’ native rate_limit method. </description>
      <pubDate>Tue, 28 Apr 2026 00:29:30 +0000</pubDate>
      <link>https://rubyflow.com/p/vpcacu-using-native-rails-rate-limits-in-production</link>
      <guid>https://rubyflow.com/p/vpcacu-using-native-rails-rate-limits-in-production</guid>
    </item>
    <item>
      <title>Stop Using Ugly Browser Alerts: Custom Turbo Confirms in Rails 8</title>
      <description> I’m building a really nice, modern Rails application. I use Tailwind to make the buttons look great,… </description>
      <pubDate>Mon, 27 Apr 2026 23:11:35 +0000</pubDate>
      <link>https://rubyflow.com/p/mr8881-stop-using-ugly-browser-alerts-custom-turbo-confirms-in-rails-8</link>
      <guid>https://rubyflow.com/p/mr8881-stop-using-ugly-browser-alerts-custom-turbo-confirms-in-rails-8</guid>
    </item>
    <item>
      <title>Mustermann 4.0 released</title>
      <description> For its 13-year anniversary, I’ve released &lt;strong&gt;Mustermann 4.0&lt;/strong&gt;, the string pattern library powering Sinatra, Hanami, Grape, and others. </description>
      <pubDate>Mon, 27 Apr 2026 17:29:37 +0000</pubDate>
      <link>https://rubyflow.com/p/hp6alr-mustermann-40-released</link>
      <guid>https://rubyflow.com/p/hp6alr-mustermann-40-released</guid>
    </item>
    <item>
      <title>After RubyKaigi 2026, I came across Spinel.</title>
      <description> &lt;a href="https://rubystacknews.com/2026/04/27/spinel-a-different-direction-for-ruby-performance/" rel="nofollow"&gt;https://rubystacknews.com/2026/04/27/spinel-a-different-direction-for-ruby-performance/&lt;/a&gt; </description>
      <pubDate>Mon, 27 Apr 2026 03:32:20 +0000</pubDate>
      <link>https://rubyflow.com/p/clwqvr-after-rubykaigi-2026-i-came-across-spinel</link>
      <guid>https://rubyflow.com/p/clwqvr-after-rubykaigi-2026-i-came-across-spinel</guid>
    </item>
    <item>
      <title>Rails 8: How to Auto-Generate Social Media Preview Cards</title>
      <description> Very often I find myself sharing a link to my new Rails project on Twitter, Discord, or LinkedIn. But… </description>
      <pubDate>Sun, 26 Apr 2026 23:11:34 +0000</pubDate>
      <link>https://rubyflow.com/p/j35kg4-rails-8-how-to-auto-generate-social-media-preview-cards</link>
      <guid>https://rubyflow.com/p/j35kg4-rails-8-how-to-auto-generate-social-media-preview-cards</guid>
    </item>
    <item>
      <title>Fifteen Ruby takes on a DSL for stepped workers</title>
      <description> A tour of fifteen ways to declare ordered worker steps in Ruby – from a plain manifest constant to macros, method hooks, modules, Fibers, Enumerators, and a small archaeological stop at continuations. </description>
      <pubDate>Sun, 26 Apr 2026 21:32:05 +0000</pubDate>
      <link>https://rubyflow.com/p/c4hdd5-fifteen-ruby-takes-on-a-dsl-for-stepped-workers</link>
      <guid>https://rubyflow.com/p/c4hdd5-fifteen-ruby-takes-on-a-dsl-for-stepped-workers</guid>
    </item>
  </channel>
</rss>
