The New York Times

Various web projects, 2015–Present

Here lies a smattering of projects from my tenure at the New York Times.

Web Archive

screenshot of nytimes web archive landing page

In 2016, the New York Times still ran its web site from servers it physically owned, slotted into racks in datacenters. We wanted to transition to The Cloud, but the physical servers still housed many old web pages that were important to preserve. I led a year-long effort to save and migrate those pages to an archive. This let us retire our physical datacenter and move all our digital products to the cloud. The archive has grown over time as additional projects have been shut down and the static content saved into the web archive.

Preventing Social Misinformation

screenshot of social sharing card with 2016 timestamp

After the proliferation of misinformation during the 2016 U.S. election, we became concerned about the potential for misuse of our published content. Our chief concern was people re-posting older stories as new and readers not understanding that they were many years old. Inspired by The Guardian, we visually timestamped the sharing graphic for all our stories published over a year ago. This work was done in our CDN, Fastly, with some neat tricks to cryptographically ensure that the timestamp cannot be corrupted. Here’s an article about the feature on Poynter.

HTML Sitemap

screenshot of nytimes sitemap web page

As part of my team’s work on SEO, we re-wrote the our XML sitemap to work seamlessly and accurately with our distributed publishing system. However, we didn’t initially update our HTML sitemap. With this simple but useful project, we did just that.

The HTML sitemap is a simple list of every date the Times has been published, listing and linking to every piece of content ever published. Just simple, linked lists for humans and search engine robots.


screenshot of padlock icon from firefox

In the summer of 2020, another engineer and I decided we should continue the long process of making more secure. We used our Maker Week to enable strict transport security on This work won us some nice internal 👀 and also was a thing that helped some security-attentive engineers sleep easier at night.

A small nerd detail: we have intentionally not turned on HSTS for all subdomains since serves some content that cannot be upgraded to HTTPS. Work is underway on

Gift Article Sharing

screenshot of gift article sharing menu

This feature allows paid subscribers of the Times to send links to their family or friends, allowing them to read them without a subscription. In essence, users can create URLs that bypass the NYT paywall. I lead the surprisingly intricate frontend development work on this project, working with other engineers who did the backend work. We conducted at least half a dozen A/B tests on this feature, each leading to increases in engagement and use.

Rich Sharing

screenshot of tweet with crosswords puzzle scorescreenshot of tweet with quote from article

Many digital products do not give readers a way to share all their activity or achievements. Users often execute workarounds by sharing screenshots of their crossword solve time, a paragraph they find interesting, or a map that shows something interesting. We have been experimenting with a mechanism that allows users to share these things without the need for cumbersome screenshots.

Try sharing these URLs: (right click, copy url)


Accessibility (a11y) has been a passion project of mine at the NYT. By organizing our internal accessibility community of practice, I try to support other staff who are interested in improving accessibility of their work. We have bi-weekly office hours and occasional talks on accessibility subjects.

When teams or projects ask, I am happy to conduct ad-hoc accessibility reviews and have even been known to submit pull requests with a11y improvements to codebases that I don’t typically work in.

/r/Coronavirus Bot

screenshot of reddit user NYTimesBot

As an avid user of Reddit, I was aware of the frequent challenges of New York Times content appearing on the service. For example, some subreddits do not allow paywalled content, others can contain copy and pasted contents of the article text, violating the Times’ copyright and missing important things like images or corrections. I wanted to find a way for the Times and Reddit to co-exist and support each other.

The resulting experiment was a simple bot, written in python, that scanned Reddit for posts to and posted a special link, using our gift article API, to the discussion thread. The thinking was that this would allow everyone to see the content in its original context and the Times may acquire some traffic.

As an experiment, we decided to run the bot only on /r/Coronavirus as this aligned with our mission. Unfortunately, the experiment didn’t generate enough referral traffic to the Times to warrant continuing use.