Production Hardening

The app stays reliable in the wild: crashes are visible, secrets stay put, and offline is a mode, not a failure.

Clay illustration of production hardening
Production Hardening featured graphic

How it works

A left-to-right map of the work. Ports stay on fixed sides so the edges do not cross more than they have to. Pan or pinch if you want a closer look.

The usual problem

  • Tokens sit in plain storage because “it worked in staging”.
  • A flaky network looks like a product bug.
  • Field work continues when the radio drops, but the app does not.

How I approach it

  • Crash reporting and product analytics are on before the first store build.
  • Tokens never sit in plain storage.
  • Networking is resilient, and offline-first sync is designed, not patched.
  • Background and lifecycle work is part of the architecture.

Process

  1. 01

    Observe

    Crash reporting and analytics from the first production build.

  2. 02

    Lock down

    Secure token storage and a network layer that retries with intent.

  3. 03

    Survive offline

    Sync and background work for the journeys that cannot wait for signal.

  4. 04

    Handover

    What is stored where, and how the app degrades when the network dies.

Stack and tools

Crash reportingSecure storageResilient networkingOffline-first syncFirebase AnalyticsPostHog

Proof from real work

What you get

  • Crash and analytics wiring
  • Secure storage for tokens
  • A network and offline strategy the next engineer can follow

How risk stays down

  • The app degrades gracefully offline.
  • Secrets never sit in plain storage.

Questions agencies ask