Free · 25 checks · 5 minutes

Is your app ready for its worst day?

The checklist I run on every production setup, for my own apps and for clients. Tick what is true today and see your score, what you would lose if the server died right now, and how long the gaps would take to fix.

01Server security

0/5

02Deploys

0/5

03Database and backups

0/5

04Monitoring

0/5

05Cost and ownership

0/5
The playbook

The checklist tells you what. The playbook is how I fix it.

The scripts, configs and runbooks my own apps run on, adapted to your stack. It comes with the audit and with every setup. It is not sold on its own.

  1. 01 Server hardening script
  2. 02 Docker Compose and Caddy deploy template
  3. 03 Deploy and rollback scripts
  4. 04 Backup config for Postgres, MySQL and MongoDB
  5. 05 Restore drill, step by step
  6. 06 Alert rules: uptime, disk, memory, backups
  7. 07 Incident runbook template
  8. 08 Migration cutover checklist
check-backups.sh
# Alert if the newest backup is older than it should be.
MAX_AGE_HOURS=26
latest=$(list_backups | sort | tail -n 1)
age=$(( ($(date +%s) - $(backup_time "$latest")) / 3600 ))
Included with the $400 audit and every setup
Unlock it with an audit
Fair question

Why not hand this list to an AI and do it yourself?

You can, and if you have the time, you should. Most of the how is on this blog for free. Teams hire me for the parts a list cannot do.

Someone has to own it

AI can write the backup config. It will not be on the hook when the restore fails.

The order matters more than the list

Twenty gaps is not twenty tasks. I tell you which four matter for your app, and skip the rest.

It gets tested on your real data

Every setup ends with a real restore of your database, done with you, before I hand over.

Rather not spend the next few weekends on this?

I set it all up for you, test a restore with you, and hand it over with a runbook. Fixed price, from $2,500.

See how it works