We're in a world where you can dream up an app and have AI create it for you, just by having a conversation with a chatbot. That's vibe coding.
Just about anyone can do it, and there's no real learning curve. The final app you create is only as good as the prompts you give it, so while all of your projects might not turn out perfect, it's easy enough for anyone to pick up.
I've played around with vibe coding quite a bit, creating random projects here and there. I've mostly tried vibe coding out for proof of concept or chatbot testing, but I've rarely used it to make something crucial or functional enough to use daily.
This particular project came to be by accident. I'd been in the market for an e-reader, looking to disconnect from my overly connected iPad. Regardless of the motivation (but mostly in defiance of Amazon), it prompted me to try to vibe code a fix -- but with a twist.
I wanted to see if I could vibe code a functional e-reading application with all the features I wanted. Even knowing that if I was able to get this thing up and running and knowing I likely wouldn't use this daily, I still wanted to add some flair.
The question became what AI chatbot to use. I tested three -- Gemini, Claude and ChatGPT -- to create what I wanted and then checked to see which produced better results.
As it turns out, the model didn't matter as much as the prompt.
The prompt
Comparing chatbots is hard, especially when trying to mimic the same conversation or vibe in a coding project. Believe me, I've tried. I wanted to make sure all the tools I tested used the same prompt, but first, I wanted to refine it to get the best results, so I came up with a strategy to help me do that.
First, I built the entire project from the ground up with Gemini. Once I liked where the project was (a successful, functional proof of concept), I asked it to create a prompt so I could add it to any other chatbot. Gemini generated the prompt, I saved it as a file, and I uploaded it to Claude. I went through this process again, allowing Claude to catch and fix things I hadn't thought about when building the project and Gemini. Once that process was complete, I asked it to create another prompt so I could add it to ChatGPT.
... continue reading