I’m not much of a writer, so I apologize ahead of time for how random this read might get. But I’ll try to keep things a bit organized. I’m adding headers for those who’s ADHD is on par with mine. Also, I originally wrote this in Notion and after deleting and re-writing it a couple of times, I've accepted that this is just thought regurgitation, so read this at your own peril. Enjoy.
You can check out the guitar tuner in question here → https://tkdguy85.github.io/guitar-tuner/
Preface - you could skip this part, just rambling.
I’m a software developer and after getting laid off a few months ago, I spent a lot of time brushing up on old skills and dabbling with different frameworks and concepts just to get a feel of what some of companies are either working with or asking for. Combine this curiosity with the mixed AI sentiments that my LinkedIn feed floods my timeline with and I finally decided to run a little experiment myself. Everyone talked about how something they built and rarely provided any examples. Even with just simple proof-of-concepts, it was always a lot of talk but nothing really to show for it.
I could join the chorus of other voices and go on about my own feelings towards AI, authenticity, ethics around how these models are built…but that’ll just have to wait for another article maybe. During my recent developer role, I had more ups than downs working with Github Co-pilot and it was helpful most of the time with autocompleting some functions or repetitive syntax and was also supplemental with some debugging, but again, that would be an article for another time. With that, let’s just jump into the the WHAT, the WHY, the HOW, the WTF, and the NOW. I’m warning you that I’ll ramble, get distracted, feed some birds in our backyard, and then maybe have some resolution or links throughout this article to actual stuffs. But read this how ever you see fit, skim through it, analyze it, yell at me via your keyboard because I’ve clearly made mistakes, just know that I only hope this triggers some thoughts of your own and you’ll completely forget about me by the end of this and go do something awesome for yourself.
The What
What is this about? This article is me sort of brain dumping a project that I thought was only going to be a day or two of messing around with a “vibe coded project”. I honestly thought this was going to be something fairly quick and simple and then after 3ish weeks of on and off updates, more prompting and then some “fine, I’ll do it myself”, I finally got around to sort of getting it working. There’s some wonkiness involved, but we’ll touch on that later. My goal with this was basically to just see for myself how effective this “vibe coded” is, but from two different lenses. One view was seeing this from the creator/programmer point of view. The other was from an end user point of view.
I’m a typical bedroom guitarist. I own over 15+ guitars that I’ve purchased or have been gifted to over the past 20 years. I have one special guitar, an Ibanez RG550, that was gifted to me by my wife when she proposed to me back in 2020 (I said yes, before I even noticed that there was a gig bag sitting behind me). Outside of that guitar, none of them are really high quality or even expensive by guitar standards. I like tinkering around with pawn shop finds or messing around with a cheap brand by taking them apart and seeing if I could make them a bit better. I also like playing in a variety of different genres and tunings, which now we get to, THE WHY.
The Why
One of my favorite guitar tuning sites went down after the start of the year (that project was probably just abandoned). For those who don’t know, guitars can be set to a variety of different tunings. Some music genres use tunings that are too low for some standard tuners and sometimes, you just want to experiment with different sounds. That’s where I decided that I could build out a guitar tuner and have some even deeper insights into what was going. The plan was simple: I was going to prompt Claude Code to build out a VueJS based app and then just piece everything together. There’s some more ramblings about the process that can be found in the README.md file in my repo here. With that, let’s dive into THE HOW.
The How
The prompt
I want help building out a simple guitar tuner with these following requirements:
Language: VueJS frontend, Python Backend, Docker container if this will keep things simpler
The interface will include four different instrument sound types: Bass, Electric Guitar, Acoustic Guitar, Pure Tones.
The display will give you the option of different tunings for the different instruments. 4 - 7 strings of Bass and 6 - 8 strings of guitar.
There will also be an option to have the tones either repeat after a few seconds or be one solid tone that plays until you stop it.
There should be the ability to add additional tunings that can be saved, but also a list of common tuning options available. You should also be able to change the individual string notes if desired.
The app should be able to run offline and be accessible to any one on any desktop, tablet, or mobile device.
With this prompt, I just wanted to go a bit wild and see what it would spit out, but after reviewing and debating on the first iteration, I prompted again for a much simpler build. Were these good prompts for the first time, probably not. But I’m also using the free tier and if I would’ve hit limits, I’d have stopped ages ago and just went back to other projects.
To Claude - “I would rather this be a full Vue project with components”
I’m jumping around this a bit because there were a couple of iterations that I wasn’t really interested in setting up. Initially, the frontend only VueJS suggestion came back as a long HTML file pointing to a Vue CDN. But I wanted to spin this up using my normal Vue flow. So I started up a separate Vue project using Vite and then just started swapping the files in its place. Within about an hour or so, I was able to piece things together and after refreshing the browser, Walla or Wah-lah, or Wall-e (whatever one makes me sound less like Super Mario in your head)…the site was up. But then…it started…THE WTF.
The WTF
One of the things I heard a lot about with some of these vibe coded builds was their generic approaches to styling. I didn’t give it any prompts and with some smaller examples I’ve prompted both Claude and Chat GPT with in the past, I’d usually get served back something that was very Tailwind heavy, but feeling more like a preset website builder’s template. What I got was a fairly simple layout that isn’t too far from what the current state of the site is now. That is, with the exception of the guitar playback buttons and that’s something I’m going to focus on heavily from hear on out.
Reminder, the main point of this app is to serve as a guitar tuner. For me, this means that I have something where I can hit the play button and then tune my live guitar to the audio frequency that the app is putting out. Before even hitting the buttons and testing the notes, the first big flag was that the layout was sort of frustrating (I should’ve taken screenshots, but it’s not that important). The buttons were laid out in a centered column, which meant that I’d have to scroll down a bit as I would go through the tunings if this were viewed from my phone or tablet. Easy fix though, I just updated the styling and layouts to shift the containers 90º and then displayed those containers in a row. Quick easy done. Not bad right?
When I hit the first note, something felt off. And then, the next note was the same as the first. All of the notes were playing the same sound. Hopped into one of the JS files handling audio and it was a mess. Some variables were being reused, over-written, or not used at all. Functions declared, but not called. And this was all just the “programmer-side” of what was and wasn’t working. If you didn’t know what you were listening for, how would you know that instead of the standard EADGBE tuning layout, you just had AAAAAA. Even if all of the notes where actually different, would you think about writing test that both makes sure that they are in fact different notes, the right key, a different octave between the first and last E strings?
While I could deep dive into all of the other finicky issues that were happening just with the interface and what was happening in the background, I don’t want to veer too far off of what I ultimately took away from building this out. That leads me to THE NOW.
THE NOW
At the end of the day, this project was 75% curiosity and 25% practicality. There are other tuners out there (I even link to one on the site that works 100x better, but is less flexible with tunings without a paid plan). I wanted to jump in and see the hype first hand and I will say, I am and continue to still be fairly impressed by what these tools FEEL like they’re doing. But the missing human input is something that felt very real.
To someone who doesn’t care, know or have any interest into the purpose of the code, all they generally seem to see is that some model spit out 100,000+ lines of code and did it minutes. All you have to do is prompt cleverly, pay for tokens, and iterate fast, then you’ll be set. That’s the sentiment that I feel from a lot of the noise across all the boards, forums, developers are obsolete chatter.
Peak developers aren’t just those with the most clever work-arounds, sharpest minds, fastest typing, and a VIM powered battle station that is either over-engineered or so bare bones that it could run on a hamster-wheel powered dial-up device. I’m not excluding them, but I also want to highlight the people who still love doing this. Someone out there is going to run a program and see “hello world” in the console and light up. Someone is going to build some super wonky app, with the worse interface in the world and only usable for themselves, and that’s all that truly matters. Someone’s going to vibe code a bit of software and put it out there with all the hopes of it making them a few bucks and helping others. So many scenarios, so many situations, so many so many’s (I couldn’t find a better way to wrap this up). Regardless of all the noise, we’ll all find ourself somewhere along the spectrum of how we feel around AI tooling. Enhancements, exposure, wins, failures, all of that coupled with our personal interactions with these tools are unpredictable. What’s right versus what’s wrong won’t always be black and white.
What I do know, at least for me, is how much more impressed I am when I can admire the craftsmanship of the things that interest me. Some people are only fueled by profits, fame and clout. Some folks are truly wanting to make the world a better place for their small corners of the universe. The world is ever-changing and that’s inevitable.
My take away from all of this wasn’t about how good or how bad the tooling is. I’m sure it will continue to get better. But this only came to fruition because I knew what the end goal was and what was needed for this to at least be “useful”. This was supposed to be me just seeing how something that would probably take me months to build from scratch can just be done in a matter of minutes and instead I walked away with knowing that it’s not a bad tool to have in my back pocket, but this caffeine consuming mush-ball fretting about posts on LinkedIn…is still the best tool that I have at my disposal. Thanks for attending my Ted Talk. And if you made it this far, thanks for reading and you can bug me here at tkdguy85 on LinkedIn. Peace.
Top comments (0)