Innovating from Home: Maker Week at The New York Times

Illustration by Jean Wei

Maker Week is an annual tradition: New York Times employees in Data, Design, Marketing, Product and Technology are given the freedom to step away from their normal responsibilities and work on self-directed projects. The event is time for our colleagues to experiment with new ideas or iterate on old ones. This year, our colleagues worked on over 96 projects and participated in 24 peer-led workshops over five meeting-free days.

We asked some of our colleagues to share their projects and what they learned.

AcroBot (Acronym Bot)

By Aiyana Brooks (software engineer) and Alice Fung (senior data analyst)

AcroBot lets New York Times employees look up acronyms frequently used at The Times.

AcroBot is a Slack bot that enables users in The New York Times workspace to easily look up acronyms used within the company. This can be extremely helpful when onboarding new employees, or when forming cross-functional teams, as teams tend to have their own sets of jargon. The bot provides the definition of the acronym along with helpful context about how the acronym is used.

AcroBot is built using Python and uses the Slack API to interact with Slack. The data is backed-up on a Google Sheet, which makes it extremely easy to share and view the complete dataset.

Auditorial

By Jeremy Chen (senior software engineer)

Auditorial parses New York Times audio transcripts and suggests relevant Times Tags, or keywords that are used in our search and recommendation engines.

Auditorial uses the Google Natural Language API to process New York Times audio transcript data and parse important and salient keywords. It then subsequently recommends relevant Times Tags using the NYT Semantic API.

The goal of this project was to explore the feasibility and efficacy of programatically analyzing and classifying audio content. Ideally, this is a service that we can integrate into the audio publishing workflow to promote and encourage the application of Times Tags, and to increase the effectiveness of our search and recommendation engines.

By the end of Maker Week, I had built a full-stack web app that displays up to 10 recommended Times Tags for the top 10 salient keywords. The app also has a tab that lets you observe the actual data returned by the Natural Language API.

The service itself simply intakes a URL that hosts transcript data in the form of an .srt or .txt file. The transcript data is first sanitized (by removing things like timestamps, speaker tags and noise tags) before entering the classification pipeline.

Theoretically, since the input is just text, Auditorial is not just limited to audio content; it can be leveraged for any data that is in the form of text.

Technology used on the back-end includes Typescript, Node.js, Express, Google Natural Language API and NYT Semantic API, while the technology used on the front-end includes React, Context API, React Router and React Bootstrap.

Automating Data Testing with Great Expectations and Apache Airflow

By Eddie Velez (lead software engineer), Amandeep Singh (consultant) and Brian Lavery (senior software engineer)

The flowchart depicting what the testing process does if data doesn’t meet data analysts’ expectations.

For our Maker Week project, we created an automated testing process that notifies data analysts and engineers if their data doesn’t meet their expectations; it also stops any associated data processing jobs. We built on top of the Apache Airflow and Great Expectations open-source projects to create a reusable piece of code called an “Airflow operator,” which interrogates the data in a Google BigQuery database to see if it meets expectations. Users can write their expectations to a JSON file and check it into Github along with their data processing code.

Collaborative Crossword Chrome Extension

By Chandana Bhimarao (data analyst intern), Jasper Cheung (back-end engineering intern), Jenna Kolodny (front-end engineering intern), Stephanie Lu (front-end engineering intern) and Jenna Kim (product design intern)

Times interns built a prototype where multiple users can play the Crossword together.

Our team of interns created a Chrome extension that enables collaborative play on The New York Times Crossword. Users in the same session can utilize a chat box and view each others’ progress in real time, effectively allowing them to solve a crossword together.

None of us had created a Chrome extension before, so our project involved a lot of learning. We took inspiration from and reviewed the source code of Netflix Party, an extension that synchronizes video playback so that friends can watch movies together remotely. We implemented real-time communication and collaboration using web sockets: clients either create a session or join an existing session, and are then connected to the same server. When a user types in a crossword cell, the information is sent to the server, and the other users’ crossword grids are updated accordingly.

Guide to Colorblind-Safe Data Visualization

By MacKenzie Gibson (manager, Data & Insights)

Analysts often use color as a way to visualize data and present insights to stakeholders. While color can be a powerful tool to help us interpret trends and extract meaning from datasets, there are no accessibility standards set by The New York Times’s Data & Insights group.

