Data Visualization

Exploring how data becomes a medium for understanding complex systems.

Overview

A collection of policy-oriented and computational visualization projects exploring how data can function as both a method of inquiry and a medium for communication. Spanning analytical workflows and generative visual systems to reveal social, behavioral, and spatial patterns.

Toolkit

Adobe CCD3.jsFigmaGrasshopperJupyter NotebookMapboxPandasPythonRRhino 3D

My roles

Visual design · Interaction design · Research synthesis

Duration

Project One: 4 weeks (January 2026) Project Two: 6 weeks (September 2025)

Mapping California’s Solar Divide

This project investigates whether public subsidies targeted toward low-income households actually resulted in increased solar adoption. Instead of relying on statewide statistics, the analysis examines patterns at the ZIP code level, allowing neighborhood-level disparities to surface.

The project reveals where policy incentives succeeded, where they failed, and where unexpected patterns emerged.

Data visualization context

Parametric Spatial Visualization

This project explores how everyday consumption data can be translated into spatial form. Using Grasshopper, I built a parametric system that converts behavioral datasets into dynamic landscapes, revealing patterns in how individuals and communities consume resources.

How I Work: Data to Visual System

Data visualization workflow

Project One

California’s Solar Subsidies

Does increased subsidy funding consistently lead to higher solar adoption in low-income ZIP codes?

Research Question

The project began with a simple policy assumption:

If California invests more funding into solar subsidies for low-income communities, solar adoption in those neighborhoods should increase.

However, statewide averages often mask local variation. To better understand the effectiveness of these programs, I focused on neighborhood-level patterns.

01

Raw Data Collection

Using two independent datasets: solar installation records and public subsidy program data, both aggregated at the ZIP code level to approximate neighborhood-scale policy impacts.

Ideas development: sketches and data preparation
02

Cleaning & Consolidating

Because the datasets originated from different sources, I used Python (Pandas and NumPy) to clean and consolidate the data. This process ensured that the data could be reliably compared across multiple years and geographic areas.

Ideas development: sketches and data preparation
03

Exploratory Data Analysis

I examined the relationship between solar subsidies and adoption across ZIP codes. The results suggested that financial incentives alone may not fully explain solar adoption patterns.

Ideas development: sketches and data preparation
04

Outliers and Patterns

To better understand where the system behaved differently, I identified clusters and outlier communities where adoption patterns diverged from expectations.

Ideas development: sketches and data preparation
05

Visualization

The final step translated these analytical insights into interactive visualizations. I used D3.js to create a visualization of the data. On the right is the first iteration of the visualization.

Ideas development: sketches and data preparation

Final Data Visualization

Link to live visualization →

Explore the map by county and metric, or follow the analysis where outliers tell the real story.

Explore ZIP codes · Compare subsidy vs adoption · Explore Data Analysis

Project Two

Parametric Spatial Visualization

Can data variation directly drive formal variation, and if so, what spatial systems emerge?

Research Question

The project begins with a conceptual question:

What if the invisible patterns of everyday consumption could be visualized as landscapes?

Modern societies generate enormous amounts of behavioral data—from energy use to digital activity. However, these patterns are often difficult to perceive when represented through conventional statistical charts.

We explored an alternative approach: translating data directly into spatial systems, where variations in data produce variations in form.

Computational Visualization Process

01

Data Selection

The project draws on EU Online Activity Usage datasets as it captures thecollective behavior and variation across groups rather than any single metric. This provides us the layered input needed to drive a spatially responsive parametric system.

Ideas development: sketches and data preparation
02

Data Structuring

Each dataset was cleaned, normalized, and mapped to consistent numerical scales so that raw values could directly drive geometric behavior.

Ideas development: sketches and data preparation
03

Ethnographic Research & Literature Reviews

Grounding the project conceptually, we reviewed cognitive load studies and how information overload shapes behavior and experience.

Ethnographic Research process (GIF)
04

Design Ideation

We explored how geometry, density, scale, and distribution could be expressed as form. This stage defined the rules and logic later implemented computationally.

Sentiment Analysis ideation process (GIF)
05

Sentiment Analysis

This conceptual layer informed how data was translated into form, treating intensity and difference as design parameters.

Sentiment Analysis process (GIF)
06

Parametric and Computational Generation

Using Rhino and Grasshopper, I developed a parametric system where data directly controls geometric output.

View iterative process
Ideas development: sketches and data preparation
07

Visual Interpretation

The parametric models make the visualization a responsive system rather than a static representation.

Ideas development: sketches and data preparation

Final Data Visualization

Ideas development: sketches and data preparation

Project Impact

Humanify interface

Reveal

surface hidden patterns in complex datasets, making relationships and disparities visible at a more granular level.

Data Exploration

through interactive and computational systems that allow users to compare, filter, and investigate data.

Translate

abstract data into visual and spatial forms, expanding how information can be perceived and understood.

What I learned

Clarity over cleverness

Effective visualization is not about complexity, but about making patterns understandable.

Context shapes interpretation

The same dataset can tell different stories depending on framing, scale, and comparison.

Data can be distorted

This awareness informs how I approach both analytical visualizations and computational systems, ensuring that form does not distort meaning.

Data as systems

Visualization that expands beyond charts into spatial and generative expressions of information.