Isaac Hess
Back to Isaac Hess

Client handoff

How to hand a build over so the client can operate, pay for and re-key the system without you.

Goal: the client can operate, pay for, and re-key the system without you.

Account ownership — decide before creating anything

The client creates and owns every provider account from the start. You get invited as a collaborator. Transferring accounts later ranges from tedious to impossible — Stripe in particular is tied to a legal entity and cannot simply be handed over — and an account in your name means their business depends on your login and their bills arrive on your card.

If you must move fast and create accounts yourself, say so explicitly up front and schedule the transfer as real scoped work, not a footnote.

Pre-handoff checklist

Access

  • Client is owner on every provider; you are a collaborator, removable
  • Billing is on the client's payment method everywhere
  • Domain registrar and DNS in the client's account
  • Repo transferred or client added as admin

Configuration

  • Every key present in Preview and Production, not just Production
  • Setup dashboard green across every service
  • Email sending domain verified, sending from a subdomain
  • A2P registration approved and in the client's name
  • Payments in live mode, verified with one real transaction
  • Cron routes protected by a secret

Verification — prove it, don't assert it. For each service, run the live probe and hand over the result: a real charge, a delivered email, a delivered SMS, a rendered map, an error captured in the dashboard.

Documentation

  • Runbook for rotating any key
  • The env inventory: every var, which service, what breaks without it
  • Cost sheet: fixed monthly floor, variable rates, one-time fees
  • What is deliberately empty and why — otherwise someone "fixes" it and breaks a working system

The setup dashboard

Generate it from the actual env inventory rather than writing it by hand, so it cannot drift. One row per service: connected or not, which vars it needs, where to get the key, monthly cost, and what breaks if it is missing.

This doubles as a sales asset. It makes the work legible to someone who does not know what a service role key is, and it is the clearest possible answer to "what am I actually paying for."

After handoff

Agree explicitly what you are still on the hook for. "I'll be around if anything breaks" is not a support agreement, and open-ended availability is the most common way a fixed-price build turns into unpaid work.