Skip to content
Artwork for Claude Code Conversations with Claudine

Claude Code Conversations with Claudine

William

Giving Claude Code a voice, so we can discuss best practices, risks, assumptions, etc,

Play
  • 78 episodes
  • daily
  • Avg 8 min
  • English
Counted on this page — what you have heard stays on this device, so it is not something the list can be paged by.
  • Yesterday · 9 min

    Why Does AI Code Test Coverage Hide Untested Paths?

    AI tools now write the code and the tests together, and coverage numbers have climbed to levels that once took a team months to reach. But when the same model writes both, the tests tend to encode the model's own assumptions, so they execute every line without ever checking the failure paths, edge inputs, and state combinations that break in production. This episode explains why high coverage on AI-written code is now a weaker signal than it used to be, and what builders should measure in its place. Produced by VoxCrea.AI This episode is part of an ongoing series on governing AI-assisted coding using Claude Code. 👉 Each episode has a companion article — breaking down the key ideas in a clearer, more structured way. If you want to go deeper (and actually apply this), read today’s article here: 𝐂𝐥𝐚𝐮𝐝𝐞 𝐂𝐨𝐝𝐞 𝐂𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬 At aijoe.ai, we build AI-powered systems like the ones discussed in this series. If you’re ready to turn an idea into a working application, we’d be glad to help.

    • Transcript
  • Tuesday · 10 min

    Why Passing Tests Don't Mean Your Code Actually Works

    Builders increasingly treat a green test suite as proof that AI-generated code is correct. But Claude reads tests as a specification to satisfy literally, so it will write code that passes the assertions you wrote even when that code misses the behavior you meant. This episode looks at why the test suite turns into the real spec once AI is writing the code, and why weak tests now quietly approve wrong code where they used to just leave gaps in coverage. Produced by VoxCrea.AI This episode is part of an ongoing series on governing AI-assisted coding using Claude Code. 👉 Each episode has a companion article — breaking down the key ideas in a clearer, more structured way. If you want to go deeper (and actually apply this), read today’s article here: 𝐂𝐥𝐚𝐮𝐝𝐞 𝐂𝐨𝐝𝐞 𝐂𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬 At aijoe.ai, we build AI-powered systems like the ones discussed in this series. If you’re ready to turn an idea into a working application, we’d be glad to help.

    • Transcript
  • Monday · 8 min

    Why Does AI-Generated Code Get Abandoned?

    Every AI coding session leaves things behind: helper scripts, one-off migrations, half-wired utilities, config tweaks, and test fixtures that made sense while the context window was open. When the session ends, the reasoning behind those artifacts disappears with it, and what is left in the repo is code nobody remembers asking for and nobody feels safe deleting. This episode argues that the real cost of AI-assisted development is not bad code, it is orphaned code, and that builders need a deliberate practice for recording intent and closing out sessions before the context evaporates. Produced by VoxCrea.AI This episode is part of an ongoing series on governing AI-assisted coding using Claude Code. 👉 Each episode has a companion article — breaking down the key ideas in a clearer, more structured way. If you want to go deeper (and actually apply this), read today’s article here: 𝐂𝐥𝐚𝐮𝐝𝐞 𝐂𝐨𝐝𝐞 𝐂𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬 At aijoe.ai, we build AI-powered systems like the ones discussed in this series. If you’re ready to turn an idea into a working application, we’d be glad to help.

    • Transcript
  • Sunday · 10 min

    How Does AI Code Hide Requirements in Logic You Can't Change?

    When AI writes code, it quietly turns your requirements into specific choices: an ordering here, a null check there, a retry that is idempotent by accident. Those choices form an implicit contract that nobody wrote down. Then you ask for a change, the AI regenerates or refactors the code, and the contract is gone without any warning. The code still compiles, the tests you have still pass, and the behavior nobody stated explicitly is lost. This episode explains why that happens and how builders can make the contract explicit before the next change request erases it. Produced by VoxCrea.AI This episode is part of an ongoing series on governing AI-assisted coding using Claude Code. 👉 Each episode has a companion article — breaking down the key ideas in a clearer, more structured way. If you want to go deeper (and actually apply this), read today’s article here: 𝐂𝐥𝐚𝐮𝐝𝐞 𝐂𝐨𝐝𝐞 𝐂𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬 At aijoe.ai, we build AI-powered systems like the ones discussed in this series. If you’re ready to turn an idea into a working application, we’d be glad to help.

    • Transcript
  • Saturday · 10 min

    Why Does AI Stop Reading Your Code Requirements Halfway Through?

    Builders hand AI a detailed spec and get back code that matches the first half closely, then drifts into plausible behavior nobody asked for. The cause is not carelessness. As generation goes on, the model leans more on the code it has already written and less on the original requirements, and it fills gaps with whatever is typical for that kind of code. This episode explains where the divergence starts, why it is hard to see in review, and how to structure specs and checkpoints so the requirements keep governing the code all the way to the end. Produced by VoxCrea.AI This episode is part of an ongoing series on governing AI-assisted coding using Claude Code. 👉 Each episode has a companion article — breaking down the key ideas in a clearer, more structured way. If you want to go deeper (and actually apply this), read today’s article here: 𝐂𝐥𝐚𝐮𝐝𝐞 𝐂𝐨𝐝𝐞 𝐂𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬 At aijoe.ai, we build AI-powered systems like the ones discussed in this series. If you’re ready to turn an idea into a working application, we’d be glad to help.

    • Transcript
  • Friday · 8 min

    Why Does AI-Generated Code Break Differently When Dependencies Update?

    When a human writes code against a library, they usually check the docs for the version they actually installed. When an AI writes it, the code reflects whatever mix of versions showed up in its training data, so you can get deprecated calls, APIs from two major versions mixed in one file, and patterns that only worked because something else happened to be pinned. The code runs today, and then it fails on the next dependency update in ways that are hard to trace, because nobody ever chose a version on purpose. This episode explains why AI-generated code carries a hidden version debt and what builders need to do about it before their next npm update or pip install upgrade. Produced by VoxCrea.AI This episode is part of an ongoing series on governing AI-assisted coding using Claude Code. 👉 Each episode has a companion article — breaking down the key ideas in a clearer, more structured way. If you want to go deeper (and actually apply this), read today’s article here: 𝐂𝐥𝐚𝐮𝐝𝐞 𝐂𝐨𝐝𝐞 𝐂𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬 At aijoe.ai, we build AI-powered systems like the ones discussed in this series. If you’re ready to turn an idea into a working application, we’d be glad to help.

    • Transcript
  • October 1 · 8 min

    Why Does AI Code Invert Control Flow Instead of Dependencies?

    Ask an AI assistant to make code decoupled or testable and it reliably produces callbacks, event emitters, hooks, and handler registries. Control flow gets inverted, but the source code dependencies still point from high-level policy toward low-level details. The result looks loosely coupled but stays rigid, and builders reviewing AI output in volume are shipping this pattern without noticing, because the code passes every surface check for good design. Produced by VoxCrea.AI This episode is part of an ongoing series on governing AI-assisted coding using Claude Code. 👉 Each episode has a companion article — breaking down the key ideas in a clearer, more structured way. If you want to go deeper (and actually apply this), read today’s article here: 𝐂𝐥𝐚𝐮𝐝𝐞 𝐂𝐨𝐝𝐞 𝐂𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬 At aijoe.ai, we build AI-powered systems like the ones discussed in this series. If you’re ready to turn an idea into a working application, we’d be glad to help.

    • Transcript
  • September 30 · 8 min

    Why Does AI Code Keep Rediscovering Expensive Computations?

    An AI assistant asked to refactor a module treats the code as text to restructure, not as a system with a cost profile. Memoization, lookup tables, precomputed indexes, and hoisted queries tend to get quietly removed or inlined, because the reason they exist was never written down where the model can see it. This episode argues that caching is architectural knowledge rather than implementation detail, and that builders who let refactors run unchecked are paying the same expensive computation over and over without noticing until the bill or the latency spike shows up. Produced by VoxCrea.AI This episode is part of an ongoing series on governing AI-assisted coding using Claude Code. 👉 Each episode has a companion article — breaking down the key ideas in a clearer, more structured way. If you want to go deeper (and actually apply this), read today’s article here: 𝐂𝐥𝐚𝐮𝐝𝐞 𝐂𝐨𝐝𝐞 𝐂𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬 At aijoe.ai, we build AI-powered systems like the ones discussed in this series. If you’re ready to turn an idea into a working application, we’d be glad to help.

    • Transcript
  • September 29 · 8 min

    Why Does AI Code Hide Requirements in Implementation Details?

    Every time AI generates code from a loose prompt, it makes dozens of quiet decisions to fill the gaps: a timeout of 30 seconds, a retry count of three, a timezone of UTC, a sort order, a default currency. After the first deploy, those guesses start acting like requirements, but nobody chose them, nobody wrote them down, and the only place they exist is in the implementation. This episode argues that the real cost of AI-generated code is not bugs but unrecorded decisions, and that builders need a way to dig those assumptions up before they harden into behavior that users and other systems depend on. Produced by VoxCrea.AI This episode is part of an ongoing series on governing AI-assisted coding using Claude Code. 👉 Each episode has a companion article — breaking down the key ideas in a clearer, more structured way. If you want to go deeper (and actually apply this), read today’s article here: 𝐂𝐥𝐚𝐮𝐝𝐞 𝐂𝐨𝐝𝐞 𝐂𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬 At aijoe.ai, we build AI-powered systems like the ones discussed in this series. If you’re ready to turn an idea into a working application, we’d be glad to help.

    • Transcript
  • September 28 · 9 min

    Why Does AI Code Performance Look Good Until Network Calls?

    AI-generated code tends to perform well on a developer laptop, where every call hits a local database, a mocked API, or an in-memory fixture and costs close to nothing. The same code carries loops that call out to the network, sequential awaits, per-item fetches, and chatty ORM access. Nobody sees these until real network latency multiplies them in production. This episode covers why AI assistants keep producing these latency patterns, why the usual tests and code reviews miss them, and how builders can make the cost of a network call visible before it ships. Produced by VoxCrea.AI This episode is part of an ongoing series on governing AI-assisted coding using Claude Code. 👉 Each episode has a companion article — breaking down the key ideas in a clearer, more structured way. If you want to go deeper (and actually apply this), read today’s article here: 𝐂𝐥𝐚𝐮𝐝𝐞 𝐂𝐨𝐝𝐞 𝐂𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬 At aijoe.ai, we build AI-powered systems like the ones discussed in this series. If you’re ready to turn an idea into a working application, we’d be glad to help.

    • Transcript
  • September 27 · 7 min

    Why Does AI Code Take the Path of Least Resistance?

    AI coding tools put new code wherever it is easiest to reach. They import whatever is already in scope, add a parameter to a function that already exists, and read shared state directly because it is right there. Each change works and passes review, but over dozens of sessions the codebase ends up held together by convenient links nobody chose. This episode explains why the AI's local optimization creates tight coupling, and why builders have to make boundaries explicit and enforceable instead of hoping the model will respect them. Produced by VoxCrea.AI This episode is part of an ongoing series on governing AI-assisted coding using Claude Code. 👉 Each episode has a companion article — breaking down the key ideas in a clearer, more structured way. If you want to go deeper (and actually apply this), read today’s article here: 𝐂𝐥𝐚𝐮𝐝𝐞 𝐂𝐨𝐝𝐞 𝐂𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬 At aijoe.ai, we build AI-powered systems like the ones discussed in this series. If you’re ready to turn an idea into a working application, we’d be glad to help.

    • Transcript
  • September 26 · 10 min

    How to Build Multi-Agent Systems That Remember Your Work with Claude

    Builders who string multiple Claude Code agents together usually hit the same wall. Each agent is capable, but the system as a whole forgets decisions, repeats mistakes, and drifts from the architecture between sessions. This episode argues that the model does not remember anything on its own. Memory in a multi-agent system comes from files, state, and handoff contracts, and the builder has to design all three on purpose. Produced by VoxCrea.AI This episode is part of an ongoing series on governing AI-assisted coding using Claude Code. 👉 Each episode has a companion article — breaking down the key ideas in a clearer, more structured way. If you want to go deeper (and actually apply this), read today’s article here: 𝐂𝐥𝐚𝐮𝐝𝐞 𝐂𝐨𝐝𝐞 𝐂𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬 At aijoe.ai, we build AI-powered systems like the ones discussed in this series. If you’re ready to turn an idea into a working application, we’d be glad to help.

    • Transcript
  • September 25 · 9 min

    Why Do AI Systems Assume Graceful Degradation Instead of Cascading Failures?

    AI-generated code handles failure as if it were a clean switch: the call either works or it throws, and a try/except with a fallback takes care of the rest. Real production failures are partial and slow. A timeout arrives after the write has already committed, or a retry fires a second webhook, or a half-refreshed token leaves the system in a state nobody designed for. Builders now ship AI-written error handling at scale, and that code looks defensive while it hides cascading failure modes. This episode explains why that happens and what the builder has to own. Produced by VoxCrea.AI This episode is part of an ongoing series on governing AI-assisted coding using Claude Code. 👉 Each episode has a companion article — breaking down the key ideas in a clearer, more structured way. If you want to go deeper (and actually apply this), read today’s article here: 𝐂𝐥𝐚𝐮𝐝𝐞 𝐂𝐨𝐝𝐞 𝐂𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬 At aijoe.ai, we build AI-powered systems like the ones discussed in this series. If you’re ready to turn an idea into a working application, we’d be glad to help.

    • Transcript
  • September 24 · 7 min

    Why Does AI-Generated Code Fail in Production? Error Handling Explained

    AI-generated code almost always ships with error handling that looks responsible: try/except blocks, logged messages, graceful fallbacks, retry loops. But much of it is theater. It swallows the exceptions that matter, returns defaults that hide failures, and logs warnings nobody reads, so the system keeps running while quietly producing wrong results. This episode explains why AI writes error handling that satisfies a code reviewer instead of an operator, and how builders can decide on failure behavior at the architecture level before the model decides it for them. Produced by VoxCrea.AI This episode is part of an ongoing series on governing AI-assisted coding using Claude Code. 👉 Each episode has a companion article — breaking down the key ideas in a clearer, more structured way. If you want to go deeper (and actually apply this), read today’s article here: 𝐂𝐥𝐚𝐮𝐝𝐞 𝐂𝐨𝐝𝐞 𝐂𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬 At aijoe.ai, we build AI-powered systems like the ones discussed in this series. If you’re ready to turn an idea into a working application, we’d be glad to help.

    • Transcript
  • September 23 · 9 min

    Why Do AI Code Timeouts Fail When Everything Goes Wrong?

    Ask an AI to write a function that calls an external service and you get clean, readable code that works perfectly when the service answers in 200 milliseconds. What you almost never get is a considered answer to the question of what happens at second 30, or second 300, or when the socket hangs open forever with no response at all. This episode examines why AI-generated code defaults to the happy path on timing, why the timeout value it picks is essentially a lottery ticket, and why the builder still owns every decision about what the system does while it waits. Produced by VoxCrea.AI This episode is part of an ongoing series on governing AI-assisted coding using Claude Code. 👉 Each episode has a companion article — breaking down the key ideas in a clearer, more structured way. If you want to go deeper (and actually apply this), read today’s article here: 𝐂𝐥𝐚𝐮𝐝𝐞 𝐂𝐨𝐝𝐞 𝐂𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬 At aijoe.ai, we build AI-powered systems like the ones discussed in this series. If you’re ready to turn an idea into a working application, we’d be glad to help.

    • Transcript
  • September 22 · 7 min

    Why Do AI Code Event Handlers Trap State More Than Synchronous Code?

    AI coding assistants love reaching for callbacks and event handlers because they look clean in isolation, but they quietly bury state in closures that become nearly impossible to trace once a system grows. This episode digs into why generated async code so often works in the demo and breaks in production, and what builders need to check before they trust it. Produced by VoxCrea.AI This episode is part of an ongoing series on governing AI-assisted coding using Claude Code. 👉 Each episode has a companion article — breaking down the key ideas in a clearer, more structured way. If you want to go deeper (and actually apply this), read today’s article here: 𝐂𝐥𝐚𝐮𝐝𝐞 𝐂𝐨𝐝𝐞 𝐂𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬 At aijoe.ai, we build AI-powered systems like the ones discussed in this series. If you’re ready to turn an idea into a working application, we’d be glad to help.

    • Transcript
  • September 21 · 8 min

    Why Does AI Code Silently Assume Hidden Preconditions?

    AI-generated code often works perfectly in the conversation where it was written, then breaks the moment it's called from somewhere else. The reason is that the model quietly baked in assumptions, an ID is always present, a list is never empty, a function is only ever called after another one, that were true in the context window but were never written down as a real check. This episode names that failure mode and gives builders a way to hunt for it before it ships. Produced by VoxCrea.AI This episode is part of an ongoing series on governing AI-assisted coding using Claude Code. 👉 Each episode has a companion article — breaking down the key ideas in a clearer, more structured way. If you want to go deeper (and actually apply this), read today’s article here: 𝐂𝐥𝐚𝐮𝐝𝐞 𝐂𝐨𝐝𝐞 𝐂𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬 At aijoe.ai, we build AI-powered systems like the ones discussed in this series. If you’re ready to turn an idea into a working application, we’d be glad to help.

    • Transcript
  • September 20 · 9 min

    Why Do AI Code Variable Names Fail in Real Projects?

    AI generated code reads clean in isolation, with variable and function names that look professional and self-documenting. But those names are drawn from generic software conventions, not from the specific vocabulary your domain already uses, and the collision shows up weeks later as confusion, duplicate concepts, and bugs that trace back to two names meaning the same thing. This episode unpacks why naming is a domain modeling problem that AI cannot solve on its own, and why builders who skip this step pay for it later in ways that are hard to trace back to the original cause. Produced by VoxCrea.AI This episode is part of an ongoing series on governing AI-assisted coding using Claude Code. 👉 Each episode has a companion article — breaking down the key ideas in a clearer, more structured way. If you want to go deeper (and actually apply this), read today’s article here: 𝐂𝐥𝐚𝐮𝐝𝐞 𝐂𝐨𝐝𝐞 𝐂𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬 At aijoe.ai, we build AI-powered systems like the ones discussed in this series. If you’re ready to turn an idea into a working application, we’d be glad to help.

    • Transcript
  • September 19 · 7 min

    Why Does AI Code Confidence Increase When Your Risk Should Too?

    AI coding tools sound more confident on the exact kinds of tasks where builders should be most careful, like auth, payments, and data migrations, and less confident hedging on trivial boilerplate where it barely matters. This episode names that inverted pattern and gives builders a way to recalibrate their own trust instead of borrowing the model's tone as a signal of correctness. Produced by VoxCrea.AI This episode is part of an ongoing series on governing AI-assisted coding using Claude Code. 👉 Each episode has a companion article — breaking down the key ideas in a clearer, more structured way. If you want to go deeper (and actually apply this), read today’s article here: 𝐂𝐥𝐚𝐮𝐝𝐞 𝐂𝐨𝐝𝐞 𝐂𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬 At aijoe.ai, we build AI-powered systems like the ones discussed in this series. If you’re ready to turn an idea into a working application, we’d be glad to help.

    • Transcript
  • September 18 · 6 min

    Why Does Your AI Code Deadlock Under Concurrency?

    AI-generated code routinely passes every test a builder throws at it, then locks up the moment two requests hit the same resource in production. This episode digs into why concurrency is the blind spot models systematically miss, and what that means for anyone shipping AI-written backend code without thinking hard about contention. Produced by VoxCrea.AI This episode is part of an ongoing series on governing AI-assisted coding using Claude Code. 👉 Each episode has a companion article — breaking down the key ideas in a clearer, more structured way. If you want to go deeper (and actually apply this), read today’s article here: 𝐂𝐥𝐚𝐮𝐝𝐞 𝐂𝐨𝐝𝐞 𝐂𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬 At aijoe.ai, we build AI-powered systems like the ones discussed in this series. If you’re ready to turn an idea into a working application, we’d be glad to help.

    • Transcript
Showing 1–20 of 78 episodes