Clients
Personal
Description
This project analyzed the most destructive natural disasters in the United States from 1980 to 2024, using data from the NOAA National Centers for Environmental Information (NCEI). The dataset included disaster type, economic damages, and number of deaths. My main motivation was to explore whether disasters are changing over time, which types cause the most harm, and whether damages correlate with human casualties. What struck me early was that this dataset is event-driven. Unlike economic indicators that fluctuate continuously, natural disasters either happen or do not. When they occur, they can cause extreme impacts, but many years have relatively little activity. This realization shaped my approach: rather than focusing on smooth trends, I had to focus on frequencies, distributions, and outliers. I began with exploratory data analysis using Arquero.js and Plot.js, producing histograms, scatter plots, and line charts. From there, I transitioned into storytelling with D3.js. I created violin charts to show the skewed distributions of damages and deaths, which revealed that while most disasters are small, a few “super disasters” dominate. A Sankey diagram illustrated how disaster types shifted over decades, highlighting the rise of tropical cyclones. Finally, an animated lollipop chart compared damages and deaths simultaneously, showing that financial damage and human loss are not necessarily correlated. To frame the project, I also built a creative introduction sequence using TweenMax.js, combining imagery and animation to set the emotional stage before diving into the analysis.
Impact
The project revealed clear insights: tropical cyclones have increased significantly in frequency, and damages and deaths are not strongly correlated. It also served as a full example of the visualisation process—from EDA to polished storytelling—and demonstrated how design and interactivity can be used to make complex data both informative and engaging.
Year
2024 updated 2025
Tools
HTML, CSS, JS, d3.js, GSAP, arquero.js, plot.js
Challenge
One of the major challenges was structuring the narrative flow. Since I did not use scrollytelling but a sequence of pages, I had to carefully plan how users would move from one visualisation to the next without losing the thread of the story. Another challenge was the small details of interactivity—buttons, annotations, hover states—all of which required much more time and iteration than expected. Additionally, I had to grapple with the outlier-driven nature of the data. Some disasters were so extreme that they threatened to dominate charts, making it difficult to fairly represent the distribution.
Learning
I learned how to work with event-driven data, which behaves differently from continuous series. Aggregation choices became critical, as only by looking at patterns by decade could I detect shifts like the rise of tropical cyclones. I also deepened my skills with Arquero and Plot.js for fast exploratory analysis, and refined my D3.js abilities with custom violin, Sankey, and lollipop visualisations. Another important learning was how to use animation as narrative. The lollipop chart, animated to reveal progression, demonstrated how movement can clarify relationships between variables. Lastly, designing the creative introduction taught me about combining visual storytelling with emotional design to make a project both analytical and memorable.
Topics
Natural disasters, NOAA NCE, distribution, violin charts, sankey diagrams, lollipop charts, outliers, storytelling, hurricanes
