Sam Petulla

Editor, CNN Politics

CNN graphic articles

There is a wave of Republcians leaving congress

Tracking retirements in the House

The Art of the Trumpian Non-Answer

Quantifying the Trump answer-dodge

The Puerto Rican migration could shape Florida politics for years to come

Measuring the migration out of Puerto Rico

Papadopoulos' guilty plea visualized: From Russian contact to arrest

Graphic explainer of Papadopoulos's campaign-involvement and arrest

31 times presidential approval was lower than Trump's (and 256 times it wasn't)

Visualizing Trump's approval rating

NBC News graphic articles

All NBC News articles

An easy way to find my latest articles is to search google, with the domain restricted and my name as the query.

Tracking President Trump’s Visits to Trump Properties

Slack-integrated Google Drive project to track Trump's visits, with graphics output for our social team.

Vehicles are Becoming the Weapons of Choice for Terrorists

Original analysis of terrorist attack trends.

A Graphic Guide to the Monthly Jobs Report

On-going project to improve how we communicate the jobs report.

See What Your State Is Doing to Close the Gender Wage Gap

Interactive visualization of the gender wage gap.

Fatal Heroin and Fentanyl Overdoses on the Rise in Cleveland Area

Analysis of Fentanyl in Ohio.

Ransomware Attack: This is the Total Paid and How the Virus Spread

Visualization of the wannacry ransomware dataset.

100 Days: How Trump’s Low Approval Ratings Compare to Past Presidents

Analysis of Trump's approval rating.

The Cost of Thanksgiving Dinner

Fun interactive dinner cost calculator with illustrations.

Recent long-form essays

Left in the Lurch

I shared a byline on a recent NBC News project about the future of the Democratic party. I analyzed data to shape the piece's editorial direction, designed visualizations, wrote regression and Bayesian models and developed front-end code.

United States of Trump

I led data analysis and designed visualizations for this feature NBC News project from the 2016 election. The proejct won New York Press Club Award and Shorty Awards, among others. I composed dozens of models and created all visualizations for the first chapter, which led the piece.

Life of a Ballot

An NBC News mobile epxeriment. I helped lead the concept, development and design and reported out and wrote the story with a colleague.

Geography of Poverty

I oversaw all data analysis, visualizations and code for the first 5 parts of this series. The project has many visual elements and interactives. My favorite chapter is the South and the introduction. The project had an updating interactive map fed the Instagram API.

Trump Coalition

Precinct-level analysis of Trump's base, close-up in three counties.


I led development and visualization on this MSNBC feature, created with Irin Carmon.

Recent projects

Quick Sketch Visuals App

It's not public yet but I am currently working on a Node.js app for quickly sketching and generating graphics. Similar to NPR's graphics rig, the project outputs static and interactive assets for embedding into a CMS. The project is designed with websockets and maintains state to make the development process reactive.

Mapbuilder + Chartbuilder

I'm working in partnership with Quartz on their next Chartbuilder React app to support maps and diagrams. Upcoming release will be at the linked branch. Code converts Chartbuilder to ES2015 JS is optimized with BSTs.

NBC News Election Results

I oversaw the visualizations and design styles on the NBC News results pages, which included national Presidential, House, Senate and all state races. I contributed to a novel implementation of D3.js that rendered server-side, developed on's Node.js app, built slackbots and collaborative tools, and contributed to our AP API integration.

D3.js on TV (election night)

NBC News and MNSBC used D3.js to render maps on election night. I led an initial pitch for the concept and was a manager of its implementation. Additional screengrabs here.


Bayesian/Frequentist multilevel model experiments

Recent repos with demographic and election experiments with Stan/ARM in R. Repos and data tk.

Media strategy writing

I've written about the media for Nieman Lab, CJR, Google and The Content Strategist, a publication I helped found with former colleagues at Contently.

Reporting abroad

In separate trips, I reported from Myanmar and South Korea (in one trip) and from Israel, Jordan and Turkey (in another). My Asia trip focused on politics and technology. My trip to the Middle East looked at religion and politics.

Social media

I'm on Twitter, Github and Facebook.