zeroshot.es
WooCommerce store with the bespoke DNI/NIE verification plugin wired into checkout. Botiga theme, custom SEO and blog.
Visit siteMultiple WooCommerce builds. Theme, SEO, blog & a custom verification plugin.
Two production WooCommerce stores delivered end-to-end — from a blank WordPress install to a tuned, indexed, content-rich shop. One of them ships with a bespoke WordPress plugin that gates restricted products behind DNI/NIE verification, GDPR-safe.
Both sites started from an empty WordPress install. Same end-to-end playbook: provisioning, theme baseline, catalog modelling, checkout tuning, SEO foundation and a content engine. Only one is publicly linked here — the other ships behind a private NDA.
WooCommerce store with the bespoke DNI/NIE verification plugin wired into checkout. Botiga theme, custom SEO and blog.
Visit siteSame end-to-end build for a second local business. Cannot publicly link — same patterns, same stack, different vertical.
Reference on requestBorn inside zeroshot.es, extracted as a reusable WordPress plugin. GPL v2, GDPR-safe, HPOS-ready.
GitHubWhere I spent most of the time wasn't the cart — it was making the store findable, fast and pleasant to read. Custom Botiga theming, a technical SEO pass and a maintained blog stack.
Some products in zeroshot.es can't be sold without verifying the buyer's identity. WooCommerce doesn't ship that — so I built it. A WordPress plugin that injects a required upload field into the checkout (classic and the new Blocks checkout) whenever the cart contains a flagged product.

Orders containing gated products land in On hold automatically. The order page gets a meta box rendering the uploaded document (image inline, PDF as download) with Verify / Reject actions. On verify, the order moves to Processing and the file is wiped from disk — GDPR by default.

The whole point of the plugin is handling ID documents — everything else flows from that. Files never live in a publicly-reachable path, only valid MIME types pass, consent is explicit, and verified docs are erased on the spot.
Files stored under /uploads with a hard .htaccess deny — no direct URL access.
MIME + extension check, 5MB cap, executable types rejected, unique timestamped filenames.
Customer must tick a GDPR clause before the upload field accepts a file. No tick, no submission.
On successful verification the file is physically deleted; only a boolean “verified” flag is kept on the user.
WordPress + WooCommerce as the platform, Botiga as the theme base, custom PHP for the verification layer. No bloated builder, no unnecessary plugins.
These projects forced me to think like a shop owner first — what sells, what ranks, what the buyer trusts — then like an engineer. The plugin proves the second half: when WooCommerce stops short, you build the rest.
zeroshot.es — full WooCommerce build, theme, SEO and DNI gating wired into checkout.
GPL v2 WordPress plugin. Drop in, configure flagged products, done.
Reused across two local-business stores — provisioning to production in weeks, not months.