Hey there - thanks for visiting!

My work has involved reporting, developing, designing, and drawing. I've spent time with organizations like the Associated Press, The Pudding, NASA JPL, Boston's Metropolitan Planning Organization, and Visualizing Impact. My academic background comes from mathematics and computer science at Cornell University. Outside of work, I enjoy training Brazilian jiu-jitsu.

Data Visualization & Journalism

Journalistic graphics and data are my main jam. My main tools are D3 and React.


Social share for pandemic scorecard

Covid’s deadly trade-offs, by the numbers: How each state has fared in the pandemic

POLITICO’s State Pandemic Scorecard shows how state decisions impacted lives, jobs, education and social well-being.

Social share for redistricting tracker

States are redrawing every congressional district in the U.S. Here is where we stand.

Tracker for states as their district lines change during the redistricting process

Social share for google mobility story

When it comes to reopening, income matters more than party

Analysis of Google mobility data during Covid-19 pandemic

Social share for hate crime laws

Biden signed a new hate crimes law — but there's a big flaw

Despite federal action, patchwork state laws mean hate crime reporting is spotty at best.

Social share for reapportionment

Which states are gaining House seats in 2022 — and which are losing out

Tracking how state power shifted after the census reapportionment

Social share for the next pandemic

How to stop a pandemic before it starts, illustrated

U.S. policymakers have spent trillions of dollars to mitigate the effects of Covid-19. But the answer to preventing the next pandemic altogether lies elsewhere.

Social share for state demographics

Why state legislatures are still very white — and very male

Design and development of data from the National Conference of State Legislatures' 2015 and 2020 demographic research.

Social share for Biden's Cabinet

Joe Biden's Cabinet: Who’s in, and who voted against them

Design and development of story profiling Biden's Cabinet picks

Social share for new women in Congress

'Badasses in their own right': Meet the Freshwomen of Congress

Development of story profiling women entering the 117th Congress


Social share for swing state tracker

2020 Swing States Tracker

The latest polls, ad spending and other data and analysis from 2020's key states.

Social share for covid rent story

Rent cliff looms in July as eviction moratoriums expire

Government intervention has helped keep families afloat but hasn’t resolved the larger issues with rent affordability

Social share for police budget story

As U.S. crime rates dropped, local police spending soared

Protesters nationwide are calling to “defund the police” in the wake of George Floyd’s killing. Financial records show the opposite has been happening for years.

Social share for coronavirus comic

How the pandemic has changed the natural world, illustrated

The coronavirus’ effect on human health has become clear. But changes to the Earth’s ecological balance — and how we relate to nature — are only now beginning to appear.

Social share for coronavirus workers

Coronavirus hot spots erupt in the nation's sickest communities

Mapping county health and demographics data against Covid-19 doubling rates

Social share for coronavirus rates

Two better ways to chart the spread of coronavirus

Tracking doubling rates of Covid-19 internationally

Social share for coronavirus workers

Who is most at risk in the coronavirus crisis

24 million of the lowest-income workersare at highest risk of exposure and make a median wage of less than $35,000 a year

Social share for coronavirus test tracker

Live tracker: How many coronavirus cases have been reported in each U.S. state?

Tracking tests and positive cases of COVID-19 in the US

Social share for Bernie story

2016 to 2020: What's happening on Bernie's turf?

State and county shifts from 2016 to 2020

Social share for Bernie story

What happened to Bernie on Super Tuesday?

County shifts from 2016 to 2020

Social share for 2020 delegate tracker

2020 Democratic delegate tracker

Tracking how many delegates candidates gain in each state

Social share for 2020 primary results

2020 Democratic primary results

Demographic and geographical breakdown of who voted for which candidate

Social share for Iowa caucuses

An illustrated guide to the Iowa caucuses

Scrolly-telling piece describing how caucuses work


Social share for blue wall

Three reasons why the Democrats’ Blue Wall crumbled

Multi-media piece on voters in Pennsylvania, Wisconsin and Michigan

Social share for senate impeachment vote

Who supports Trump's conviction in the Senate

POLITICO’s analysis of how senators would vote if the House impeached the president.

Social share for impeachment matrix

2020 Election Forecast

Some glowing heads on a Cartesian plane

Blue headshots of Democratic candidates

Where 2020 Democrats shine and stumble

Charting candidates’ polls, money, TV, and social media numbers

Social share for impeachment matrix

The most powerful players in Trump’s impeachment inquiry

Some glowing heads on a Cartesian plane

Social share for cannabis tracker

The Dis-United States of Cannabis

Tracking where cannabis is illegal, decriminalized, or legal

Social share for Canadian elections

Canadian Election Polls 2019

Weekly updates on the race for control of Parliament

Social share for impeachment tracker

Who supports impeachment?

Live tracking House representatives in favor of impeachment proceedings

Social share for election security

The scramble to secure America’s voting machines

Live tracking counties and states that use paperless voting machines

Social share for candidate memoirs

The 2020 Dems Have Oddly Similar Memoirs. Can You Tell Them Apart?

Interactive quiz and pullouts of Dem candidate memoirs

Social share for poll tracker

2020 Democratic primary polls tracker

Tracking election polls on the race for the 2020 Democratic primary nomination. I wrote about building this piece on POLITICO Interactives' new blog.

Social share image for endorsements tracker

2020 Democratic endorsements tracker

Tracking presidential candidate endorsements by members of Congress and state governors

Social share image for litmus test tracker

2020 Democratic litmus test tracker

Live, scrolly-telling interactive tracker following candidate positions on hot-button campaign issues

