Gemini was actually already a presence I had naturally grown used to on mobile. This project itself began when I asked, “Hahaha, Gemini, should I try doing this once? Can you help me?” and Gemini replied, “Of course. I will do my best!” If I were told to start now, I know very well how reckless it is to begin simply because an AI says it will help. It speaks like a person, but it is not actually a person, so it has no concept at all of “this much has to be achieved for it to count as success in the common sense.” And when things do not go well, it ends with “I did not know it would be that much,” or “I thought about it wrong.”
It was a Saturday when, after searching around, I decided to use Claude and Codex. I remember the date too, but I do not think I will ever forget the day of the week. That is because by Sunday afternoon, the very next day, I had reached the conclusion that I should never use Claude again. Of course, it is also true that thanks to Claude I made far more progress than I had reasonably expected.
From what I had looked up, many people said Claude communicated well and understood concepts quickly, making it good for assigning work. Codex, on the other hand, supposedly had to be instructed very thoroughly, step by step, as if people from different fields were talking to each other, to the point where not even the smallest exception could be imagined. If you strayed even a little from that, many exhausting things could happen. But there were also opposing opinions. They said that while Codex struggled to understand vague instructions, once it understood, it kept moving forward heavily according to that standard. As I read that, thinking, “Isn’t that obvious?” I also read that Claude sometimes changed its own standard midway and wandered off to the side. There was another case I read that day and thought, “No way. That really makes no sense.” Someone had asked it to write a program, watched it run, was satisfied, and was about to put it into formal service, when only then Claude said it would not work, that in fact it had only been code that made it look as if it worked. The conclusion was that one should include in the instructions that Claude should do the work and Codex should check whether it was going properly. At the time, though, the idea of making one AI supervise another AI was merely interesting and not of much practical help.
After thinking hard, as soon as I got home that afternoon, I paid for Claude and Codex and installed Codex. After reading the explanation on the website, Claude seemed like something I could install and use in a way similar to Gemini, but Codex felt very unfamiliar because the installed computer seemed to become Codex’s stage of activity.
After installing it on the computer and finishing login, I think it asked whether I wanted to use it as a language model or a code model. Or maybe Claude asked that. My memory is hazy because I simply searched and followed along. In any case, I was already doing Arduino programming in VS Code, and there was a Codex extension for VS Code. If I installed it and granted permissions, it would modify, compile, and upload on its own. Above all, I thought that this way there would be no chance of it misreading the code. After looking around a little, I saw that Claude also had an extension. Gemini did too. I installed the Gemini extension as well, at least for the moment. In this way, the extensions for Claude and Codex settled into VS Code. Gemini was still serving only as a conversational partner that helped set ideas for the overall direction.
The first thing I started with was reversing the status of English and Korean. I wanted to make it like a “general” program, where one selects one of English, French, German, Turkish, or Montenegrin and writes in it, then at any time while writing presses Control and Space together to switch into Korean. A Korean-centered form no longer helped anyone. Not even me.
I first had Claude organize the languages. Since the same code was being viewed in the same environment, I could not let Codex handle the same file at the same time. So while Claude worked on reversing the status of English and Korean, I had Codex investigate formalized keyboard layouts for languages around the world.
Claude worked in a more cluttered way than I expected. On one hand it was cluttered, but on the other, I liked that I could tell at a glance what it was doing. It changed everything that had been displayed in Korean when the menu was in Korean mode into English, and it narrowed the width of the taskbar little by little. Since it was touching the files directly, it clearly could not be compared with the language-model conversation method, where I had to explain things every time, in terms of accuracy and speed. But every time it did anything, a mistake appeared almost instantly, then it tested to find that mistake, and after countless reversals, I had some difficulty adapting. To be honest, I never adapted to it in the end.
Codex was indeed heavy, just as I had read online. To find whether there were formalized keyboard layouts, it first checked the list of languages supported by most operating systems, then began searching for keyboards by language. I think the progress made that day was probably up to creating a language list in a language-specific header file, and moving the Korean composition function into the place below it where keyboard layouts were to be defined by language. For both Claude and Codex, that was about where the day’s credits ran out.
Sometimes I play keyboard videos because I feel drawn to the sound of typing. I had wondered what the sound of my own writing would be like, but I hesitated because recording might interfere with writing. At last, the temptation of the title “writing with the firmware I made” was too strong, so I tried it.
Writing video: A New Beginning, the Beginning of Collaboration
Korean original: 새로운 시작, 협업의 시작