WebGL

In Memoriam: COVID in New Jersey

Three.js, RTF, Data sonification This story use every dot to represent one Covid death in N.J. We sonified the data and connect the music with visuals. Users can interact and reveal who the dots represent.

Americans Up and Moved During the Pandemic. Here’s Where They Went.

Three.js, Shader, D3.js We represent Americans' moving with flowing particles. We highlight cities with mass population migrations.

Growing urban areas were supposed to save the Democrats. Here's why they won't.

Three.js, RTF   I built the population flow chart to explain why Democrats cannot benefit from the growing urban areas.

Where Did the Biggest PPP Loans Go?

D3.js, regl.js  Many of the businesses who received taxpayer-backed loans of $1 million or more got their loans approved in the first month

The South is Trump's to Lose. It Might Come Down to Rural Turnout

Three.js Layered maps shows how party affiliation is connected with ethnicity in Peach County, G.A.

Let's take a trip around the earth

Three.js A 3-D view of the solar system shows how small and precious the Earth is.

Explore 17,354 officers who used force in N.J.

Three.js Each dot represents one officer who used force in New Jersey from 2012 through 2016. This data viz provides users the power to interrogate every officer.

Data visualization and Interactive

What we found when analyzing 1,000 viral TikToks on #abortion

D3.js React Python  I scraped TikTok data, analyzed it, talked with social media experts and created data visualization.

Breastfeeding isn’t ‘free.’ Here’s what it cost me.

D3.js React Python  I built the data viz with Columnist's personal data and created a calculator for readers to estimate the hidden cost of breastfeeding.

How Trump and Biden Can Each Get to 270

D3.js  How each of the battlegrounds factors into both presidential candidates’ routes to 270 electoral votes

Some Forecasts See Virus Upswing for States That Resisted Shutdown Measures

D3.js  Projections of hospitalizations and deaths have improved the most in states with aggressive stay-at-home orders and other restrictions

11 months, 1 president, 2471 tweets

D3.js, sentiment.js  The sentiment analysis shows President Trump use more positive words when he mentioned Fox News, more negative words when he mentioned The New York Times.

The best town in N.J. ... for you!

D3.js, TweenMax.js  Click on 3-5 categories to narrow down what towns are the best fit for you.

Multimedia and animation

What would you do? Take an immigrant’s journey.

Javascript  Here are eight immigrant stories, told through composite characters but based on real laws and historically documented scenarios.

The elephant who lived

D3.js, video scrollytelling One elephant’s incredible rescue from slaughter and unforgettable journey to peace

Boston. Racism. Image. Reality.

D3.js, leaflet.js  Taking on​ the ​racial series with the Spotlight team ​has to be one of the most challenging assignments, but we managed to tell the story with humanity.

More countries are taking Americans hostage.The U.S. is losing its ability to stop it.

Developer & Designer A data-driven opinion for The Washington Post

Your brain vs. artificial intelligence

d3.js Auto-fill. Face recognition. The perfect playlist. Are you smarter than AI?

How a small terrier found adventure in Milton

fullpage.js, photo illustration   One day, in the friendly little town of Milton, a mysterious visitor arrived out of the blue. No one could say where, exactly, the little dog had come from. But before long, they began spotting it all over town...

The Trump Tapes: 20 interviews that show why he is an unparalleled danger

React  I used React intersection observer to detect when elements come into views and highlight sentences by tracking where is playing.

How 1 million covid deaths compares to other tragedies in U.S. history

D3.js   Blender   I created the visuals with Blender and Photoshop. We want to compare the tragedies in scale as well as bring humanity to dots.

You can help the planet. Start in your backyard.

D3.js React  I added an invisible SVG path and used D3.js to control the butterfly flying animation.

2021 Olympics schedule, day by day

React, Next.js  I used React to build the Olympics schedule page. I encountered and fixed multiple dynamic loading issues caused by Next.js.

What’s your chance of winning $1m

Javascript  The odd is one in four million. But how large is that?

Words of 2017

D3.js  Words of the year from Boston Globe's Ideas section. It was designed, developed and deployed by myself. The print version was also inspired by the digital design.

How white are the Oscars?

D3.js  For another year, Halle Berry will still be the only woman of color who has won Best Leading Actress since 1928.

A new identity beyond he and she

Personal project  The fight over pronouns is only part of the struggle for non-binary transgender people. It was written, shot, designed and developed by myself.

Maps

Where America Is Staying Home

D3.js States that have enacted stay-at-home orders have generally seen the greatest reduction in residents’ average daily travel.

How Politics Has Pulled the Country in Different Directions

D3.js  The 2020 election results are just the latest indicator of how Americans have been drifting apart for decades

This is gerrymandering at its worst. It doesn't have to be this way

D3.js   R  QGIS 
The biggest challenge for me is to balance D3.js projection and R projection so that each precinct can be properly drawn on the map.

The website visualize everything in the book 'Gossamer Network'

Leaflet.js   D3.js  QGIS 
I did some of the data analysis and all the design and development of the website and created visual representation of a complicated dataset.