From image proxy to edge-native architecture

Nodecraft, a company that provides dedicated game-server hosting, has been on Cloudflare for nearly a decade. James Ross, its CTO, says the team’s first Worker replaced an internal image proxy, and that initial step changed how the company builds applications. For Nodecraft, Workers has become the default deployment target.

"Workers has definitely changed how we think about building applications. Now, we think about how we can build our applications to be deployed directly to Cloudflare's edge."

Edge logic for websites and APIs

Nodecraft runs a range of services on Workers, including URL redirects and image content negotiation for its main site. Because most users run modern browsers, the company can serve formats like JPEG XL and AVIF via a Workers script.

The company also maintains public-facing developer tools built entirely as Workers. PlayerDB is a JSON API for looking up gamer profiles across services; MCUUID and SteamID are frontends to that same API. These handle significant traffic without dedicated infrastructure:

"Whenever a player joins a Minecraft server, we want to get their information — like their name and player image — and show it to our users. That API receives a hundred million requests a month. And we use the same API endpoint for three other websites that display that data to our users."

Scaling without the overhead

Porting resource-intensive or costly parts of the stack to Workers removed a heavy maintenance burden. Ross notes that peaks are no longer a concern:

"Handling three hundred millions a month in our own infrastructure would be really tough, but when we throw it all into a Worker, we don't need to worry about scale. Occasionally, someone will write a Worker, and it will service 30 million requests in a single hour... we won't even notice until we look at the stats in the Cloudflare dashboard."

Static architecture, dynamic data

The move to a Jamstack model came with Workers Sites, but Nodecraft’s data didn’t fit the static paradigm. With millions of Minecraft profiles, pre-building pages isn't feasible. Instead, the team uses HTMLRewriter to merge static pages with dynamic user content.

Looking ahead, Ross is watching two Cloudflare releases. The addition of Workers functions to Pages will let Nodecraft shift fully to Pages-based deployments. And R2 storage is on the list because the company currently relies on similar storage products and wants to consolidate on Cloudflare’s tooling where possible.