Ryan McCue

Hi! 👋 I’m Ryan, a web developer freezing to death living in rainy Nottingham, England. That’s my goofy face over on the right.

I’m a WordPress committer, and co-lead on the WordPress REST API. I started the project in 2012, and eventually lead to it being merged in WordPress 4.7. I’m also the lead developer on a few other projects, including Requests, a HTTP client for PHP 5.2+ with a focus on compatibility.

I’m also the Director of Engineering at Human Made. We build massive WordPress sites for clients you’ve heard of, using Altis, our WordPress-based digital experience platform (DXP).

There’s also a lot more stuff I do. Read about some of that below.

Across the Web

Follow me on Twitter, see what I'm listening to at Last.fm, or check out my latest work on GitHub.

If you're interested in a talk I've given recently, check out Speaker Deck for the slides, or one of the recordings on WP.tv.

Latest from GitHub

Most code I work on is available on GitHub. Here's a few of my latest changes.

  • humanmade/S3-Uploads Commented on #553: We use Tachyon to dynamically crop, resize, etc thumbnails from…
  • ianstormtaylor/slate Closed #4623: Dragging and dropping void to start of editor duplicates, instead…
  • humanmade/altis-analytics Closed #194: Add ability to preview different A/B test block variants
  • humanmade/altis-analytics Closed #193: Render A/B testing block on frontend
  • humanmade/altis-analytics Closed #192: Add ability to specify per-variant weighting in experiments
  • humanmade/altis-analytics Closed #191: Surface A/B testing blocks in the Insights view
  • humanmade/altis-analytics Closed #190: Create A/B testing block type
  • humanmade/altis-local-server Commented on pull request #341: If you wanted to set up different domains for testing…
  • humanmade/altis-local-server PullRequestReviewEvent
  • humanmade/altis-local-server Commented on pull request #341: We detect the `CODESPACES` environment variable and override a bunch…

Latest Articles

I write articles sometimes, often on projects I’m working on. Here’s the latest stuff I’ve published.

  • Seamless webviews in Electron Electron has a few different ways to embed web content safely into an existing window. The standard technique is to use a regular iframe, but this doesn’t give you all the power you might need over user content; notably, you don’t get full control over the will-navigate event for user navigation. The documentation notes that […]
  • How WordPress Knows What Page You're On In the spirit of Dan Abramov’s Overreacted blog, where he deep-dives into React on his personal blog, I thought I’d do the same for WordPress. If there’s something you’d like to see, let me know! Since WordPress 1.0, WordPress has supported “pretty permalinks”; that is, human-readable permalinks. This system is built for a lot of […]
  • State of the REST API 2017 As we approach the State of the Word 2017 at WordCamp US, I think this is a good time to look back on the state of the REST API project and core focus over the last year. 2017 has been an interesting year for the REST API with highs and lows, and periods of intense […]
  • Requests for PHP: Version 1.7 Requests 1.7 is now available with a tonne of changes. Here’s some of the highlights: Add support for HHVM and PHP 7: Requests is now tested against both HHVM and PHP 7, and they are supported as first-party platforms. Transfer & connect timeouts, in seconds & milliseconds Rework cookie handling to be more thorough: Cookies […]
  • Patch WordPress via GitHub A few days ago, I started tweeting about the Stack Overflow Developer Survey, where 74% of developers surveyed said they dread working with WordPress. I received a tonne of replies that I’m still working through, and I’ll post about that soon. One reply that did come up a few times was contributing via GitHub. Matt […]

Featured Projects

I work on a lot of projects, so here’s a non-exhaustive list of my favourites.

  • Requests
    A HTTP client library built for usability and compatibility.
  • Falcon
    GitHub-style notifications (with reply-by-email) for your WordPress site.
  • Cavalcade
    Drop-in replacement for wp-cron. Scales horizontally for multi-server setups.
  • Gaussholder
    High-quality placeholder images using miniscule amounts of data.
  • Mercator
    Completely-rewritten domain mapping for the 21st Century.

Contact Me

Drop me an email at if you want to get in touch.

I'm terrible at replying, but I'll definitely read it. Please don't send support requests; those are better off filed as an issue on the relevant issue tracker.

Let’s Work Together

In all of my spare time, I'm the Director of Engineering at Human Made. We work on sites for clients like News Corp UK, npm, and Greenpeace. Get in touch with our lovely Director of New Business, Ant; you won't regret it.

Did I mention we're hiring? We're always looking for awesome people.