Small UX Details Make AI Coding Better
For the past few months, I have been using Devin (the artist formerly known as Windsurf, formerly known as Codeium), plus a few detours through Claude Code and other AI coding tools. I was generally happy with them.
Then a colleague lured me into trying the Codex desktop app.
I was probably also getting slightly confused by the different agent and editor modes in Devin. Not in a dramatic “I can no longer operate a computer” way. More in the familiar developer way where you know the feature you need exists somewhere, but your brain has already wandered off before you find the right button.
I have only used Codex for about a week, mostly on Umbraco projects, so this is not a grand verdict. It is more of a first impression from someone who has spent a lot of time letting AI write code, then trying to understand whether the code is something I actually want to keep.
And my main takeaway so far is simple: small UX details make AI coding much better.
Projects in the sidebar
In Codex, my projects are just there in the sidebar.
That sounds almost too basic to mention, but it makes a real difference. I can switch between project-specific chats without having to mentally reconstruct where I was. There is also a general chat for things that are not tied to a repository.
That could be something useful, like:
Do I have access to the Figma MCP server?
Or something more practical:
Should I walk, or take the car to the car wash?
The useful bit is that I do not have to keep the whole map in my head. Project work lives with the project. Random questions live somewhere else. When you work across multiple client projects, package ideas, blog drafts, and experiments, that little bit of structure removes friction.
I had even started building small VS Code extensions to improve the editors I was already using, including Devin and the many other VS Code-shaped editors. Project Lobby gives me a start page for jumping between repositories. Go To Partial adds Go to Definition support for Razor partial references in .cshtml files, mostly because that felt like a feature that should exist.
Neither of them are huge ideas. They are small quality-of-life improvements. Project Lobby solves one of the workflow papercuts that Codex also happens to handle nicely: project switching and keeping an overview.
Vertical chat tabs are underrated
Another tiny thing: chat tabs are listed vertically.
This should not feel like a revelation, but after a long AI coding session it really does. Horizontal tabs quickly become a row of truncated titles where the important part is always the part you cannot see:
- “Update Umbraco…”
- “Update Umbraco…”
- “Update Umbraco…”
- “Continue from…”
- “Continue from…”
- “Fix review…”
- “Fix review…”
Those might be seven completely different tasks. One might be a package update, one might be a content model change, one might be a build fix, and one might be the thread where I finally explained the weird edge case properly.
At that point, finding the right thread becomes more guessing than navigation.
With vertical tabs, I can scan the list properly. Codex is also reasonably good at naming threads, which helps more than I expected. I do not need the interface to be clever all the time. I just need it to keep me oriented while I am juggling a task, a diff, a terminal, and a half-remembered requirement from three hours ago.
Code review feels built in
This is the part that has made the biggest difference for me.
Codex opens a panel on the right with the changes it has made. I can go through them, line by line, and add comments directly on the code. Codex can then pick up those comments and continue from there.
That workflow feels much closer to how I want AI coding to work.
Not:
- Ask AI to implement something
- Receive a pile of code
- Try to understand what happened
- Hope I catch the weird parts before committing
But more:
- Define a contained task
- Let the agent work
- Review the changes in context
- Leave specific comments
- Let it adjust the implementation
That is especially useful on Umbraco projects, where a change is often isolated enough to describe clearly, but still specific enough that I need to check the details. Backoffice extensions, package code, content model tweaks, build scripts, deployment helpers, these are all places where AI can move quickly, but where I still need to stay in control.
The review experience makes that easier.
It also helps reduce AI slop. Not because the model magically stops producing it, but because the interface makes it easier to catch, challenge, and reshape the output before it becomes part of the codebase.
Git is close enough to use
The Git integration is also simple in the right way.
When the changes look good, committing them is only a click or two away. Codex can stage the relevant changes and write a commit message, or I can choose exactly what should be staged.
Again, none of this is impossible elsewhere. It is just close enough to the work that I actually use it.
That matters. AI coding already creates a lot of small decisions:
- Is this task scoped well enough?
- Did the agent understand the existing patterns?
- Are the tests meaningful?
- Is this change too broad?
- Should this be one commit or three?
If the tool can remove a few bits of ceremony around the boring parts, I have more attention left for the code itself.
The built-in terminal helps
Codex also has a built-in terminal, so I can run the project manually from the same place.
My colleague is already at the point where he just asks Codex to start the project. I am not quite there yet.
I still like typing the command myself. There is a small comfort in seeing npm run dev, dotnet test, or whatever else the project needs, and knowing exactly what is running. Maybe that will change. Maybe I just need a few more weeks before I fully accept my new colleague as the person operating the terminal.
For now, I like that both options exist. Codex can run commands, but I can also take the wheel when I want to.
I miss adaptive mode
The one thing I miss from Devin is adaptive mode.
In Devin’s model selector, adaptive mode can decide how much thinking a task needs and which model makes sense for it. That suits me very well, because I am distractible by nature. I will absolutely forget what I set the tool to.
And I am apparently patient enough that it can take a disturbingly long time before I notice I have had it on maximum thinking all day.
In Codex, I mostly just sit on GPT 5.5 all the time. In Devin’s adaptive mode, I would probably bounce between Claude Opus, Claude Sonnet, and one of the cheaper models, like SWE or Kimi, depending on the task.
That kind of automatic model selection is not just about cost. It is also about rhythm. Some tasks need deep reasoning. Some tasks need a quick pass over a file. Some tasks are basically “rename this, update the tests, do not make a meal out of it.”
I would love Codex to have a similar mode.
This is not really tool versus tool
All of the things above are probably possible in other tools too. Whichever name or logo is currently being announced while I am still learning the previous one.
This is not meant as a “Codex wins, everyone else go home” post. That would be silly, and it would probably age badly before I had finished writing it.
What Codex has done for me, at least in this first week, is make the whole AI coding loop feel a little easier to stay inside:
- The projects are easy to find
- The threads are easier to scan
- The diff is always close
- Comments can become follow-up work
- Git is nearby
- The terminal is there when I need it
None of those are magic features. They are small product decisions. But together they make the difference between “AI wrote some code somewhere” and “I can actually work with this.”
That is the part I care about.
AI coding tools are useful when they help me move faster without making me feel less responsible for the result. The model matters, of course. But the interface around the model matters too. Sometimes it matters more than I expected.
Be careful who you let users dance with
I have only used Codex for a little under a week, so ask me again in a month and I may have defected to something else with a nicer sidebar, a better review flow, or a model selector that reads my mind.
As the legendary Danish football coach Richard Møller Nielsen said:
You have to be careful about letting your wife dance with another man.
So yes, another tool may come along and dance with me instead of Codex very soon.
But for now, I am pretty happy.