8 Wed Jul 2026
Tips for Building Better Applications with Coding Agents
A running list of practices that made coding agents genuinely more reliable for me, shifting the workflow from generate-and-hope to ship-and-verify. Covers proving the work, isolating sessions, wiring in production signals, and automating setup.
A running list of practices that have made coding agents genuinely more reliable for me. Together they shift the workflow from "generate and hope" to "ship and verify."
Make the agent prove its work
- Have it drive the browser. Ask the agent to actually run browser tests against its changes instead of assuming the UI works. Rendering the result catches the whole class of bugs that unit tests quietly miss.
- Test-driven development, where reasonable. Ask for tests first (unit, integration, e2e, and component) so behavior is pinned down before the implementation. You don't need it everywhere, but on anything with real logic it pays for itself.
- Test real flows in staging. Stand up a staging environment and have the agent exercise the genuinely stateful, side-effecting paths end to end: billing, feature provisioning, account deletion, user invites. These are exactly the flows that "looks fine locally" hides. Get it as close to a real environment as possible.
- Not just fix, prevent. When the agent hits a bug, don't stop at the fix. Ask it to recommend or implement the prevention too (a test, a type, validation, a lint rule) so the whole class of bug can't come back.
Run sessions in isolation
- Set up git worktrees. Multiple sessions stepping on each other is a real problem: one session can break the dev command and block another from doing a browser or server check, and parallel browser tests collide. Configure the project so each worktree gets a fresh, isolated environment (separate ports, throwaway DBs) for temporary tests.
- Spin up cloud environments. Being able to launch a full environment on demand lets you build and test new features on the go, and gives the agent somewhere real to run.
Wire in production signals
- Connect MCP tools. Give the agent read access to the systems that actually tell you what's wrong: CI/CD (so it can see deployment failures), Sentry (runtime errors), PageSpeed (performance). Diagnosing from real signal beats guessing.
Automate the start of every session
- Use session-start hooks. Have a SessionStart hook do the setup you'd otherwise repeat by hand: fetch the current TODO list, load context, run a setup script, pull the latest, report what's currently in git.
- Keep a TODO the agent maintains. Ask the agent to park ideas and deferred fixes in a TODO file as it works, then have the startup hook re-load it every session so nothing gets lost between runs.
Tools that come in handy
- maildev, an SMTP catcher with an API, set up locally or in your environments so the agent can verify email flows programmatically (signup confirmation, invites, password resets) instead of you eyeballing an inbox.
- Claude artifacts, for quick throwaway UIs, prototypes, and visualizations you don't want to wire into the app.

Written by
Dubem Izuorah
Design Engineer
With over 10 years of experience in design and software engineering, I build tools for startups across various industries, with a special focus on marketing tools that support businesses around the world. Lately I'm focused on the Human ↔ AI work loop, helping people collaborate with AI to do great work.