Projects
Things I have built, written up and left running in production.
Client platforms are my employer’s work, not mine to display, so there is no logo wall here. What follows is the work I can show: projects I have written up, the repositories behind them and the packages anyone can install.
Projects
Repositories
GitHub →
Laravel Validation Rules
An organisation of single-purpose Laravel validation rules, 3,881,010 downloads between them.
Sunrise Predictor
Ten-day sunrise and cloud inversion forecasts for UK hills, as a static site.
heimdall
Read-only diagnostic checks for Magento 2, over a CLI, a local web UI and JSON.
m2-integrity-db
The SHA-256 of every file every magento/* package version actually shipped.
skrub
A Composer plugin that strips junk out of vendor and gives the disk space back.
Packages
Packagist →
ssx/module-remove-elastic-suite-notification
module-remove-elastic-suite-notification
deployecommerce/module-trojan-order-prevent
A Magento2 extension that prevents billing/shipping addresses being saved via the API with known trojan order strings.
ssx/skrub
Skrub can help to clear some disk space.
ssx/twitter-async
Twitter-async is a high performance wrapper for Twitter's OAuth API which provides parallel/asynchronous calls.
deployecommerce/module-prevent-customer-address-file-upload
A Magento2 extension that prevents file uploads to the /customer/address_file/upload endpoint.
deployecommerce/module-admin-password-restrictions
This extension adds a configuration option to restrict the use of certain length passwords in the Magento 2 backend.
deployecommerce/module-redis-flush
Provides the ability to flush Redis via the Cache Management page and provide statistics of Redis consumption.
ssx/threeohone
A simple Laravel package to deal with handling 301 redirects.
deployecommerce/module-prevent-order-placement
Block Magento 2 order placement when billing or shipping address fields match an admin-configured blocklist. Includes an admin match-count preview and a per-block audit log.
ssx/php-ssh-keypair
Simple wrapper to generate RSA/SSH key-pairs.
ssx/php-serve
A small helper to start and stop the inbuilt PHP server, useful for API testing with PHPUnit.
deployecommerce/module-url-rewrite-import-export
Export and import the url_rewrite table as CSV from the Magento admin.
I’ve published 42 packages on Packagist which have been downloaded 4,184,166 times between them.
Stack
Day job
Adobe CommerceMagento 1 & 2Mage-OSLaravelAlso shipped on
SymfonyShopify APIsNode servicesPHP 4 → 8.5APIs
RESTGraphQLSOAPWebhooksOAuthOAuth 2JWTMessage queuesIntegrated with
ERPWMS & 3PLPIMPaymentsMarketplacesCouriersTax & EPOSClient work
Platform work for retailers sits with Deploy Ecommerce. Happy to talk through the technical detail in a conversation, references included.
Collaboration
Issues and PRs welcome on anything above. Get in touch for reviews or joint work.