Social share image for campaign finance tracker

2020 Democratic campaign finance tracker

Live interactive tracker following FEC data on 2020 campaign money

Social share image for approval poll rating tracker

Trump approval rating tracker

Scrolly-telling interactive and forecasting tool for presidential approval ratings across demographic groups


Link to work

Trump's Twitter Year of Outrage and Braggadocio

Scrolly-telling sentiment and topical analysis of 2843 tweets from @realDonalTrump

Link to work

The Mueller indictments so far

Tracking charges from the special counsel's investigation into interference during 2016 elections

Link to work

Freshman class of the 116th Congress

Scrolly-telling breakdown of young and diverse Congress-elects.

Link to work

U.S. Midterm Elections 2018

Design and development of data visualization modules in POLITICO's House, Senate, and state election pages.

Link to work

Where is Elaine Chao?

Unexplained “private” time fills long stretches of the Transportation secretary’s daily calendar

Link to work

Trump's environmental policies rule only part of America

Scrolly-telling story on political divide between conservative and liberal states and growing chasm on environmental policy.

Link to work

2018 Midterm Candidate Biographies

App for exploring election candidates, state and congressional district profiles

Link to work

Access to Pregnancy Centers and Abortion Services

Interactive comparing access to pregnancy centers and abortion services

Link to work

Biomechanics and Firefighter Harnesses

Visualization of body movement and changes with traditional and new firefighter harnesses

Link to work

The American Chinese Menu

Data story on state of shared cuisines in Chinatowns, based on 693 restaurant menus in seven major American Chinatowns.

Link to work

The Image of Chinatown

Data story on Chinatown as an ethnic enclave and tourist attraction.

Link to work

Limbo Lines: Dead Here, Alive There

Data story published with The Pudding on the legal boundaries and definitions of brain death.

Link to work

The Cornell Crime Logs

Interactive report on the Cornell Daily Crime Logs. Data was "scraped" (parsed through HTML) from the university website and obtained from the Cornell University Police Department.


Link to work


Interactive web-app developed with NASA Jet Propulsion Laboratory and Caltech allows users at the Meyerowitz Lab to segment 3D images of plant cells. 3D renderings are computed with the watershed algorithm and raycasted with Three.js. Planes visualized in Canvas.

Link to work

The State of Boston Transportation

Comprehensive dashboard of geospatial and non-geospatial data visualization of transportation metrics (bike/pedestrian/truck crashes, arterial and expressway congestion, bridge condition, pavement condition, sidewalk counts, bicycle facilities, and demographics).


Link to work

Transportation Improvement Dashboard

Interactive web-app developed with the Boston MPO allows users to distribute project funding and compare resulting scenarios. Visualizes each funding scenario through targets and investment category distribution.

Link to work


Interactive web-app exploring how funding distribution affects minority and low-income bus routes. This internal tool allows users to understand how they can minimize impact on ridership by adjusting service hours in different routes.

More works:

Nov. 2021 Why billions in broadband money may go to the wrong places (POLITICO)
Oct. 2021 Trauma and Trump make Asian American voters a more cohesive bloc, new poll reveals (POLITICO)
Sep. 2021 How Joe Biden’s Green Agenda Threatens the Alaskan Wilderness (POLITICO)
May 2021 George Floyd died one year ago. When does change = progress? (POLITICO)
Feb. 2021 31 people who could make or break Justin Trudeau's minority government (POLITICO)
Nikki Haley's Time for Choosing (POLITICO)
Jan. 2021 Here are the senators challenging Biden’s Electoral College win (POLITICO)
The Republicans who support Trump’s impeachment (POLITICO)
Here's how the House voted on Trump's second impeachment (POLITICO)
The 17 things Joe Biden did on Day One (POLITICO)
July 2020 California gears up for blockbuster year of ballot measures (POLITICO)
May 2020 What's safe to do during the pandemic? (POLITICO)
Ranking the global impact of the coronavirus pandemic, country by country (POLITICO)
Feb. 2020 Quiz: What makes a voter and a non-voter? (POLITICO)
How senators voted on Trump's impeachment (POLITICO)
Jan. 2020 Justin Trudeau's Ottawa (POLITICO)
Dec. 2019 Here's how the House voted on Trump's impeachment (POLITICO)
Oct. 2019 How to impeach a president (POLITICO)
June 2019 Five topics to watch for during the Democratic primary debates (POLITICO)
March 2019 How 12 court cases could challenge abortion access under Roe vs. Wade (POLITICO)
Feb. 2019 The 2019 State of the Union in 5 charts (POLITICO)
In Virginia, three of its most powerful politicians are entangled in controversy (POLITICO)
The key Republicans to watch on Trump’s national emergency (POLITICO)
Nov. 2018 The revolving door of Trump's Cabinet: Who's out next? (POLITICO)
Diversity among Asians divides them on affirmative action (Associated Press)
Oct. 2018 Kavanaugh cloture vote count: Here's how senators voted (POLITICO)
If there is a blue wave, women will drive it (POLITICO)
Sept. 2018 'Haha nope’: The many op-ed denials from Trump’s inside circle (POLITICO)
July 2018 Grief, hope over news that Emmett Till case reopened (Associated Press)
AP Exclusive: Billionaires fuel US charter schools movement (Associated Press)
In Senate, McConnell doing his part to remake judiciary (Associated Press)
June 2018 Smithsonian exhibit highlights mega star Oprah Winfrey (Associated Press)
April 2017 Save Our Programs (Asian Pacific Americans for Action)