About Me
I’m a senior web developer with over a decade of agency experience, most of it spent building marketing websites for hospitality and lifestyle brands. My home turf is WordPress and JavaScript, but that undersells the range. In any given week I might be building custom Gutenberg blocks from a Figma design, debugging a caching layer, shipping a feature to a Next.js app, or reading server logs to work out how an attacker got into a client’s site. I’m the developer teams hand things to when the ticket doesn’t fit a template.
A lot of my work at Wallop is platform work. Beyond client sites, I maintain the foundation the whole team builds on: our Gutenberg boilerplate (which I modernized from a Gulp and Babel toolchain to Vite and ESM, with containerized local dev and automated project setup), a set of reusable plugins for the patterns hospitality sites always need, and the conventions that keep one developer’s work legible to the next. When I fix something on a client project I ask whether the fix belongs upstream, so every new project starts further ahead than the last one.
I’m also comfortable in the messier corners of the job. I’ve run forensic investigations on compromised WordPress sites, tracing attack chains through access logs, finding webshells and persistence mechanisms, and sequencing the cleanup so the attacker doesn’t just walk back in. I’ve handled the client communication that goes with it too, which mostly means translating scary findings into calm, plain-English emails. When a supply-chain incident hit our hosting platform, I rotated credentials across dozens of production projects in a couple of days. Performance work is similar: I turn raw waterfall data into a prioritized plan with honest effort estimates.
The biggest change in how I work over the past few years is agentic AI, and I’ve leaned into it harder than most. I use these tools daily, and I treat them less like autocomplete and more like a capable engineer I’m briefing, with context, constraints, and explicit instructions to push back before starting. I’ve also built the practices my team uses to do the same, from per-repo conventions to custom agents to a pipeline that turns Figma designs into working Gutenberg blocks. None of it replaces judgment. Knowing what good architecture looks like, what to verify, and when a confident answer is wrong matters more than ever, and it’s why one experienced developer can now do work that used to take a team without the quality dropping.
The short version of what I’m good at: modern WordPress in all its forms (native Gutenberg, headless, multisite), CSS and frontend work that turns a design into a fast, pixel-perfect build, modern JavaScript in production (Next.js, React, Vite, plus the judgment to know when vanilla JS is the right call), and the operational side of the job, like performance, security, migrations and CI, that keeps sites healthy long after launch. I also communicate well at every level. I’ve written onboarding tickets for developers new to Gutenberg, QA guides for non-technical marketers, and incident updates for anxious clients.
Mostly though, I just like building things and making them work. After ten-plus years I’m still finding ways to get better at it, faster.
Get in touch
If you’d like to build something cool together, or just argue about which text editor is best, reach out via email or LinkedIn.
