I coded the Vibe app using 3 popular chatbots. The real winner is a good mentor


If you can write or speak, you probably can vibe code. It’s really that easy. You can simply communicate your idea to Artificial intelligence chatbot Of your choice with natural language, you will get to work. Although not all projects may become a pearly gem or even fully functional, the effort involved in creating a web application with just chat is minimal.

I played around a lot with enthusiastic programming, creating random projects here and there. I’ve tried it mostly for proof of concept or just for chatbot testing purposes, but rarely have I tried to make something significant or functional to the point that I could see myself using it daily. Then I started looking for an e-reader and came away frustrated with how incredibly “stupid” most of them were, especially the Kindle. More on that later.

Atlas of Artificial Intelligence

Regardless of the motivation (but mostly in defiance of Amazon), it led me to try to design code for repair, but with a twist. I wanted to see if I could design a functional e-reading app that had all the features I wanted. Knowing that even if I ran this thing, I probably wouldn’t use it every day, but I wanted to add some flair.

The question becomes which chatbot to use. I didn’t bother trying to choose. I used Gemini, Claude, and ChatGPT to create what I wanted and then see if one of them would produce better results.

Claim

Comparing chatbots is difficult, especially when trying to mimic the same conversation or dynamic programming project. Trust me, I tried. I wanted to make sure that all the tools I tested were using the same router, but first, I wanted to optimize that router for the best results, so I came up with a strategy to get there.

First, I built the entire project at its most basic level with Gemini. Once I liked where the project was at (a successful, functional proof of concept), I asked him to create a prompt so I could add it to any other chatbot. Gemini created the claim, saved it as a file, and uploaded it to Claude. I went through this process again, allowing Claude to pick up and fix things I hadn’t thought of when building the project and Gemini. Once this process was complete, I asked him to create another prompt so I could add it to ChatGPT.

The idea was to have the three chatbots have some input on the actual build of the project and, thus, the final vector. Once I created the prompt, I uploaded it to all three chatbots in a separate chat to see how consistent it performed.

Project: Tommy Reader

This project grew out of my frustration with Amazon’s Kindle devices. Anyone who likes to read and listen to their books can do so with real-time highlighting in an iOS or Android app, but after all this time — nearly 20 years — you can’t do that on a Kindle. In fact, it wasn’t long until users gained the ability to achieve real-time text highlighting by operating the assisted reader, which is very close to the app’s functionality. As of now, you can only read or listen to an audiobook on Kindle, not both, which is laughable, and so was the idea of ​​Amazon owning all my books. I thought I could just code the solution. I call it the Tommy Reader.

I wanted to build an immersive e-reader web app that could read your books out loud to you (with real-time text highlighted, of course) whether the text was pasted or your PDF or EPUB file was loaded. In addition to reading the text out loud, the web application will generate background music depending on the content of the text in a subset of categories (Neutral, Gothic Horror, Sci-Fi, Nature, Fantasy, Underwater, Western, Mystery), and generate additional audio and visual effects when certain words are spoken in real time. The entire project is created in a single HTML file so it can be run within a web browser without additional dependencies.

Building with Chatbots: Round 1

twin

Vibe Coding Project - Tome Reader - Gemini

Gemini created all the features I wanted from Tomb Reader with relative ease.

Google/Screenshot by Blake Stimac

Gemini has allowed me to see how much I can expand the functionality of this web application, so the majority of its functionality comes from Google’s chatbot. It allowed me to address a few small issues initially, which prevented text-to-speech (TTS) voices from loading. Instead, it created a configuration screen that would force sounds to load after tapping the app’s “Open” screen. Without this kind of knowledge, the project would not have taken off.

Slowly but surely, the project’s functionality began to grow. Since the direct sound effects of certain words can be distracting, I made sure to add the option to turn off those sound effects and background music. After I had the app base working, I asked Gemini to create a prompt that I could share with other chatbots so I could build it elsewhere if I wanted, and this is what happened.

Claude

Vibe Coding Project - Tommy Reeder - Claude

The Claude project has given me the most success in some areas and the most trouble in others, but it is my personal favorite of the three test projects.

Anthropy / Screenshot by Blake Stimac

Claude has made great improvements to the basic functionality of teasers in this project. Claude expanded vocabulary and increased visualization when a stimulus word was said out loud. However, Claude made a call that I did not ask him to, even though the reasoning actually made sense.
At first, I thought the project wasn’t working because when I went to test its functionality, only the first trigger word would create the desired effect in a string of about 10 words. It took a while for Claude to finally reveal that he had decided to allow the audio and visual effects to play only once per sentence so as not to “spam” the user. This made a lot of sense, but the project was more of a proof of concept than a functional reader, and Gemini and ChatGPT created sound effects for each keyword, which is the expected functionality.

However, there were no specific instructions within the prompt for how many times to play the audio and visual stimuli. Although it wasn’t necessarily what I wanted, I appreciated taking into account the overall user experience to make such a connection. After coding all these improvements, Claude updated the router, and I took it with me to ChatGPT.

ChatGPT

Vibe Coding Project - Tome Reader - ChatGPT

ChatGPT failed to build additional features when I asked for it on occasion, but it was able to rebuild the project perfectly when I gave it the final prompt.

OpenAI/screenshot by Blake Stimac

By the time I created the updated claim with Claude, there wasn’t much I could think of doing when I uploaded it to ChatGPT. Fortunately, OpenAI’s chatbot created the project easily, despite being the slowest at generating code. The one functionality I asked ChatGPT to add to the project – creating a custom background music slider that could be turned off completely if one just wanted a personalized e-reading experience – failed consistently. Finally, I went back to Claude to request this function and re-create the claim.

Round 2: Recreate the same project

Despite using Gemini 3 Pro to initially build the project and the free versions of ChatGPT and Claude, the three built the project, but not without problems. I spent most of my time with Claude refining the project, and he was responsible for creating the final version. So it was very surprising to discover that when loading this prompt in a new chat, the project would not load past the first “configuration” page. Although there were no issues at all with previous iterations, it took 11 additional full rebuilds (yes, really) to figure out what was going on.

Rebuilding the project using both Gemini and ChatGPT worked flawlessly. All functions, basic and advanced, worked as they should, including file uploads, test highlighting, text-to-speech output, and audio and visual effects when saying trigger words out loud. Going back to the models, I saw very little difference in functionality or performance when giving the same prompt to each chatbot.

Chatbot contradictions

Getting the file to test was always easy with Claude. Not only does it offer a preview of the project so you never need to download the HTML file at all, but if you want to (which I often did for testing), it’s available for download directly. Sometimes this option was only offered with ChatGPT, while other times I was only able to copy and save the HTML myself.

Although there are fewer mistakes and general fears with Gemini, it always requires you to take the long road and do it that way. All that aside, the fact that ChatGPT would only occasionally offer to let me download the HTML file directly was weird and a bit frustrating.

Winner: It depends

Determining the winner of this type of test is difficult, as all chatbots have pros and cons. In a sense, they all win. Each of them was able to create a functional version of the project at some point, but it often required repeated efforts.

In the end, the winner is the user. It shows that no matter which model is used, a strong set of instructions can get you far. I was unable to distinguish differences in performance or functionality between the application created by Gemini 3 Pro and the free versions of ChatGPT or Claude.

This is actually in direct contradiction to what I found when having a similar conversation with both the pro and free Gemini models. Although it was another day, another project, and another model, it shows that a strong claim can take you incredibly far in the world of bioprogramming.



Leave a Reply

Your email address will not be published. Required fields are marked *