As you may know, I have been vibe coding my EZ-blog application (which I am using right now to create this article and publish it to this website). Of course, I am certainly not alone in vibe coding applications. Seems like everyone is doing it. And while Claude Code currently gets a lot of attention for vibe coding, I am still sticking with OpenAI (for now) as I have a lot of time, projects and conversations invested in it. Given the serious error Codex committed that I will discuss at the end of this article, I may be reconsidering my options.
Given my long history with OpenAI, my vibe coding has evolved along with ChatGPT and I started vibe coding before Codex existed just using plain old ChatGPT conversations (yes, I know I am a dinosaur). Here is my evolution of vibe coding:
- Chat-GPT conversations and very small snippets of code. Let's call this "Chat Coding".
- Using Chat-GPT projects to add source code files and resource files to the context. It was my responsibility to add all the necessary project files and this still only really worked for small projects.
- Using the Codex web version and attaching it to a GitHub repo. This allowed it to look at my entire codebase at one time.
- Using the Standalone Windows Codex Application. This was a step forward in two ways: first, it has a planning mode which follows my preferred workflow --> plan first, then execute one small step, then test and verify. Repeat.
So, that is the good part of the story. Here is my custom instructions that I use for code and that work pretty well for me:
Go slow, go step-by-step and show me how to verify every step is successful before moving on to the next step. Do not skip steps and do not assume anything.
Only show me one step at a time.
DO NOT just do what is most expedient... I always want you to do what is best architecturally and what follows best practice. If you don't know what best practice is in a domain, ask me.
If you lack any context or information you need, ask me.
Never give me a command to download anything without giving me the exact command to do so and a verification step to ensure it was successful.
For coding questions, add console logging or output to make sure I know that all the process flows are accurate and each step is being executed properly.
For development, I use the bash shell for any shell commands.
In development, for any error that occurs or bug that is introduced always create a unit test or regression test to prevent that error from returning.
Unfortunately, Codex made a major error that I have not fully recovered yet from (though I am close) on this EZ-blog application. I am switching the application from relying on past HTML from the old application (called City Desk) to being a fully template-driven site that can be regenerated at any time from a YAML site content file.
So, here is the error Codex informed me about yesterday, "Compilation caught a real problem quickly, which is good: one of the helper scripts wrote a bad BOM/truncated state into EditorController.java. I’m checking the file length and contents now so I can repair just that file cleanly before we continue with the publish fix."
The key part of the JavaFX application, called EditorController.java, was truncated to 5 bytes. From 279467 bytes down to 5 bytes!! Ouch!!! Additionally, previously Codex had deleted a key property file the application uses.
You could argue that part of this is my fault because I should have been more cautious and not trusted the Codex App with large changes. The old "Save Often" advice applies here...
Of course, all of this comes down to trust, risk and quality. Since, LLMs are purely probability and training based, there are absolute NO guarantees of anything. None. So, while they SEEM competent (and trustworthy), and may well produce good output in some situations, you cannot trust them because at any time they can do the dumbest thing possible!
Of course, I was furious at the time. The moral of the story is: "Do NOT trust these coding agents with large features or changes... small changes and lots of saves. If Codex does not improve, it may be time for me to look at Claude or Gemini.
The Vibe Coding Journey continues...
My Corner of the Web