I completed research about colorblindness, how color is perceived and best practices in creating colorblind-safe color palettes. I compiled this research into a guide for creating data visualizations that are colorblind accessible. Additionally, I created a few colorblind-safe themes in Chartio that can be used throughout the Times company. By following the proposed guidelines we can create a more inclusive environment with more effective visual representation of data.

Marcy Lab Hackathon

By Ethan Lipkind (software engineer), Daniel Antonio (software engineer), Aditya Natraj (senior software engineer), Laisha Calalpa (Marcy Lab fellow), Enmanuel de la Nuez (Marcy Lab fellow), Devonte Duncan (Marcy Lab fellow) and Mark Griffith (Marcy Lab fellow)

This Maker Week, we partnered with The Marcy Lab School, an immersive program based in Brooklyn which creates pathways into tech careers for underestimated youth, empowering them to take control of their future. Our goal was to guide a group of Marcy Lab fellows as they conducted research and built a full-stack data visualization application focused around a topic of their choosing.

After spending the first day brainstorming ideas, the fellows defined a specific research question focused on racial inequality in maternal morbidity outcomes. The following day, we guided them as they searched the internet for a dataset that would give them insight into their research topic. Eventually they decided to use a dataset from the CDC, which had to be transformed using a very dense user guide as a map. Next, we helped them massage the data and train a machine-learning model set using scikit-learn and Google Colab. We then guided them as they built an application that allowed a user to input certain maternal characteristics and generate a data visualization representing the complications most likely to occur during childbirth according to their model’s prediction. Finally, we helped the fellows put together a presentation, which they delivered to over 200 Times employees during the Maker Week show and tell event at the end of the week.

We were blown away by the level of curiosity, determination and raw talent these young people demonstrated throughout Maker Week. To go from an idea to a full-stack web application backed by a machine-learning model in four days was truly remarkable work. We hope this will be the first of many collaborative learning experiences between The Times and Marcy Lab!

NYT Cooking — Calories & Grocery Features

By Lauren Yew (senior software engineer) and Kathy Li (data science intern)

A collage showing the calorie count and grocery list features developed during Maker Week.

For this project, we built several features for the NYT Cooking app, adding calories counts to recipes, the ability to filter by calorie count and grocery lists that are sorted by aisle. We also built a feature that allows a user to copy ingredients to a calorie-tracking app. We succeeded in providing demos for each feature, and we laid out the steps for them to be integrated with the production version.

NYT Cooking Videos on Apple TV

By Mark Paul Keefe (senior software engineer), Kate Cullinane (senior product designer) and Jamel Charouel (software engineer)

A prototype showing what NYT Cooking might look like on Apple TV.

We set out to create an app that allows Apple TV owners to discover our popular NYT Cooking videos in a way that is effortless, fun and engaging.

NYT Mini Bot

By An Yu (software engineer)

The NYT Mini Bot prints out the daily Mini Crossword using a Raspberry Pi.

The quarantine had made me antsy, and I wanted to create something tangible in my personal time. I had a Raspberry Pi lying around and I was musing about what to make with it when I came across a project that printed out comics on a little receipt. I loved it, and with Maker Week coming up, thought it would be neat to make a bot that printed out a little version of The New York Times Mini Crossword of the day.

This was my first electronics project, so while the concept was simple, I hit a number of small bumps along the way. I also wanted to make it in a way that could be replicated by fans of the Mini outside of The Times, so I took the scraping route to retrieve the Crossword instead of using an internal API.

It was refreshing getting to learn and build something different from day-to-day work, but also something that wasn’t entirely screen-based. I hope others can enjoy building their own Times Mini Crossword bot at home!

Readerversary

By Ami Berger (software engineer), Anish Vankayalapati (data engineering intern), Anna Davies (scrum master), Anna Guidi (data analyst), Deepak Goel (technology intern), Denise Wang (technology intern), Jenni Lee (product design intern), Leah Anton (product designer), Michael Abela (technology intern), Rashika Singh (data engineering intern), Saadhvi Umesh (technology intern) and Zhen Xu (senior data analyst)

The prototype features year-in-review stats, such as number of recipes cooked and most-read journalists.

For Maker Week we made Readerversary, an experience that celebrates our readers’ subscription anniversaries by providing a look into how they consume Times content. Through teamwork, we built a complete app and created a design that is in line with the Times brand.

