My first Vibe Coding experience

Don’t worry, I am not planning to flood the world with vibe coded modules, my modules will continue to be handcrafted to the best of my own abilities. I already have a few in the pipeline for my next release.

But a friend at work, who is not even a programmer, creates lots of internal tools and test software using AI in Cursor with amazing results. So I wanted to give it a try myself. My goal was a patch analyzer for Rack with these features:

  • Show a list of modules and plugins used in the patch
  • Show clickable links to the library for each plugin and module
  • Show modules missing in my local Rack installation in red
  • The usual: recent file list, restore last position and size, etc.

It was done in 2.5 hours! Including a rocky start getting the agent to work at all. This screenshot shows the first patch I saw on patchstorage, now I can simply click on a missing plugin or module and jump right to the library and install it.

It is written in Python, I used Jetbrains PyCharm (the free Community edition) with their “Junie” coding agent and the Claude Opus 4.6 model. I used about a third of the monthly AI credit allowance in Jetbrains’ “Pro” plan (8.33 Euro + VAT/10$ per month).

I am sure this will require some additional testing and finetuning, also testing on Windows (this is Linux, don’t have a Mac) to check if it finds the local installation to find out which modules are installed. So it is by no means in a state for release yet.

Nevertheless and I do hate to say it, I am really impressed with what can be done with AI these days.

8 Likes

I’m using Zed to do plugins. Just the tab completion, not full AI. I find it sometimes very useful, sometimes the tab just gets in the way of tabbing (esc works), and it does sometimes go crazy with mislaying out front panels, and it annoys me. :smiley: (no, I don’t want everything moving 1 HP!)

I get some simple python scripts from GPT sometimes, but I’m never letting it loose on C++ pointer code. I do find it useful for templating nano SVG functions though. It knows them all, but confuses (width, height) for (x, y) maximums sometimes.

P.S. Qt or Gtk?

Wow, interesting tool. im an interested. if any interest, i could insert my attempt to analyze patchfiles here also,if you want. the purpose is, to remove faulty or missing modules, or list inventory or give an overview. But unfortunately it is forbidden to upload py or zip files. any ideas?

Karl

It uses Qt5.

And yes, I also use code completion in C++ and sometimes it surprises me (“how did it guess what I had in mind?”) and sometimes it annoys me. But all in all the good outweighs the bad.

I am using Jetbrain’s Ai Assistent in CLion (Linux and Windows) for the Rack modules, at work I use Github Copilot in Visual Studio.

Completely agentic coding without touching a single byte of the code was new to me.

@Karl: I will polish this a little, test some more (already saw one bug when the module name has a slash in it) and then I will host the Python on Gitlab or Github. Also have to check what license I could use if I haven’t written any of the code, but it will be free.

thank you. i will wait.

I am sure there are multiple solutions to this problem since it plagues everyone sharing patches with others. I vaguely remember reading about a website doing the same.

For me it was just a test vehicle for vibe coding and I am still stunned how quick and easy it went. Makes you wonder what sets you apart from a machine as a professional programmer. I choose to believe that the machine will fail once things become more complicated.

No worry, I got the point of your post. I had the same experience about a half year ago, when I started experimenting with Copilot in VS Code :slight_smile:

1 Like

Does it create module presets From name.vcv style as that might be a good way of initializing some good settings.

No, it doesn’t and it won’t create anything. In fact, about the only thing I will check when I will have a look at the code is that it doesn’t open any files for writing. Then it should be safe to use despite the fact that noone has checked every line of the code.

1 Like

If anyone is interested, the Python code is here:

On my Linux I had to install the pyqt5 and zstandard packages into the virtual enviiironment for this one, I am not sure, if more packages are required for Windows or MacOs. Since this is my first Python program ever and I didn’t even write it myself, I won’t be much help in case of problems with the Python enviroment….

(for some reason the forum software has cached outdated link content with all my original typos :grinning_face:)

1 Like

… ow

Quick update: since I had Jetbrains AI credits to burn before the next monthly billing period starts I tried the same program in C++ (in Jetbrains CLion). I feel it used up a few more tokens than Python, not really surprising as Python modules can do very much with only a few lines of code, But it is hard to compare because I did a few revisions just to make it look more like the Python program. Including several prompts for finetuning the UI it took about an hour and half and cost me about 10$ worth of AI credits before I ran out.

After four years of strictly hand-coding modules, I’ve slowly become more ambitious about what I ask AI (in my case, Gemini Pro via the Antigravity IDE) to do. Much like any coder I’ve worked with, I’m always suspicious of what it produces; 16 years of doing code reviews with my colleagues has taught me that anyone touching my code (including me) is fallible, or at least may not understand the assignment. But Gemini is getting pretty decent at it, and of course, it happily does most of my suggestions (unlike my colleagues :slight_smile: ) . I especially like how it handles the math-ier parts of what I’m doing. So I’m currently at the begrudging respect and occasionally impressed stage.

I will note a curious side effect of being much more productive; making modules is not quite as interesting as when it was just me. I think this is because I’m not struggling through problems nearly as much, so the whole process lacks a sense of drama. New features are added too quickly. Like, you know, cleaning my kitchen after a big meal prep is annoying and takes a lot of effort, but it is satisfying at the end. Telling someone else to clean my kitchen certainly frees up my time and effort, but there’s not any pride in it.

When I was paid to do software development for 30+ years, I noted that the people who got promoted and became managers or more senior engineers were, by and large, the people who took pleasure in getting things done, and power to them. But I wanted to be the person doing the things, sweating details, gathering requirements, making it efficient enough, and so on. I certainly am still doing a lot of those roles even with Gemini (I still laugh at how uninterested in CPU efficiency AI’s can get until I mention it). And I don’t miss manipulating IDE setup on my own! But like I said…there’s just a little bit less satisfaction. It’s a slightly ill-fitting hoodie.

That said, I’ve also entered a period when I have more module ideas than I have time to code, so perhaps Gemini is swooping in to assist me in the nick of time.

mahlen

9 Likes