Skip to main content
Back to ProjectsD3.js • Data Viz • Accessibility • JavaScript

Utah Digital Newspapers Visualization Platform

2023 · 3 months · Graduate Course Project

An interactive data visualization dashboard for exploring Utah's historical newspaper archives.

Overview

UDN Visualizations was an interactive web-based dashboard designed to help users explore patterns within the Utah Digital Newspapers (UDN) archive. At the time of the project, the Marriott Library had digitized and published over 36 million newspaper pages dating back to 1858, creating a rich but unwieldy historical dataset.

Using OCR text, publication metadata, and geographic data in GeoJSON format, our team transformed this archive into a set of interactive visualizations that made it possible to explore where newspapers were published, how long publications persisted, what topics appeared over time, and how language usage evolved across regions and decades.

The Problem

While the UDN archive contains an extraordinary amount of historical data, most access was limited to traditional keyword-based search. This made it difficult for students and researchers to identify high-level trends, regional patterns, or longitudinal changes without extensive manual exploration.

Our challenge was to design an exploratory, visual interface that allowed non-expert users to investigate geographic, temporal, and textual patterns in the archive—without requiring specialized data analysis or GIS expertise.

The Solution

We built a browser-based visualization dashboard using JavaScript and D3.js. I was primarily responsible for designing and implementing the interactive map and timeline components, enabling users to filter newspapers by geography and time range and immediately see how publication activity changed.

I also led much of the data preparation work, cleaning and preprocessing OCR text and metadata to make the dataset suitable for visualization. The final system supported views including geographic maps, publication timelines, and word-frequency comparisons that updated dynamically based on user selections. Geographic data was rendered using GeoJSON, allowing us to accurately represent historical publication locations.

Execution & Iteration

Because the dataset was large and heterogeneous, much of the work involved iterative refinement—both technically and in terms of interaction design. Early versions of the dashboard surfaced performance bottlenecks and visual clutter, especially when rendering dense geographic and temporal views.

Through repeated testing and refinement, we adjusted visual encodings, introduced filtering constraints, and restructured data loading to improve responsiveness and clarity. These iterations helped ensure that users could meaningfully explore patterns without being overwhelmed by the scale of the archive.

Constraints & Tradeoffs

This project was completed as a graduate course assignment, which imposed constraints on scope and timeline. Rather than attempting exhaustive coverage of the archive, we focused on designing flexible visual tools that could reveal meaningful patterns from subsets of the data.

We also made deliberate tradeoffs between visual richness and performance. For example, certain aggregation strategies were chosen to maintain interactivity when working with millions of records. These constraints shaped both the technical architecture and the interaction design, reinforcing the importance of prioritizing usability over exhaustive detail.

Impact & Results

The project gave students and instructors a new way to explore the UDN archive beyond keyword search, making historical trends and regional patterns immediately visible. It was selected by course staff as one of the top projects in the class, recognizing both its technical execution and its value as a digital humanities tool.

The finished dashboard was deployed publicly via GitHub Pages, demonstrating how large, complex archival datasets can be made approachable through thoughtful visualization and interaction design.

Key Takeaways

This project deepened my experience with D3.js and interactive data visualization, particularly in working with large, messy real-world datasets. I gained hands-on experience designing visual encodings, coordinating multiple interactive views, and balancing performance with usability.

Working on a small team also strengthened my collaboration skills, from dividing technical ownership to integrating independently developed components into a cohesive system.