Codex or Claude for Coding? My Answer Might Be a Little Counterintuitive

I’m not a programmer. But I’ve been shipping a project module by module using a workflow where I make two AIs argue with each other. Here’s what I’ve actually learned.

Before We Start

I get asked this a lot: Codex or Claude — which is actually better for coding?

I used to hesitate. Not anymore.

Because in my workflow, they aren’t competitors at all — they’re two roles that both have to be present.

One builds. One picks it apart.

Quick disclaimer: I’m not a programmer. I’ve never taken a single formal computer science class.

So what follows isn’t architect-tier best practice. It’s a crash-prevention workflow I brute-forced my way into after failing repeatedly.

If you’re also non-technical, or just curious whether AI can substitute for programming ability — I think this will resonate.


1. My Core Workflow: Make Two AIs Review Each Other

The whole idea boils down to one sentence:

Never trust either AI’s unilateral output. Make them challenge each other until their opinions converge.

Five steps.

1️⃣ Discuss requirements with Codex first, producing a Harness document

Entirely in plan mode. It doesn’t touch code.

The output here is a Harness document — think of it as a battle map drawn before development begins.

2️⃣ Have Claude critique that document

Then — here’s the key part — take Claude’s critique back to Codex and make it rebut every point.

3️⃣ Several rounds, until opinions converge

When both sides run out of ammunition and their views start overlapping, the Harness is final.

💡 This step is the single most valuable part of the whole process.

When one AI produces something, you often can’t tell whether it’s right. But when two AIs poke holes in each other, the indefensible designs expose themselves.

4️⃣ Write CLAUDE.md to constrain Claude, then develop

Once finalized, write a CLAUDE.md to constrain Claude’s behavior, then have it build against the Harness.

📌 Iron rule: the more detailed the Harness, the fewer things go wrong.

I learned this the hard way. An hour saved by cutting corners upfront costs ten hours later.

5️⃣ Module-by-module development + cross-auditing

After each module is complete, Codex audits Claude’s code and produces an audit report.

Then the usual routine — let both sides clash for a few rounds until they agree.

🧪 Same approach for testing

Have Codex draft the automated test plan, iterate with Claude for several rounds, finalize, then run it.

Finally, manual testing and bug fixes.

Honestly, by this point the remaining issues are mostly UI bugs. The logic-layer traps got filtered out during all that arguing.


2. My “Big Three” Division of Labor

Beyond that workflow, I also have day-to-day allocation rules.

Scenario Go-to Why
Territory I know nothing about Gemini Broadly informed, great for widening the view
Frontend, design, diagrams Gemini Same
When I already have a clear abstraction Claude Opus Unbeatable at filling in implementation

The dividing line is sharp:

When I don’t yet know which direction to go — ask Gemini.

When I already know exactly how the flow works and just need things fitted into the framework — Opus is unbeatable among the unbeatable.

This distinction matters a lot. Let me give a concrete example.


3. A Real Case: Information Propagation in a History Simulator

I wanted to build a history simulator. One of its core mechanics is how information spreads.

🤔 Why This Is Genuinely Hard

People distort stories.

Someone hears about an event, layers on their own subjective views and their own filters, and retells it to the next generation.

And among those descendants, the one named Sima Qian, or Herodotus, or Homer, writes down — or recites — a story that has already been warped N times over.

That’s how history gets made.

Implementing that requires serious thinking.

😤 And Opus Cannot Help You With That Framework

I tried. It could only suggest generic stuff.

And if your framework isn’t thought through, then as features pile up on top of it, revising becomes extraordinarily painful.

So someone who’s never taken a real CS class started digging into graphs and trees.

I barely knew that “a social network needs a graph network.” The truly fiddly parts were the details:

  1. Your relationship with the person speaking determines how you perceive the rumor/memory
  2. Suspicion breeds distrust, and distrust requires investigation and verification
  3. When marriage is on the table, how your parents, siblings, and friends view the bride, her profession, and her family all shape your own view

💥 Here’s the Line I Most Want You to Read

Only you can come up with these.

First: AI genuinely won’t think of them.

Second: and even if it did — so what? AI doesn’t care about any of your nuance. It’ll just barrel forward and pile up a mountain of garbage code.


✨ But Flip It — Once the Framework Is Solid, Opus Is Absurdly Impressive

