Field notes

Practical writing on maintainability, types, architecture, and the point where AI-assisted apps need stronger engineering foundations.

Linting Is Not Pedantry When an AI Is Writing Your Code

Why formatting, import rules, naming conventions, and static checks become practical safety systems in AI-heavy workflows.

Read article

Your App Needs a Constitution: Constraints for AI Coding Agents

A practical way to turn architectural decisions, naming conventions, data rules, and forbidden patterns into durable project constraints.

Read article

Why Your AI Keeps Reintroducing the Same Bugs

Recurring bugs are usually signs that the codebase needs executable memory, not longer prompts.

Read article

CI/CD Is the Adult Supervision Your Vibe-Coded App Needs

How automated delivery checks turn AI coding from a risky interactive loop into a controlled path to production.

Read article

The Difference Between a Demo and a Durable Product

Why impressive AI-generated demos still need hardening before they can survive users, edge cases, deployment, and change.

Read article

Stop Asking the Agent to Refactor Everything at Once

Large AI-driven refactors usually fail because the context is too broad, the dependencies are hidden, and success is underspecified.

Read article

Why Large Vibe-Coded Apps Become Incoherent

Why AI-built apps lose architectural shape as they grow, and how to give agents a map they can follow.

Read article

From Prompting to Engineering: The Maturity Curve of AI-Built Apps

A practical maturity model for moving AI-built apps from fast prompting to guarded repos, production ownership, and learning systems.

Read article

How to Know when your Vibe-Coded App has Outgrown the Vibe

A practical scorecard for the moment when an AI-built prototype needs product maturity, delivery discipline, and a rewrite-versus-remediate plan.

Read article

Types Are Memory for Your Codebase

How TypeScript, schemas, and explicit interfaces act as durable context for both humans and agents.

Read article

FreeSee a sample of the consultation — read from your GitHub repo.

Get your free sample