Reimagining NYT Opinion

By Ilya Gurevich (software engineer), Charlotte Rymar (graphic designer), Hannah Towey (marketing intern) and Hannah Miao (marketing intern)

The reimagined Opinion prototype (bottom) features more information about the section and clearer visual cues that the page is part of the Opinion section.

We reimagined the Opinion section of The New York Times with improved visual acuity and labeling that signals to the reader that they are reading content in the Opinion section. We did this by normalizing headline fonts, utilizing a new logo, adding the Opinion blue for bylines, and we added descriptions for columnist and op-ed contributor roles. We also came up with a new product called “Dialogues” that allows for packaged opinion articles that cover a similar topic.

Saving Maker Week

By Meghna Dholakia (product designer), Christian Evans (engineering manager), Nina Feinberg (senior product designer), Justin Fuller (software engineer), Erik Kernan (associate product manager), Yassi Mortensen (software engineer) and Jenny Xing (software engineer)

A basic prototype showing what an expanded save feature might look like.

Today, New York Times users can save articles to a list that is available only to them. We decided to build on the current save experience by creating a feature where users can sort their saved articles into collections. We also wanted to have the ability to make collections public so users can share them with friends or family. We hypothesized that giving people more control over their saved articles would make them more likely to revisit and share them.

To accomplish this, we formed a cross-functional team in the days leading up to Maker Week, based on a shared interest in saved articles. We bounced around some ideas before the week began, settling on a plan Monday morning.

After deciding on our approach, we began to divide and conquer. In addition to building this feature, we also used this opportunity to learn new skills and experiment with new technologies. So, several of us stepped outside of our comfort zones for the week.

Our priority was to explore designs and to research technical limitations. Then we began designing and building components and even conducted some informal user research. On Thursday and Friday, our engineers wrote code like their fingers were on fire, so we could present a working feature at an internal show and tell event on the last day of Maker Week.

We’re proud of everything we did, but we would love to see this go further. We think there’s a real opportunity to give New York Times readers more ways to organize and manage the stories that intrigue them.

Stylebot: Learn Times Style

By Mike Abrams (senior editor), Veronique Brossier (senior iOS engineer), Anna Dubenko (deputy audience director), Penina Kessler (software engineer), Aditi Sarkar (senior data analyst) and Isaac White (senior software engineer)

There’s no great way for editors, writers and others around the newsroom to get better acquainted with New York Times style. The physical stylebook is out of date (we update style too frequently for it to be useful) and perusing entries digitally is less than ideal. Times employees can look up specific entries using Stylebot, a Slack bot that responds to queries on specific terms, but that’s only good for entries they search for. We added a feature to Stylebot that allows users to opt in to receive a random entry from the stylebook via DM. The entry is also posted to an existing channel for style questions, so that users can discuss the tip of the day.

We used Node.js and Botkit to enhance the existing stylebook Slack bot that replies to DMs and slash commands, Sequelize and Postgres to persist subscribed users and previously sent tips, and a small cron npm module to easily schedule the daily tip.

Times ARchive

By Sara Samuel (technology intern)

The augmented reality app would allow readers to view archived New York Times newspapers.

Times ARchive is an augmented reality app that allows readers to view archived New York Times newspapers in physical space.

Most readers probably do not have physical copies of archived papers and can only access them in PDF form. The Times ARchive app enables readers to view the newspapers as they would have appeared during the time periods in which they were published. For my demo, I chose front pages that reported historically significant events ranging from 1865 to 1973. Taken together, these pages form a virtual “timeline” of historical events as they were reported by The Times.

Times ARchive uses Unity with C# scripting, Vuforia image target tracking, as well as PARCH (our archive of electronic page images).

Universal JavaScript workers

By Alastair Coote (senior software engineer)

There is a lot of commonality between The New York Times on the web and its iOS and Android apps, but it’s difficult to share logic across the three platforms. I built an early prototype of a JavaScript “worker” platform that can be shared across all three platforms, and it can be updated outside of the app release cycle.

Illustration by Jean Wei


Innovating from Home: Maker Week at The New York Times was originally published in NYT Open on Medium, where people are continuing the conversation by highlighting and responding to this story.

Source: New York Times