Build local before the cloud
There is a strong pull toward wiring up cloud infrastructure on day one, because that is what real software looks like. It is a trap. Cloud complexity early buys you nothing but a slower loop and a wider surface for things to break, while you are still figuring out whether the app should exist.
Build and test the whole thing locally first. A local environment can be made to behave almost exactly like production, close enough that what works on your machine will work when you deploy it. You get a fast feedback loop, no network in the way, no cloud bills, and no infrastructure to debug on top of your actual app. You are isolating the variable that matters, which is whether the product works.
This pays off twice with AI in the loop. A local environment is a contained sandbox, so when an agent does something unexpected, the blast radius is your own machine, not a live database with real customer rows in it. Given that AI agents can be steered by malicious input into actions you never intended, keeping the early, messy, experimental phase off production is plain good hygiene, not caution for its own sake.
The cloud is not the enemy, it is just the wrong first step. Once the app does what it should locally, you take the same setup and deploy it, and the move is straightforward precisely because you kept the local environment production-like the whole way. You add cloud complexity when you need it, on your terms, not as a tax you pay before you have built anything.
The discipline here is the same one running through the whole playbook: keep the number of things that can break as small as possible while you are still proving the idea. Local first is how you do that for infrastructure.