Writing
Thoughts on WordPress, web development, and the tools I use.
Removing options from the product data panel in WooCommerce
The WooCommerce product editor can feel cluttered when you only sell simple products. Here's the filter that hides tabs like Inventory, Shipping, and Linked Products from the Product data box.
The benefits of using WordPress as a headless CMS in 2026
WordPress 7.0 shipped in April 2026 and quietly changed what headless WordPress can do. Here's what actually improved, when to reach for it, and when to skip it.
How to add a custom domain to GitHub Pages
Step-by-step guide to pointing your custom domain to GitHub Pages, including DNS setup with A records and CNAME for GoDaddy, Namecheap, and HostGator.
Truthy and falsy values in JavaScript
In JavaScript, values like 0, empty strings, null, and undefined are falsy, while almost everything else is truthy. Here's how this affects your conditionals.
Strict vs loose equality in JavaScript
JavaScript has two equality operators: === checks both value and type, while == only checks value with type coercion. Here's when to use each one.
TypeScript vs JavaScript: what are the differences?
TypeScript adds static typing and compile-time checks on top of JavaScript. I break down the key differences and when each language makes more sense.
Google PageSpeed vs Lighthouse: how are they different?
PageSpeed Insights and Lighthouse both use the same engine but differ in scope and test conditions. Here's what each measures, why the scores don't match, and when to use which.
How to improve Largest Contentful Paint (LCP)
LCP measures how fast the largest visible element loads, and it counts for 25% of your PageSpeed score. Here's what actually moves the number on WordPress, with a list of second-order fixes at the end.
Excluding files and folders in All-in-One WP Migration plugin
All-in-One WP Migration has four exclude filter hooks, not one. Here's which hook to use for uploads, themes, plugins, or the wp-content root, and why the common snippet you find online silently does nothing.
Junior developer: writing the perfect resume
Your CV is the first thing a recruiter sees, and it has about thirty seconds to land. Here's how to write a junior developer resume that actually gets you to the interview.