In the world of AI, I write Rails

My kind of vibe coding

TL;DR: AI writes my Node code at work, so I am writing Rails manually because I can, and I am enjoying it. In a world of AI, I chose to manually write Rails.

It has been a while since my last post. If someone is following this blog, you might remember that the whole reason I started it was to enjoy programming again. I started a few projects and jumped into many programming languages along the way (probably more than necessary), but I am still working on that same goal. Recently, that led me to Ruby on Rails.

A little bit of background

I have been writing Node professionally for years now. Before that, I used to work with Python. As you can imagine, I am fairly comfortable with those ecosystems, especially Node, where I have spent most of my professional career. It would make sense to keep using what I already know for my personal projects, and initially that was the idea.

However, there is something really important to me when working on new projects: I want to have fun while building things. I already spend my working hours in a stack I know, with an increasing expectation to let AI write much of the code. When I finish work and sit down to build something of my own, I want to actually write it and understand what I am doing.

I talked about my experience with AI quite a bit in my first post (you can check it here), so I will not go through the whole thing again. The short version is that I enjoy programming, and I want to spend some of my free time doing exactly that. In Rails, I found the opportunity to do so.

Why Rails

The reason is fairly simple: I find Ruby interesting, and Rails looked like something I would enjoy using.

I could spend this section trying to justify the choice with technical reasons, but being honest with everyone, enjoying the process was a big part of the decision. I wanted to try it, I am liking it, and I am making progress with it. For a personal project, that is what actually matters.

That does not mean I suddenly dislike Node (even though it can be boring sometimes) or that I am going to stop using it professionally. I have been using it for years for a reason: Node works, it scales, and AI is getting absurdly good at writing it. I just wanted to give myself the opportunity to learn something different without feeling like every technology choice needs to be based on what I already use at work.

My kind of vibe coding

Funny enough, when the term “vibe coding” started getting popular, I used to talk about Rails as my own version of it. The reason? It helps you build things faster, and it is fun, just like vibe coding. That was pretty much what I wanted from it.

Now that I am spending more time writing Rails, I still think that description works for me. I am learning, writing the code myself, and enjoying the process of putting things together. Of course, using a framework helps a lot. Rails does a lot of things for you, and there is a lot of magic behind it (hence the vibe part). And even though I sometimes enjoy doing so, I never said I wanted to build every single piece from scratch (I have already given myself enough headaches with other projects recently).

There is still plenty I need to learn. I am comfortable writing software, but I am learning how to build software the Rails way, and that’s different from what I am used to doing. That means taking longer on something I would already know how to do in Node. I am okay with that. Getting familiar with a new framework is part of what I signed up for, and I would rather take my time understanding how things work.

To be transparent, I still ask AI questions about concepts or parts of the framework I do not understand. However, I write the implementation myself. What I mean by that is: AI does not have access to my repo, AI does not read my code, and AI is only there to answer specific questions about Rails (e.g. specific configs or how nested routes work in Rails) when I am stuck and nothing else works (I think I might be one of the only people still using StackOverflow as the first choice when I am stuck nowadays). I really want to know what is in my project and why it is there, especially when something eventually breaks and I have to figure it out.

What is next

For now, I will keep learning Ruby and Rails, and building with it. I am still early in the process, so this is just my experience so far, but I love Rails at the moment. I am enjoying sitting down to write code again, and that was the main goal when I started all of this.

I will keep you guys updated about what I am building in a future post. For now, I just wanted to give you guys a small update on how things are going.

As always, thanks for reading.