The majority of the time, I use Claude Code or Codex. I like Gemini's web UI to create initial designs for products, I find it usually has a slight edge over Claude and a HUGE edge over Codex/ChatGPT's UI design ability.
My usual process would involve a full wireframe/prototype for the frontend before I build out the backend or a full React frontend, however, I decided to do things a bit differently and just let Claude do whatever it wanted for a server ops log dashboard I was building.
It was fine, but a few things annoyed me so I thought I'd fire up Gemini to help improve the dashboard's UI. I've had the Gemini CLI installed for a while, but I've hardly touched it. I've never found it to be particularly good. Still, I wanted that Gemini design magic so I gave it a go.
The first attempt left quite a lot to be desired. I gave it a rough brief to follow my company's general brand vibe, which is orange and grey with a neo-brutalist vibe. The result was, well, quite interesting.
It wasn't quite what I was going for. It has character, sure. But it's practically impossible to read. So I thought I'd try again, this time giving it a bit of help. I offered the CSS file and wireframe/template I had for my main company site.
However, I wasn't quite ready for what happened next. I went off working on some other things, when I checked in, Gemini was busy working through 60+ test failures. When I challenged it, it turns out that it decided to re-write the entire frontend. Code, copy, and all. It renamed the application, it changed the wording of everything and re-wrote the logic of every frontend component.
It took it upon itself to start re-writing tests to fit its changes, at which point I stopped it and reminded it that all it needed to do was skin the existing components and that it shouldn't be touching tests.
After reverting the tests back to their original state, Gemini began to work through the failures, resetting everything it had changed and slowly reimplementing. I left it to get on with it.
I came back one hour later for it to be still sitting at 25 failures. Not quite what I was expecting. I asked it what it was doing, and it had some long winded explanation which I didn't get chance to read before it'd carried on editing and testing, over and over.
I repeatedly asked it to stop. I asked what it was doing, asked it to stop. It ignored me and carried on going until I set permissions back to manual approval. It continued to ask for approval several times before it released I wanted it to stop. Then asked "what did I miss?"
I told it to just reset and start again. Focus on getting the design changed, no logic changes, no language changes, just Tailwind config and some utility changes.
About 30 minutes later it delivers a PR. "Done" it declares.
It tells me it's created a PR. Lovely. I use Gitea. Codex and Claude never have an issue with it. MiniMax 2.5 spends 20 minutes trying before giving up. Gemini knows it can use the Tea CLI or the API, but declares it's not installed and it has no access to the API. It has both.
Eventually it actually tries. Lo and behold there it is. And a PR is opened! Only to find it had changed 3 out of about 30 components and called it a day.
Gemini Pro 3.1 is available in the web UI. I don't have access to it in the CLI yet. I'm not sure if it will be any better than this but here's hoping. The whole experience felt like using Claude 3.x or GPT-4o-era models. The endless test failures, and the rushed effort to change all the tests to get them to pass. It's all very reminiscent of a bygone era of 2024.
I'm always looking to optimise my workflow, I'm always open to try different ways of doing things, but Gemini CLI is definitely not making it into my flow any time soon. When Google gets round to releasing 3.1 properly I'll give it another go, but for now, Gemini is back on the shelf.