Portfolio

Things that were broken. Now they're not.

checkout downrestored

Broken WooCommerce checkout

Express Pay buttons missing, a required field silently blocking the flow, and a conflicting payment plugin. Traced the whole chain and restored checkout.

woocommerce · payments · apple/google pay
404 stormresolved

Every image returning 404

A rewrite rule and a host-managed .htaccess module were dropping .webp requests. Patched without breaking the host's automation.

htaccess · rewrites · cdn
compromisedclean

Hacked & injected site

Malicious script loading a payload from an external domain. Full cleanup, hardening, and an honest written report for the client.

security · malware · remediation
slow loadsfast

Core Web Vitals rescue

Misconfigured caching and render-blocking assets tanking scores. Reworked the cache rules and asset loading for a clean pass.

litespeed · wp rocket · cwv
data tanglemigrated

Serialization-safe migration

Thousands of hard-coded URL references across a database. A safe search-and-replace that preserved serialized data intact.

php · mysql · search-replace
filter bugworking

Product filter + cache collision

A product filter and a cache plugin fighting over pagination, causing 404s and layout swaps. Isolated the cache rules to fix both.

woocommerce · caching · filters
vendor swapintegrated

API provider swap

Replaced a third-party API integration with a new vendor — done in an update-safe way so future script updates wouldn't be blocked.

php · rest api · integration
editor brokenfixed

Block editor wouldn't load

A jQuery compatibility issue with the active theme broke the WordPress editor. Diagnosed the conflict and restored editing.

wordpress · jquery · theme
split dnsrouted

Split DNS & subdomains

Configured DNS across two providers with subdomains pointed at a third-party platform — without downtime.

dns · hosting · ssl

Got a problem like one of these?

Send me the details and I'll tell you what's actually going on.