---
title: "Coming back to Rails from Next.js"
publication: "Ruby Weekly"
issue: 749
published_at: "2025-05-08"
canonical_url: "https://rubyweekly.com/issues/749"
---

Plus more chart fun with JRuby, Redis goes open source again, and the history of RubySpec. |        

#​749 — May 8, 2025 

[Read on the Web](https://rubyweekly.com/issues/749)  

Together with [![Memetria\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_600,h_145/e_make_transparent/co_white,e_outline:7/vvpdctzacmq3xehpvwps.png)](https://dashboard.memetria.com/rubyweekly/)   

Ruby Weekly  

['How We Fell Out of Love with Next.js and Back in Love with Rails'](https://hardcover.app/blog/part-1-how-we-fell-out-of-love-with-next-js-and-back-in-love-with-ruby-on-rails-inertia-js) — The book reading/tracking service [Hardcover](https://hardcover.app/) has been working on a big migration from the Next.js world to using Rails coupled with [Inertia.js](https://inertiajs.com/) to maintain a React-powered SPA vibe. This post goes into a lot of detail about how they made it work and will be useful for anyone looking to blend the two different worlds. 

Adam Fortuna   

🗣️ This post kicked off [an extensive discussion](https://news.ycombinator.com/item?id=43881035) on Hacker News.  

[How Contributions to RubySpec Look Over Time](https://eregon.me/blog/2025/05/03/contributions-to-ruby-spec.html) — RubySpec (started in 2006 as part of Rubinius) is _the_ executable Ruby specification used by interpreters to ensure they implement the language correctly. Looking at the contributions over time mirrors the history of numerous Ruby implementations and is interesting to explore. 

Benoit Daloze   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/c67e7084.png)](https://dashboard.memetria.com/rubyweekly/) 

[Memetria K/V: Efficient Redis & Valkey Hosting](https://dashboard.memetria.com/rubyweekly/) — Memetria K/V hosts Redis OSS and Valkey for Ruby apps, featuring large key tracking and detailed analytics to manage and optimize application data effectively. 

Memetria sponsor   

**IN BRIEF:** 

- 🇳🇱 [Rails World 2025](https://rubyonrails.org/2025/5/6/rails-world-2025-two-big-updates) takes place in Amsterdam this September and tickets are always tricky to get. General admission tickets drop on May 13 (next Tuesday) but [you can also get higher priced 'Corporate Support' tickets](https://rubyonrails.org/2025/5/6/rails-world-2025-two-big-updates) this year. A new [Rails at Scale](https://rubyonrails.org/world/2025/rails_at_scale) summit will also be taking place at the event.
- 🇱🇻 Gem authors and app maintainers are encouraged to [apply for Baltic Ruby's OSS Expo](https://balticruby.org/expo) – it takes part as part of [Baltic Ruby](https://balticruby.org/) in Riga, Latvia this June where [Matz will be keynoting.](https://balticruby.org/lineup)
- [JRuby 10.0.0.1](https://www.jruby.org/2025/05/07/jruby-10-0-0-1.html) and [JRuby 9.14.12.1](https://www.jruby.org/2025/05/07/jruby-9-4-12-1.html) have been released. In related news, Charles Oliver Nutter also shared an [_Optimizing JRuby 10_ slidedeck](https://speakerdeck.com/headius/optimizing-jruby-10) that shows some of the work that went into [the big JRuby 10 release.](https://blog.jruby.org/2025/04/jruby-10-part-1-whats-new)   

[Multistep Forms in Rails with the Wicked Gem](https://avohq.io/blog/multistep-forms-rails) — A thorough walkthrough. [Wicked](https://github.com/zombocom/wicked) is a long-standing gem for managing step-by-step ‘wizard’ processes in Rails controllers. 

Exequiel Rozas   

[Developing a Voice AI App in Rails for Drive-Through Ordering](https://thoughtbot.com/blog/developing-a-voice-ai-app-in-rails-for-drive-through-ordering) — Ruby and Rails AI content is everywhere these days. Here, Jose enhances a Rails Voice AI app (created in a linked YouTube video) with automatic transcription. 

Jose Blanco (Thoughtbot)   

[😵 Heroku-20 Hit EOL on 4/30. Need to Upgrade to Heroku-24?](https://go.fastruby.io/eol-heroku20) — The team behind [RailsBump.org](https://railsbump.org/) can help. Let our AI-powered, battle-tested process get you there faster. 🤖 

🌳 Bonsai by FastRuby.io sponsor   

📄 [A Command to Check if a Gem is Loaded in Your Bundler Environment](https://www.fastruby.io/blog/how-to-check-if-a-gem-is-loaded.html) Aysan Isayo 

📄 [Active Storage and Form Errors: Preventing Lost File Uploads in Rails](https://danielabaron.me/blog/active_storage_form_errors/) Daniela Baron 

📄 [An Introduction to Web Scraping with Ruby](https://www.scrapingbee.com/blog/web-scraping-ruby/) Ilya Krukowski 

📄 [Adding MCP to a Rails App](https://stanko.io/adding-mcp-to-a-rails-app-NG9zkX3dyPq1) Stanko K.R.  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/wqwq2cm5kbqmxoeip8a4.jpg)](https://blog.headius.com/2025/05/3d-charts-and-more-with-jruby-and-jfreechart.html)  

[3D Charts and More with JRuby and JFreeChart](https://blog.headius.com/2025/05/3d-charts-and-more-with-jruby-and-jfreechart.html) — Following up on his recent post about [using JRuby to work with JFreeChart](https://blog.headius.com/2025/04/beautiful-charts-with-jruby-and-jfreechart.html), Charles demonstrates how to get even more impressive results in the form of an elaborate 3D chart. 

Charles Oliver Nutter   

[Ivar: Ruby’s Missing Instance Variable Typo Warnings](https://avdi.codes/announcing-ivar-rubys-missing-instance-variable-typo-warnings/) — Ivar automatically checks for typos in instance variables, and rather than just drop the code, Avdi gives us a complete tutorial to demonstrate its value. [GitHub repo.](https://github.com/avdi/ivar) 

Avdi Grimm   

[Is Your Ruby App’s Postgres Database Prepared for Your Next High Traffic Event?](https://pganalyze.com/webinars/pganalyze-latest-features-for-tuning-postgresql?utm_campaign=rubyweeklyclassified05022025) — Catch this on-demand video where Postgres expert Lukas Fittl walks through features to tune slow queries, catch regressions, & keep it running at its best. 

pganalyze sponsor   

🤖 [OpenAI's Ruby API Library](https://github.com/openai/openai-ruby) — A reader wrote in to point out that while there are now numerous Ruby libraries for working with LLM platforms, OpenAI now has an official Ruby one of its own, though curiously it’s not on the RubyGems registry yet. 

OpenAI   

- [Hightop 0.6](https://github.com/ankane/hightop) – A shortcut for group count queries for Active Record, Mongoid, arrays and hashes.
- [ActiveMedian 0.6](https://github.com/ankane/active_median) – Medians/percentiles for Active Record, Mongoid, arrays and hashes.
- [RSpec::Parameterized 2.0](https://github.com/tomykaira/rspec-parameterized) – Support simple parameterized test syntax in RSpec.
- [Typelizer 0.4](https://github.com/skryukov/typelizer) – Generate TypeScript interfaces from Ruby serializers.
- [MemoWise 1.12](https://github.com/panorama-ed/memo_wise) – Performance optimized memoization library.
- [Sequel 5.92](https://github.com/jeremyevans/sequel) – Popular database toolkit. [Changelog.](https://github.com/jeremyevans/sequel/blob/master/CHANGELOG)
- [mime-types 3.7](https://github.com/mime-types/ruby-mime-types) – Ruby MIME type registry library.
- [Ruby Polars 0.18](https://github.com/ankane/ruby-polars) – Fast DataFrames for Ruby.
- [Field Test 0.8](https://github.com/ankane/field_test) – A/B testing for Rails.      

📰 Classifieds   

🐌 [If your Rails team needs a little boost…](https://sinaptia.dev/services/staff-augmentation) We can augment your team with devs to help you keep up with your delivery schedule. [Test us!](https://sinaptia.dev/services/staff-augmentation)    

📢 Elsewhere  

A quick roundup of some other interesting updates or useful resources in the broader developer landscape: 

- If you've been avoiding Redis after [the license controversy](https://www.theregister.com/2024/03/22/redis_changes_license/) in 2024, you'll be happy to know [Redis is now open source again](https://antirez.com/news/151) as of [version 8.0.](https://redis.io/blog/redis-8-ga/)
- [Node.js v24.0 (Current) was released](https://nodejs.org/en/blog/release/v24.0.0) a few days ago – 'Current' is the branch of Node with all the cutting edge features, as opposed to the LTS versions.
- _Google Apps Script_ brings JavaScript scripting power to automating Google's various services, but I find it a bit opaque to work with, so [this tutorial on exporting Google Analytics data to Google Sheets](https://technicalwriting.dev/analytics/sheets.html) is handy.
- 🤖 [Google has updated its Gemini 2.5 Pro model](https://developers.googleblog.com/en/gemini-2-5-pro-io-improved-coding-performance/) – they claim it's now far better at building front-end apps in particular with 'a real taste for aesthetic web development'. I've used it with Ruby – it's fine!
- Alex Chan shares [a faster way to copy SQLite databases between computers.](https://alexwlchan.net/2025/copying-sqlite-databases/)
- 🎨 Have you ever heard of the [HWB color model](https://en.wikipedia.org/wiki/HWB_color_model)? It's supported by all major browsers through [the `hwb()` function but isn't commonly seen in use.](https://css-tricks.com/why-is-nobody-using-the-hwb-color-function/)         

Curated by [Peter Cooper](https://twitter.com/cooperx86) and [Glenn Goodrich](https://twitter.com/ruprict).
Published by [Cooperpress](https://cooperpress.com/). 

[Change your email](https://rubyweekly.com/edit_subscription/*|UID|*) or [Stop getting this newsletter.](https://rubyweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

Other weekly newsletters we publish include [Postgres Weekly](https://postgresweekly.com/), [React Status](https://react.statuscode.com/), [Frontend Focus](https://frontendfoc.us/), and [JavaScript Weekly](https://javascriptweekly.com/).
