Non-tech founder’s guide to choosing the right software development partner Download Ebook
Home>Blog

Latest from the
Rocketship

We like writing about our personal experiences, our challenges and our take on programming and management. Enjoy!

Categories:
Natalie Kaminski
Natalie Kaminski
longreads /

What Is Vibe Coding

What is vibe coding? It is the next major shift in how modern software is created and maintained. Instead of relying solely on manual programming, developers now describe what they want in plain language, while artificial intelligence (AI) tools translate that intent into functioning code. This marks a transformation not only in how programs are written but in how creativity, speed, and precision coexist within development environments.
This article explains what vibe coding is, how it works, and which tools power it. You will learn about its benefits, challenges, and the emerging concept of VibeOps, where AI assistance extends into full software operations. The article also explores how we at JetRockets apply this emerging practice to deliver faster, more scalable results.
Read more What Is Vibe Coding
Joao Gilberto Saraiva
Joao Gilberto Saraiva
longreads /

Function Calling in Ruby: how to create intelligent AI Agents

Large Language Models (LLMs) are powerful, but, in general, they're limited to the knowledge in their training data. What if your AI needs to search your database, create structured itineraries or call other services? This is where Function Calling (also known as tool calling) comes in. It transforms your model into an intelligent agent that can interact with real-time data and services. As we see in the last post, the ruby_llm gem not only makes it easier to work across multiple AI providers (OpenAI, Claude, and Gemini), but it also greatly simplifies the implementation of function calling. To see this implementation in action and explore the details, be sure to check out the repository containing the code examples used in this article.
Islam Gagiev
Islam Gagiev
longreads /

Building a resilient AI Client in Ruby with Stoplight and Ruby_LLM

Calling external AI providers (like OpenAI, Gemini, or Claude) is a common task in modern web applications. However, these services can sometimes be slow, return errors, or become completely unavailable. This can lead to cascading failures that bring your entire application down. To prevent this, you can use the Circuit Breaker pattern, which isolates failing services and even allows for a graceful failover to a backup provider. In Ruby, the stoplight gem provides a straightforward way to implement this pattern and build a resilient client, in this article we will use it with ruby_llm to handle AI providers. To see this implementation in action and explore the details, be sure to check out the repository containing the code examples used in this article.
Alexey Solilin
Alexey Solilin
longreads /

CSS Scroll Snap for Overflow Elements

Creating smooth, native-feeling horizontal tab navigation is essential for modern web applications. CSS Scroll Snap provides an elegant solution that ensures your tabs feel polished and intuitive across all devices, with special attention to mobile touch interactions.

Alexey Solilin
Alexey Solilin
longreads /

Async Modal on Rails with Native <dialog> Element

In this post, I'll show you how to create asynchronous modal windows in Rails using Turbo Frames and the native <dialog> element. This approach combines the power of Rails' Hotwire stack with modern web standards to create smooth, accessible modal experiences without heavy JavaScript frameworks. We'll build a complete example using a login form that loads dynamically and displays in a native dialog with proper focus management and backdrop handling.

Let's Build Something Great Together

Let's discuss your project and explore how a Rails upgrade can become your competitive advantage. Contact us today to start the conversation.

*By submitting this form, you agree with JetRockets’ Privacy Policy