Tahir Haneef

How I work

Every system I build for a client runs the same way the ones I run for myself do. The rules came from things that broke.

The gates

  1. Nothing publishes without a human gate where it matters. A video goes to a channel only after it is confirmed public. A post goes to a group only after the page it links to is live. The gate checks the live state, not the log.
  2. Every provider has a cost cap. Per task, per day. A pass that quietly reruns itself gets caught by the cap before the invoice. I have traced a month’s burn to a single automated fix loop and killed it the same day.
  3. Multi-model with a vote, free tier first. Two or three models draft, one scores, the cheapest capable model wins by default. Expensive models are called only when the scorer asks.
  4. An editor reads it. I edited a business desk. Every AI pipeline I run has an editorial QA pass: facts, sourcing, legal exposure, and whether Google would call it thin. Volume without that is how sites get penalised. Mine was.
  5. Kill switches and dry runs by default. Every pipeline has a switch file and a dry-run mode. Live is opt-in.
  6. Silent failures are the enemy. Scheduled tasks lie. A batch file that swallows an exit code can show green for weeks while nothing ships. I log outcomes, not launches, and check them weekly.
  7. Reconcile, then report. Numbers in a client report are checked against the source system, not the pipeline’s own log.
  8. Write down what broke. Every incident gets a dated note with the fix and the rule that came out of it. The rules above are that list.

Engagement shape