
Episode 558: Background Batches with JP Camara
JP Camara joins the show to explore background job coordination, real-time collaboration, and the opportunities he sees for Ruby and Rails as AI changes how developers work. First, JP shares the story behind bringing batches to Solid Queue, from an early proposal to the conference conversations and community interest that helped move the feature forward. He explains how batches let developers treat a group of jobs as a unit, track success and failure, and trigger callbacks when processing finishes—making it easier to coordinate workflows that span many background jobs. JP also discusses the implementation challenges behind the feature, including database transactions, jobs deferred until a transaction commits, and reducing the performance overhead of tracking batches. He describes his related work on Mission Control Jobs, which gives developers a visual way to inspect batch progress, investigate failures, and find the jobs involved. The conversation then turns to YRBY, JP’s project for adding real-time collaborative editing to Rails applications. He explains how conflict-free replicated data types, or CRDTs, support Google Docs-style collaboration, and how Ruby bindings to a Rust library let him integrate with Action Cable or AnyCable without requiring a separate Node.js server. He also discusses editor integration, encrypted collaborative text, and his work on allowing AI agents to participate alongside people in shared documents. Finally, JP reflects on how AI helps him maintain momentum on open source projects while balancing a full-time job and family responsibilities. He shares how his team at Wealthbox uses RubyLLM, why its expressive interface makes working with different AI providers more approachable, and why he believes there is still plenty of valuable work ahead for the Ruby and Rails ecosystem. YRBY - https://yrby.dev lexxy-realtime - https://github.com/jpcamara/lexxy-realtime/tree/main RubyLLM - https://rubyllm.com/ Sponsor AppSignal: https://appsignal.com/rubyonrailspodcast


