Blog
Writing on engineering practice, tooling, and the technologies we build with.
Aug 6, 2026
Who owns which field: the store, the ERP, or the PIM
Stock is the easy field. Price, attributes, media, alt text, per-locale copy and URL keys are the ones two systems both write, and the ownership rule is limited by what your platform can express.
Aug 4, 2026
Choosing hosting for Magento 2
Adobe's cloud, managed Magento specialists, and your own AWS or Hetzner: who runs which layer, who keeps up with the platform's requirements, what the SLAs say, and what is published about pricing, checked against the vendors' own pages.
Aug 2, 2026
Choosing a payment gateway for Magento 2
A decision framework for payment gateways on Magento 2, Adobe Commerce and Mage-OS: module maintenance, upgrade behavior, Hyvä and headless support, and the local payment methods that decide the shortlist in each market.
Jul 31, 2026
Your store has been in scope of the Accessibility Act since June 2025
The European Accessibility Act covers e-commerce services sold to consumers. The microenterprise exemption is narrower than it looks, the 2030 date is not an extension, and the payment step is named explicitly.
Jul 18, 2026
How Magento security patches arrive now, and what skipping one costs
Adobe ships one full Magento release a year, and the most urgent security fixes now arrive as standalone files outside Composer. The current patch channels and support dates, and what the SessionReaper timeline says a delayed patch costs.
Jul 13, 2026
On August 26, Shopify stops running your additional scripts
Non-Plus stores lose the additional scripts box on the Thank you and Order status pages. What stops firing, what replaces it, and how to migrate without silently losing conversion tracking.
Jul 13, 2026
Only two payment processors on Shopify can charge in the customer's currency
Showing a price in euros and charging euros are two different Shopify features, and both belong to your payment processor. What breaks when the processor changes, and the four ways out.
Jul 8, 2026
The online store without a CTO: seven decisions that go wrong
Vendor choice, hiring, hosting, ownership: the technical decisions that quietly go wrong when nobody senior owns them, and what a CTO would ask instead.
Jul 1, 2026
WooCommerce to Shopify: what survives the move
What migrates cleanly, what needs rebuilding, and what is silently lost: a field checklist for leaving WooCommerce without losing your rankings.
Jun 24, 2026
Replatform or fix? How to tell
A migration is a year of work that is often sold as a quick fix. How to tell whether the platform is the problem or the implementation is.
Jun 17, 2026
Webhooks retry. Your integration should assume it.
Payment and platform webhooks are delivered at least once within the retry window, not exactly once. What double delivery breaks, and how idempotent handlers absorb it.
Jun 11, 2026
Why your ERP and your online store disagree about stock
The synchronization failure every store eventually encounters: two systems that both believe they own the stock number, and the patterns that resolve it.
Jun 4, 2026
Why your checkout collapses at 10% server load
Servers idle, checkout down. Lock contention, cache stampedes, and synchronous payment calls: the failure modes autoscaling does not address.
May 28, 2026
Magento Open Source vs. Mage-OS vs. Adobe Commerce
Three live branches of one platform: where they came from, what each buys you, and how to choose without tying the store to someone else's roadmap.
May 21, 2026
Hyvä vs. Luma, measured
What actually makes Luma slow, what Hyvä changes, and how to measure the difference on your own catalog instead of relying on vendor claims.