DATA STORIES & GRAPHICS
DATA STORIES & GRAPHICS
MY LIFE IN TURKISH SERIES
An interactive look at 79 turkish series I’ve watched, abandoned, rewatched and rated — and what they reveal about my viewing habits.
D3.js | JavaScript | HTML/CSS | Python | data analysis | scrollytelling
HOW SHIP TRAFFIC THROUGH THE BOSPHORUS HAS CHANGED
An analysis of two decades of vessel traffic through one of the world’s busiest waterways.
Python | pandas | JavaScript | scrollytelling | Mapbox | GeoJSON | D3.js
VISA REFUSAL RATES AROUND THE WORLD
An interactive look at how U.S. visa refusal rates vary across countries.
D3.js | JavaScript | HTML/CSS | CSV | data visualization
FLORIDA RESTAURANT INSPECTIONS
An analysis of restaurant inspection data across Florida.
Python | pandas | data cleaning | data analysis & visualization
HOW TREES CAN CHANGE THE HEAT WE FEEL
An animated graphic comparing how two streets experience the same summer heat — one with tree cover and one without.
SVG | JavaScript | CSS animation | Scrollama | scrollytelling
THE DEAD SEA IS SHRINKING
Satellite imagery reveals how the shoreline has retreated over time.
satellite imagery | JavaScript | HTML/CSS | image comparison | geospatial analysis
WHAT IS THE MIDDLE EAST, EXACTLY?
Interactive data story comparing how seven institutions define the Middle East — and where those definitions overlap or diverge.
R | QGIS | D3.js | scrollytelling | HTML | CSS | JavaScript
WORDS THAT TRAVELED
An interactive exploration of how words moved across Arabic, Turkish and Spanish — and how their forms changed along the way.
D3.js | JavaScript | HTML/CSS | Python | pandas | data analysis | scrollytelling
WHERE IS THE ANCIENT MIDDLE EAST?
An interactive look at what museum records reveal about where ancient objects came from — and how they arrived.
D3.js | JavaScript | HTML/CSS | Python | pandas | data analysis | scrollytelling