Ibrahim Hajjaj

Ibrahim Hajjaj

Senior full-stack engineer

About

Full-stack engineer building for the web since 2016. I build tools I needed myself: a backup benchmark that publishes the runs it threw away, a search-and-replace that survives serialized data, a self-hosted support agent that cites its sources.

Badges

Tastemaker
Tastemaker
Veteran
Veteran
Gone streaking
Gone streaking

Maker History

  • Backup Arena
    Backup ArenaThe LMArena of WordPress backups
    Sep 2026
  • wa-agent
    wa-agentBuild autonomous AI agents for WhatsApp in minutes
    Mar 2026
  • 🎉
    Joined Product HuntMay 15th, 2020

Forums

•

21d ago

If you benchmark your own product against competitors, what would make you believe it?

I built a benchmark that runs nine WordPress backup plugins head to head on identical sites. One of the nine is mine, and it currently sits second. That is an obviously compromised position, so I have spent more time on what makes a vendor-run benchmark believable than on the measuring.

Three things I landed on, and I am not sure any of them are enough.

Publish the runs you threw away. 581 completed runs, 180 scored, 401 excluded, and every excluded one is browsable with its reason attached. Most are boring reruns rather than embarrassing failures, and saying so is part of the point: 360 superseded, 41 excluded for cause. The honest number includes the boring ones.

Say when a lead is not a lead. Mine sits five points above third place with plus or minus 113 error bars. That is a tie, and the page says tie rather than letting me quote the higher number.

Which WordPress site profile would you actually want benchmarked?

I run a benchmark that puts WordPress backup plugins head to head on identical sites, and I am about to add more site profiles.

Right now there are eight, from a starter blog up to a WooCommerce store with a large product catalogue. They are fixed snapshots, so every plugin gets byte-identical input.

Psst - A shared shopping list that remembers what things cost

Psst is a shared shopping list. The useful part is that it remembers what you paid. Photograph a receipt and the lines come back structured, each one showing a crop of the row it came from and what that item cost last time, and where. Most of the work went into not saying so when it isn't sure. Two prices in different units are never compared, and comparison is on unit price, not the line total: buying 2kg instead of 1kg is not a price rise. iOS and Android.
View more