Development
-
Testing WordPress projects against PHP 8.1
A focused PHP 8.1 WordPress check: deprecation notices, internal return types, plugins, scheduled work and a careful staging-to-production comparison.
-
Building intly.js: a small JavaScript framework for fast websites
Why I built intly.js: a small ES module framework for page loading, WordPress APIs, cached state, custom interactions and lighter eco websites.
-
Checking a WordPress website before moving to PHP 8
My approach to a WordPress PHP 8 compatibility check: a private staging copy, useful error logs, realistic journeys and a tested way back.
-
Sass mixins and the question of maintainable CSS
How I decide when a Sass mixin is useful, with a small breakpoint example and checks for readable selectors and unnecessary generated CSS.
-
The conveyor belt challenge that got me the job
A conveyor belt interview challenge in vanilla PHP, the logic and proof behind my solution, and the job offer that gave me confidence as a developer.
-
What Angular 2 changed about the way I think about frameworks
Reflecting on Angular 2: the break from AngularJS, explicit components, services and the work involved in learning an application architecture.
-
Vue 2 and the appeal of a smaller frontend starting point
Why Vue 2 appeals as a small interactive layer: clear templates, deliberate state, computed values and sensible boundaries around existing CMS pages.
-
React 15 and learning to think in components
Looking back at React 15: component boundaries, props, local state and why thinking about data ownership matters more than splitting up markup.
-
Build your website like a book: structure, data and usefulness
Why I start website design with the information people need, and what books can teach us about clear navigation, consistent data and useful pages.
-
Why accessibility belongs in the SEO conversation
Readable content, meaningful structure and usable controls support the people visiting a website and help make its information easier to understand.