Case Study 2: The NYT's COVID-19 Tracker and the Rise of Interactive Journalism
In March 2020, the New York Times launched an interactive COVID-19 case tracker that would become one of the most-visited pages in the publication's history. The tracker featured line charts, choropleth maps, and data tables for every US county, every US state, and every country in the world. It was updated several times a day for over two years. It was free, it was open-sourced, and it became the template for interactive crisis-reporting worldwide. The story behind the tracker is a case study in how interactive visualization at scale changes the relationship between a news organization and its readers.
The Situation: A Novel Virus and an Information Vacuum
In January 2020, reports began emerging from Wuhan, China, about a novel respiratory illness. Within weeks, cases were appearing across Asia, then Europe, then North America. By early March, the World Health Organization had declared a pandemic, and governments around the world were beginning to impose travel restrictions and lockdowns.
For news organizations, this created an unprecedented reporting challenge. The story was not a single event but a continuous, evolving situation affecting every community on earth. Readers wanted to know: how many cases are there where I live? Are cases rising or falling? How does my county compare to the next county over, or to the worst-hit areas? Traditional news articles — text with a few charts — could not keep up. The data was changing too fast and varied too much by location.
At the New York Times, a small data journalism team saw this coming early. The team included reporters, developers, and designers who had been working on interactive graphics for years. They had covered hurricanes, elections, and climate stories with interactive visualizations. COVID-19 looked like all those stories combined: geographic variation, time-series data, constant updates, intense reader interest. They began building a tracker.
The first version launched in early March 2020. It had a few line charts of national cases, a simple table, and a map. Over the following weeks, it grew. By late March, the tracker included per-state and per-county data. By April, it had per-country data for every country the Times could find reliable statistics for. By summer, it had added tracking of testing rates, deaths, hospitalizations, and eventually vaccinations. The tracker became the newspaper's most-visited page — more visited than any article, any section, any interactive feature in the paper's history.
The Data: Assembling Reliable Numbers from Scratch
The first challenge was not visualization but data collection. In March 2020, there was no authoritative source for US county-level COVID case counts. The CDC published national numbers but did not provide the granularity readers wanted. State health departments published their own numbers in inconsistent formats — some as PDFs, some as web tables, some via APIs, some via daily press conferences.
The NYT data team built a system to scrape, parse, and aggregate these sources into a single unified dataset. The work was done by a team of reporters and engineers, many of whom had never worked on public health data before. They made thousands of small decisions about how to handle edge cases: What counts as a "confirmed case" vs. a "presumed case"? How do you handle a state that changes its definition mid-outbreak? What do you do when a county stops reporting for three days and then releases a backlog? Every decision was documented, and the decisions were continuously revisited as the situation evolved.
The resulting dataset was eventually open-sourced on GitHub. The repository, nytimes/covid-19-data, contained cleaned, daily-updated CSV files with US state and county case and death counts from January 2020 onward. Other organizations used the NYT dataset as a source — academic researchers, government agencies, other news organizations, and countless independent dashboards all pulled from it. The data itself became infrastructure.
The international data was harder. Each country had its own reporting conventions, its own testing regime, its own update schedule. The Times relied on a mix of official sources, data aggregators like Johns Hopkins, and direct scraping. The international dataset was less reliable than the US dataset, and the Times was explicit about the limitations.
The Visualization: Designing for Every American
The tracker's interface was designed around a single question: "What is happening where I live?"
The landing page showed national charts: a line chart of daily cases, a line chart of daily deaths, and a choropleth map of the US colored by recent case counts. At the top, an input let the reader enter a location (state, county, or city) and jump directly to that location's data.
The state page showed the same charts for one state, with additional detail: a county-level table, a county-level map, and a list of notable outbreaks. The charts used the same encoding across state pages so readers who visited multiple pages did not have to re-learn the chart format.
The county page showed county-specific data: a line chart of daily cases, a 7-day rolling average overlay, a line chart of deaths, and comparisons to neighboring counties.
The country page showed international data for one country, with the same encoding conventions.
Every chart was interactive: hover to see exact values on any date, scroll to zoom, click to filter. Every chart had clear labels, a sensible default view, and the ability to switch to alternative metrics (cases, deaths, tests, hospitalizations, vaccinations). Every chart was designed to work on mobile screens — about 70% of the traffic came from phones.
The visual conventions were disciplined. The Times design team had years of experience producing newsroom graphics, and the tracker inherited those conventions: clean sans-serif typography, muted color palettes, minimal chart junk, clear annotations. The interactive affordances (hover, tap, zoom) were present but never gratuitous. The goal was to make the data legible, not to impress readers with interactivity.
The Technology Stack
The tracker was built on a custom stack. The front end used D3.js for the charts, not an off-the-shelf library like Plotly or Chart.js. The choice reflected the Times's deep D3 expertise — their graphics team had been using D3 since the library's release in 2011 and had developed internal tools and patterns for newsroom-quality charts. D3 gave them full control over every visual element, which mattered because the tracker needed to work at extreme scale (millions of concurrent users) and handle many different chart types consistently.
The data pipeline was Python-based. Scraping scripts ran continuously, pulling from state health departments and aggregators. Data went through a cleaning and validation pipeline. Cleaned data was published to an S3 bucket and consumed by the front-end charts. Updates happened several times a day, and the tracker always showed the most recent available data with a timestamp.
The open-source dataset on GitHub was updated from the same pipeline. When the Times cleaned a data point, the clean version went to both the tracker and the public GitHub repository simultaneously. This transparency was important: any reader could verify the numbers against the source, and any downstream user could rebuild the tracker from the public data.
The fact that the tracker used D3 rather than Plotly is instructive. For the NYT's scale and quality requirements, a custom D3 implementation made sense: they had the expertise, they needed the performance, and they wanted full design control. For smaller organizations, Plotly Express would have been a more practical choice — you give up some customization for a massive reduction in development time. The Times's tracker could not have been built by a small team in a week; a Plotly Express version of a similar dashboard could be.
Impact: A Template for Crisis Reporting
The COVID tracker's impact went well beyond the Times's own traffic. It set a template that other news organizations adopted during the pandemic:
Open data as a service. Before COVID, news organizations rarely open-sourced their datasets. After the tracker's success with transparent, GitHub-hosted data, other outlets followed. The Washington Post, Reuters, the BBC, and many regional papers began publishing their COVID data as open repositories.
Interactive trackers as a product. The tracker was not an article; it was a persistent product that readers returned to day after day. This was a new model for news organizations, which had historically thought of content as articles that were published once and mostly forgotten. After COVID, many newsrooms started building more persistent interactive products: election trackers, climate dashboards, voting guides, school budget tools.
Data literacy in the mainstream. Readers who had never thought much about data were suddenly fluent in terms like "7-day rolling average," "exponential growth," "per capita," and "log scale." The tracker's daily presence in the news cycle forced these concepts into common parlance. A chart that would have required a paragraph of explanation in 2019 could be understood at a glance in 2021.
Newsroom hiring. News organizations hired more data journalists, graphics designers, and software engineers during and after COVID than they had in the previous decade. Positions that had been rare became standard. Journalism schools began teaching interactive visualization as a core skill rather than a specialty. The field of "data journalism" expanded dramatically.
Theory Connection: Interactive Journalism as a New Medium
The COVID tracker was a news product, but it was not an article. It did not have a narrative arc. It did not have a byline in the traditional sense. It was updated constantly, and the "story" was whatever the reader chose to explore. In other words, it was a new medium — not a traditional piece of journalism, but a piece of interactive infrastructure that readers used to answer their own questions.
This is the threshold concept of this chapter ("interactive is not a gimmick") applied at the scale of a major news organization. The tracker was not decorative interactivity on a static article. It was a persistent tool that let readers implement Shneiderman's mantra on their own: overview (national map), zoom (state or county), detail (specific date values). The reader was not just consuming the journalism; they were using it.
This matters for visualization design more generally. When you build an interactive chart for a stakeholder, you are often building a small version of the NYT tracker — a persistent, explorable tool rather than a one-time answer. The design principles are similar: make the overview obvious, provide clear zoom and filter controls, reveal details on demand, and ensure the chart remains useful as underlying data changes. A Plotly Express chart embedded in a dashboard is, in miniature, the same kind of artifact as the tracker. The tracker is just larger and more polished.
The tracker's success also validated the chapter's argument that interactive charts can replace static dashboards. In early 2020, the CDC's COVID page was a static text-heavy document updated once a day. Readers bounced off it and went to the NYT tracker instead, because the tracker answered their questions directly. The static version was technically correct but experientially useless; the interactive version was the same information arranged so the reader could find what they needed. Interactivity was the difference.
Discussion Questions
-
On scale. The NYT tracker was built with D3, not Plotly. For a smaller organization that needs a similar tool but does not have D3 expertise, what trade-offs would Plotly Express introduce?
-
On data transparency. The NYT open-sourced its COVID dataset on GitHub. Should news organizations always open-source the data behind their visualizations? What are the costs and benefits?
-
On the interactive news product. The tracker was a persistent product, not a one-time article. What other news topics would benefit from the tracker model? What topics would not?
-
On data literacy. The tracker normalized concepts like "7-day rolling average" and "log scale" for the general public. Did this change how the public consumes numbers in the news? What are the lasting effects?
-
On journalism as infrastructure. When the Times publishes its cleaned COVID dataset on GitHub, is the Times a news organization or a data infrastructure provider? Is the distinction meaningful?
-
On your own dashboards. When you build an interactive chart for a stakeholder, what design lessons from the NYT tracker apply? What aspects of the tracker are specific to its scale and inapplicable to smaller projects?
The NYT COVID tracker is the largest-scale example of interactive visualization in recent memory. Its design principles — disciplined conventions, mobile-first layouts, persistent updates, open data, transparent sources — are lessons for anyone building interactive charts at any scale. When you use Plotly Express to build your own small dashboard, you are working in the tradition the tracker defined: not an article with charts, but a tool that readers use to investigate questions of their own.