LayerDispatchEvidence-led systems publishing
Skip to article content

2026-10-10T06:59:47Z

We redesigned Cloudflare Radar to make real-time global traffic and outage data accessible to a wider audience — including journalists, less technical researchers, and everyday users.

Bridging technical depth and usability: The story behind Radar’s redesign We redesigned Cloudflare Radar to make real-time global traffic and outage data accessible to a wider audience — including journalists, less technical researchers, and everyday users. By introducing an interactive map and standardized components, we simplified navigation while preserving technical depth.: Research context

The AI Playground is worth checking out, but the real magic is wiring the MCP into your coding agent, so the stack's current docs are one tool call away. Previously, you had to stitch together components of the Cloudflare primitives (Workers AI, AI Gateway, Vectorize, R2, Browser Run) but now, AI Search can do this automatically, and better. We redesigned Cloudflare Radar to make real-time global traffic and outage data accessible to a wider audience — including journalists, less technical researchers, and everyday users. Making Radar accessible to a wider audience is a core part of our vision, so we knew it was time to reevaluate the user experience: How could we make Radar more approachable to broader audiences, while preserving the depth and rigor that we currently have? But making Radar more accessible wasn’t only about reorganizing the content. Radar provides a real-time view into global Internet trends, powered by Cloudflare’s global network. Since launching in 2020, Radar has found a natural audience amongst expert users with technical backgrounds, such as network operators and academic researchers who rely on Radar data to observe industry trends and global events. With the launch of EmDash and some limitations with our current CMS vendor, we knew that we’d likely be the Customer Zero for EmDash internally at Cloudflare. We are Customer Zero At Cloudflare, Cloudflare itself is Customer Zero. (Each of these is Cloudflare-owned. We don’t just build products for others; we build them to run Cloudflare itself. This is a very real cultural value at Cloudflare. It gives coding agents current, cited docs from across the Cloudflare developer ecosystem, so they build on the latest features and fixes instead of stale training data. com, our Developer Docs, with EmDash, in Cloudflare Dev Stack MCP — and even the blog post you’re reading right now (try cmd+K). AI Search in action: powering the new Cloudflare Dev Stack MCP One of the ways we use AI Search is in our new Cloudflare Dev Stack MCP, which you can try today in our AI Playground. Option A: in a Worker (what we did for Cloudflare Stack MCP) We bound the namespace to a Worker to create a remote MCP server and made one multi-instance call across all 10 instances. jsonc: { "ai_search_namespaces": [ { "binding": "AI_SEARCH", "namespace": "cloudflare-stack" } ] } Then a single tool makes one call that fans out across the instances you name: // One tool, one call that searches every surface in the namespace at once. registerTool( 'search_dev_stack', { description: 'Search current docs across the Cloudflare stack. Try it yourself: use the Dev Stack MCP With the Cloudflare Dev Stack MCP Server, you can ask about any tool, or describe an app you want to build, and you'll get back current, cited answers on how best to build it on the Cloudflare stack. Try it today in Browser Run You can try Kitesurf with Browser Run today, available for free while in beta, behind per-account limits. com) Content experiences, like the Cloudflare Blog and Developer Docs Product experiences Where does Radar fit? com/mcp" } } } Powering search on our Blog, Developer Docs, and Cloudflare. com We build with AI Search the same way our customers would: Cloudflare Blog's search already runs on it, and today Developer Docs and Cloudflare. com on Bluesky, or email us at radar@cloudflare. We migrated the Cloudflare Blog to EmDash to prove our stack at massive scale. Our biggest concerns were whether our proposed EmDash setup could handle the traffic we saw on the Cloudflare Blog. The traffic pattern to our blog is incredibly varied. The first is that we released a new Model Context Protocol (MCP) server for the Cloudflare Blog. Using Cloudflare’s new, first-party Hyperdrive integration with PlanetScale. Finally, we will also share examples of how AI Search is used across our own platform including Cloudflare. You can also add Cloudflare Access to create private search instances. If the search should be private, add Cloudflare Access in front of the domain. Today, we’re excited to announce a few developer experience improvements to Cloudflare AI Search to make it easy to manage a search solution out of the box. Index each surface We created one AI Search instance per Cloudflare-owned surface: Docs, Blog, API Docs, Community, Astro, Vite, Vitest, Hono, Replicate, OpenNext. Both run free with AI Search defaults or when using select models from the Workers AI catalog, so the models behind indexing and every search are not a cost you have to worry about. At its core, Radar is a data product, but it’s also public-facing and inherently content-rich. We validate scale, security, and usability on our own massive infrastructure before a paying customer ever touches the product. We rebuilt the frontend experience using patterns established by the Kumo design system, creating visual and structural consistency between the Cloudflare homepage, dashboard, and marketing sites. From concept to reality Developing Radar’s design language To develop Radar’s design language, we looked across Cloudflare’s content ecosystem, which exist in these three pillars: Marketing pages (like cloudflare. The strategy blends design aspects of all three: approachable like marketing, structured and navigable like content, and maintainable by migrating to Kumo components used by Cloudflare’s product system. It was also about making the experience feel more connected to Cloudflare. We took this path because we're adding the stack search into Cloudflare's MCP server, so it ships as a

Key findings

tool alongside the Cloudflare tools agents already connect to. On Wednesday, August 12, we moved the blog to EmDash, a content management system (CMS) built especially to work on Astro and with Cloudflare. AI Search respects all bot policies AI Search is powered by Browser Run /crawl in the background, but goes a step further to identify itself with its own bot identity: Cloudflare-AI-Search. Creating an instance is a single command, and for a site without a sitemap you add --parse-type discover to find pages by following links (powered by /crawl from Browser Run): npx wrangler ai-search create cloudflare-community \ --namespace dev-stack \ --source https://community. What you might not have noticed – well, except for those who are more terminally online – is that the redesign was part of a much bigger migration project. You likely noticed the recent redesign of the Cloudflare Blog. We’ll take you into the migration story – what we learned and how EmDash got better – as well as into the benefits we’re already seeing from a new platform. This seems like a perfect fit for Cloudflare Workers, whose security model is built around isolation by design. How it started Kitesurf started as many other great ideas have started at Cloudflare. In this blog post, we’ll introduce the redesigned Radar, share our design process, and outline our broader vision for the platform’s future. To achieve this, we deployed a proxy Worker to intelligently route traffic between the legacy blog and the new EmDash-powered site. But Radar also has the potential to be a more regular, self-serve resource for journalists, human rights advocates and policymakers, and everyday users. To unlock that value, we want to empower every user with real-time insights across security, performance, and traffic. Traffic, meanwhile, communicates the scale and breadth of Radar’s data. Challenges with the previous design While the previous landing page was successful at showing the breadth of Radar’s data, the way that information was presented made it difficult to parse. The bento box layout gave everything similar visual weight, the vertical cards disrupted natural reading patterns, and the styling felt disconnected from Cloudflare’s broader brand. The result is a cohesive reading experience that feels like a natural extension of the broader Cloudflare ecosystem. Armed with these tests – and a lot of internal discussion and data points – we came to our production architecture: EmDash, running on a Cloudflare Worker Running behind the new Workers Cache (we believe as the first major site to do so) Using the new EmDash object cache built on Workers KV, which the EmDash team built specifically for our use case. By running EmDash on Cloudflare Workers alongside our new caching layers, we’ve delivered a significantly faster and more performant reading experience across the board. The map also acts as a navigation point into the insights below, guiding users from the global view into specific countries, trends, and data stories. These weeks push our products forward, as well as help customers digest the changes that are constantly happening at Cloudflare. Frontend redesign Beyond updating the backend architecture, the migration offered us the perfect opportunity to bring the blog's interface into alignment with Cloudflare’s updated visual language. Once we had that architecture in place, we could start thinking about the frontend redesign as well. The Radar vision and evolution Because Cloudflare sits in front of roughly 20% of all web traffic, Radar has the opportunity to tell unique and compelling stories about the Internet. The tabs provide summary statistics to give the user a sense of Radar’s capabilities, while also giving them a call to action to explore the data in depth. com \ --type web-crawler \ --hybrid-search From there, query it, wire it into an agent over /mcp, or put a custom domain on a public /search endpoint to share it with your users. Our goal is to give your agents their own search engine, where they can easily find data to provide better answers for themselves and their humans. Point it at your site, turn on hybrid search for both semantic and keyword matching, and you have a search engine for your own data, ready for your agents. In AI Search, users can now: Index a collection of data for your agent: Make structured and unstructured data easily accessible for your agent to build with, from individual files to websites you own. A more cohesive Cloudflare experience helps signal that Radar is an authoritative source, while familiar layout patterns reduce the effort required to move through complex information. What we tried along the way From the outset, we knew the landing needed to communicate Radar’s global perspective. (Today, it must be a zone on your Cloudflare account, but with more ways to verify ownership coming soon. What follows is the story of how we built it. Use Rust when possible Cloudflare has been working on providing great support for WebAssembly (Wasm) in Workers for quite some time. Below the map, we turned the old bento box chart widgets into a tabbed flow that helps users move through the data more deliberately. With this in mind, we wanted to create a landing page experience that shaped a clearer path through the content, instead of asking users to interpret everything at once. Introducing Radar’s new landing page The new and improved Radar uses a visual reference that users of all backgrounds will have a familiarity with

Operational implications

— a map. This is one of those questions that has come up every few months internally at Cloudflare for years. Indexing is largely a one-time cost, so later months are mostly queries, closer to $21. The tabbed structure creates a clearer hierarchy, keeps the page from feeling overwhelming, and previews the range of information Radar provides. MCP servers With this change, the blog also got more accessible for agents, in two distinct ways. And – in use – we make them better for ourselves and our customers. Help us make Radar better This redesign is our first step toward a more intuitive, scannable Radar. This redesign is a foundational step in that direction. 8× less than Chromium Memory: screenshot 57. 7× less than Chromium Memory: HTML extraction 39. 1× less CPU than Chromium CPU: HTML extraction 229 ms 877 ms 3. 0× less than Chromium Wall time: screenshot 1,148 ms 637 ms 1. 8× slower than Chromium Wall time: HTML extraction 820 ms 472 ms 1. Less memory means we can run more sessions, scale better, and fundamentally lower both our costs and yours. Rollout strategy As we got nearer to our migration, we started focusing on the broader question of “how do we make this change safely? Thanks to Cloudflare’s built-in DDoS protection, we also absorbed a 28,000 RPS DDoS attack on August 10th, also without any noticeable issues. Thanks to the flexibility of Cloudflare Workers, this proxy was relatively simple to create and scaled without any issues. As of today, Kitesurf correctly renders pages like TodoMVC (vanilla, React, Vue, Angular, Preact), Wikipedia, Hacker News, the Cloudflare Blog, and much of the Cloudflare dashboard. ) They span different domains, but, because Cloudflare owns the website data, AI Search is able to treat them as a single set and ingest them all the same way. Workers’ built-in RPC system: same application, multiple isolates Cloudflare Workers have a built-in remote procedure call (RPC) system that allows you to call methods on other Workers, pass objects between them, and call methods on those objects. We support Cloudflare’s mission to help build a better Internet by making web data visible, clear, and actionable for everyone. We keep CPU, memory, and wall time benchmarks running all the time and are working hand-in-hand with other Developer Platform teams to make Kitesurf as cost-effective and efficient as possible. You can share feedback with us on social media at @CloudflareRadar on X, radar. That feedback reinforced the problem that Radar could feel intimidating to people encountering it for the first time. Final notes Thank you for making it all the way here — we know this was a long and technical blog post, but hopefully an interesting one. Buckle up, it’s going to get technical — but we promise to keep it interesting. 01% of HTTP requests lead to 5xx errors, meaning the application couldn’t handle the traffic. 50 / 1M tokens 5M tokens † Storage Stored data $2. By the end of the day, we had comfortably shifted 100% of traffic over to the new platform. This time the answer was unanimous: Yes! Ultimately, we decided that Radar sits at the intersection of all three. The top section focuses on traffic and outages. Others happen during all points of the day and night, which likely means folks are sending some extra traffic our way, just to see what happens. Burst: Where we throw an immediate traffic load of 7,000 RPS and see what happens. On launch day, we initiated a gradual rollout, starting at just 1% of total traffic, then incrementally stepping up to 5%, 15%, and beyond as we validated system health. By introducing an interactive map and standardized components, we simplified navigation while preserving technical depth. Here is how we stress-tested performance, safely routed production traffic, and redesigned the frontend experience. Explore the DevTools panels and see what’s happening behind the scenes, with particular attention to the console and the memory metrics. Because Radar helps people understand Internet activity across countries and regions, a map felt like the clearest way to make that scope immediately visible. By pairing our technical rigor with a cleaner, human-centered experience, we are ensuring that more people can explore, understand, and share the state of the Internet. Contrary to what the name suggests, the Engine is actually the simplest of the Kitesurf components. This is Kitesurf’s very high level life of a request that still holds today: Let’s dive into the three main components that make Kitesurf work: the Engine, PageScript, and PageRenderer. All other components are stateless. And those posts got a lot of traffic, close to 3 million pageviews. A major priority for this redesign, and a long-overdue request from our readers, was native support for light and dark modes. We lead with outages as they are one of the most concrete, timely, and salient data points about the state of the Internet. Cloudflare is a web performance company, after all, so the speed at which a page loads becomes incredibly important. To answer this question, we ran through a bunch of common user flows, such as: Publishing and unpublishing a post Authoring a new post Scheduling a post Adding media items By and large, EmDash held up pretty well to these usability tests. The map went through many rounds of iteration as we tried to strike the right balance between data richness and approachability.

Final notes Thank you for making it all the way here — we know this was a long and technical blog post, but hopefully an interesting one.

Read the original sources cited in the article for the full material.

Frequently asked questions

What does the collected research say about Bridging technical depth and usability: The story behind Radar’s redesign We redesigned Cloudflare Radar to make real-time global traffic and outage data accessible to a wider audience — including journalists, less technical researchers, and everyday users. By introducing an interactive map and standardized components, we simplified navigation while preserving technical depth.?

We redesigned Cloudflare Radar to make real-time global traffic and outage data accessible to a wider audience — including journalists, less technical researchers, and everyday users.

What are the key details from Cloudflare Blog?

We migrated the Cloudflare Blog to EmDash to prove our stack at massive scale.