Production-only bugs are usually caused by differences in data, configuration, or scale rather than the code itself. Begin by reproducing the conditions as closely as possible: match the environment variables, database size, and traffic patterns using a staging copy of production data. Add structured logging with request IDs so you can trace a single failing request through every service.
Check the obvious mismatches first — time zones, locale, third-party API keys, and feature flags that may be enabled only in production. Look for race conditions and caching issues, which rarely surface on a quiet dev machine. Error monitoring tools like Sentry give you stack traces tied to real user sessions, which narrows the search dramatically. Once you have a hypothesis, reproduce it with a load test or a synthetic request. Fix, add a regression test, and deploy behind a canary so you catch a recurrence early.