What is production?
Production is the live environment: the deployed, publicly reachable version of an app that real users touch. It stands in contrast to development, the private version running on localhost where mistakes are free and nobody is watching.
The word carries weight because consequences change at the boundary. In development a crash is information; in production it's a user staring at a broken page, a payment failing, or private data exposed.
How does production differ from development?
Everything real happens there. Production runs on hosting rather than the builder's machine, uses real data instead of test entries, serves strangers instead of the builder, and spends real money on every API call. Configuration differs too: production has its own environment variables, its own database, and its own keys.
That's why "works on my machine" is a famous last sentence. Missing environment variables, an empty production database, or a service key that was never configured make apps fail in production while running flawlessly in development.
What should happen before an app goes to production?
A short gate protects most vibe-coded projects: authentication on anything private, secrets in environment variables rather than code, spending limits on every paid service, and a pass through the app trying wrong input, not just the happy path. Asking the AI to audit the project for exposed secrets and missing access control is a cheap final check.
After launch, production needs eyes: error logs and usage dashboards catch the problems users won't report. Fixes follow the same discipline, tested in development first, then deployed, since editing a live app directly turns every typo into an outage.