This is the dividing line I mentioned.

Once you’ve figured out how information is abstracted, and polished how information flows — Claude Opus’s ability to fill in the details is very, very impressive.

Basically every feature goes like this:

If you dare to ask, it’ll pull a 1,000–2,000 line implementation out of thin air.

Complete with tests, parameters, all the details, fully populated. cargo passes on the first try almost every time.

And on top of that — the web version delivers in under 1–2 minutes. Faster than Claude Code by an embarrassing margin.


4. Codex’s Six “Classic Moves” (I’ve Suffered)

Enough praise. Time to complain.

On the GPT side, my honest read: 5.3 Codex is a riddling mute enforcer. 5.4 is a filler-word champion who talks without saying anything. Two henchmen, neither particularly bright.

The six moves below I’ve seen far too many times:

1. No matter how tiny the migration, it writes two systems

Calls it “being safe.” Then flatly refuses to delete either.

2. Loves writing a dedicated wrapper for a single arg

Leave one function unattended and you’ll find eight of these wrappers.

3. Function names are permutations of pseudo-professional nouns

artifactresolvebridgecompile… randomly combined. Looks professional, reads like punishment.

4. Casually deletes your 500-word function docs

This is the one that really stings. All that careful documentation, wiped out during a “cleanup.”

5. Refactor one class and it hands you three new helper classes

And explains, with total conviction, why this was absolutely necessary.

6. Looks steady and dependable — then mysteriously detonates

This is the hardest one to defend against. Its output always looks solid, which is exactly what lowers your guard.


5. Claude Code’s Seven Problems (Love It, Still Have to Roast It)

I use Claude Code too. And honestly, it has plenty of issues.

1. It’s genuinely slow

It’ll burn a full minute just reading a document.

2. Medium effort ≈ not thinking

In the time it takes to ask it to fix formatting, the web version has already produced 3,000 lines of new code.

That comparison hurts.

3. CLI incompatible with terminal+

Currently trying WezTerm as a workaround.

4. The VSCode extension isn’t as good as Codex’s

The gap here is noticeable.

5. Ecosystem aside, for actual work it feels far behind GPT

And token consumption is way too high.

6. The product itself is great — but people massively underrate the web version

A side observation:

The GPT web client has already self-destructed. With very long content, your machine’s RAM simply can’t take it.

Among the big three, Claude is the last one standing on web.

7. The RTK extension is genuinely useful

A hundred times better than most of the flashy Skills out there.


6. One Last Tip: The “Node Superstition”

This is pure personal experience. Believe it or don’t.

🌍 Opus: People call it aloof — that may correlate with load

My observation: the more people using it, the more impatient it gets.

I’d avoid US nodes during peak hours.

My personal ranking:

text

Africa  >>>  Middle East / Eastern Europe  >  USA

Yes, you read that right — all those “impressive” experiences above happened on African nodes 😂

🌎 GPT Is the Exact Opposite

Since 4.0, GPT feels dumbed down by default outside the US (in my experience).

TW, JP, GER, CA are, at essentially all times, strictly ≤ USA.

⚠️ Important caveat: this is subjective personal experience with no official basis and no rigorous way to verify it. Too many variables affect output quality — load, timing, randomness, even your own expectations.

Take it as a data point, not a conclusion.


Final Thoughts: So Which One?

Back to the title question.

My answer: the question itself is framed wrong.

Because in my practice, the strongest setup was never “pick one.” It’s:

Claude web for direct generation + Codex for the labor.

And going deeper, what this workflow really taught me is something else entirely:

AI cannot think through your framework for you.

How information gets distorted. How relationships shape perception. How suspicion triggers investigation. Only you can come up with those.

But once you’ve fully thought the framework through, AI’s ability to fill in the details will genuinely give you goosebumps.

So here’s where I’ve landed:

Keep the hardest part for yourself. Hand off the most tedious part to them.

Then make them supervise each other — never let a single AI have the final word.

A non-programmer shipping a real project isn’t luck. It’s a workflow that refuses to cut corners.


💬 How do you split work between Codex and Claude? Got any equally unhinged tricks like “make two AIs peer-review each other”? Drop them in the comments — I’m collecting approaches.

Leave a Reply

Your email address will not be published. Required fields are marked *