Coding with Grok
"I use technology in order to hate it more properly." - Nam June Paik
I recently completed a significant overhaul of what will probably be the only web site I continue to maintain for the rest of my life: Java Zen, LLC. I've owned this domain for 30+ years and hadn't given it any love in nearly two decades. It served exclusively as a placeholder. Other functional elements tucked behind this domain have served as the backbone to most of my technical needs - email, database management, internal applications, etc.
My criteria for this overhaul were straightforward.
Secure
Simple
Extremely low maintenance
Attractive
I have the chops to make the first three happen. As for attractive...well, that's a work in progress and with the input from others I'm sure to bring that one up to snuff.
One catch is that I'm a few years out from having coded with cutting edge technology. Much of what's in use I don't have an interest or a need to learn. Even so, the stalwart tools I use have evolved considerably. HTML, Javascript, CSS, SQL, and Python are my tools of choice and it was clear my skill with Javascript and CSS were the weak links. At my stage in life, however, I'm not particularly keen on climbing any higher on the Javascript or CSS heap of cruft any more than I'm interesting in learning the ins and outs of Go, C#, or Rust.
So this became an opportunity to leverage AI in the overhaul project. Along with the Django framework and jQuery, I teamed up with Grok 3, brewed a fresh pot of coffee, rolled up my sleeves, and got to work.
With v1.0 done and pushed to production, I have to say this was an enjoyable process. A few insights...
The grammar one uses in the "conversation" with AI is critical. As an experiment, I tried asking Grok how to solve something in the way a non-technical manager might ask. The solutions drifted further and further off track as Grok became annoyingly apologetic and appreciative of any additional management-speak information I provided. If I wrote as if I were reciting use cases and formal requirements, things were better. Even greater improvement was achieved if the use-case-formal-requirement speak was augmented with narrative story telling such as is done with Agile stories. With the latter approach it was most effective if I started with very simple requirements and built from there. This slowed down the pace somewhat but was better than throwing the entire pan of pasta at the wall and hoping the whole thing would stick.
Most people involved with software development, especially developers and engineers, aren't particularly skilled at crafting user stories. It's an acquired skill, just like traditional (and ancient) storytelling. Coupled with a narrative approach like this, it was important to have a good sense for how things might need to be put together. Knowing the sequence and dependencies made a big difference in how quickly Grok got to a usable answer.
Grok (or any other AI) can't help with what it can't see or doesn't know. I banged away on one issue for the better part of an hour, feeding Grok the error messages, refactoring code, stripping code down to the barest functional shell, ripping code out and trying different approaches. No joy. Along with this slog, Grok would dutifully offer all sorts of suggestions and approaches. I learned quite a bit in the process, but not much about what I specifically needed.
The fix, in the end, was for me to stop trying to code my way out of the hole I'd created and think about the bigger picture. How are all the parts of the site working together? Ah! There it was. I had been captured in the AI Expertise Bubble! The problem page was extending another page which was clobbering the local code. I never let Grok see the entire page, only snippets of the "solution." Removing one line of code resolved the agony. When my coding blade was sharp I would have taken this step back much earlier than I did this week. And there's the trap. For nearly an hour I had been working with the assumption that the answer could only be found by working with AI.
My coding effort only spanned a couple of days so it's hard to say how much more effective this flavor of paired programming has been. My sense of it is that I probably coded myself into fewer holes, corners, and dead ends than I did as a full-time developer. Especially in light of the fact I was rusty on a couple of technical skills.
Shouting and cursing at Grok doesn't seem to help. But, on occasion, made me feel better.
Finally, I haven't used Google search in months except to look up things like the distance between the northern most and southern most points in Sweden. AI like Grok and ChatGPT have been much more helpful in getting to answers I can use. Not that I trust them any more than Google search, mind you. Rather I get a lot of information up front and can cut to the verification step much, much faster. And no effing ads. Wonder how long that'll last.
Related Articles
If you have any questions, need anything clarified, or have something else on your mind, please send a DM or email me directly.
Image credit: Grok 3





