When you work remotely or on complex architectures, the local environment becomes the anchor. I start with a make dev script that boots APIs, databases, and stubbed services.
Local-first pillars
- Containers or devcontainers to guarantee the same config on every machine.
npm run start:mockscripts that swap slow integrations for mocks while honoring contracts.- Local end-to-end tests (Playwright, Cypress) tied to the same mocks so QA begins before pushing.
Then I rehearse the deployment flow: npm run build, docker build, automated tests, and staging deploy. Documenting each step during that ride makes the process reproducible for the rest of the team.