An interactive data visualization that takes a city from user input and loads a corresponding weather scene using the temperature, conditions, and wind speed. Two view options reflect more and less abstracted representations.
2024
TouchDesigner
Python
TouchDesigner
Python
[Read more]
This interactive visualization of air quality in Pittsburgh is part of an assignment for my data visualization course this semester. I’ll be updating this page throughout the semester, but the most recent version can always be accessed via GitHub.
2025
Svelte
D3.js
HTML + CSS
Mapbox
Svelte
D3.js
HTML + CSS
Mapbox
[Read more]
[View it on the web]
This animation explores a more art-centric approach to representing the smell report data shown on the map in the project above, using each report as a puff of smoke.
2025
Svelte
D3.js
HTML + CSS
Svelte
D3.js
HTML + CSS
An animated graphic of the history of speed climbing records on The Nose in Yosemite Valley. Made for my first project using Flourish.
2025
Flourish
Flourish
[Read more]
[View it on the web]
A cartographic exploration into representations of vertical distance and space. The data represents the total vertical distance climbed at the New River Gorge National Park in 2024, as logged on 8a.nu.
2025
ArcGIS
Houdini
Airtable
ArcGIS
Houdini
Airtable
[Read more]
Using ProPublica’s methods for studying segregation academies in Alabama, I found and mapped segregation academies in Mississippi and their nearby public counterparts.
2024
DataWrapper
DataWrapper
[Read more]
A data project that investigates the historical pattern of rock climbers who’ve logged ascents of the route Proper Soul at the New River Gorge National Park.
2024
D3.js
Photoshop
Airtable
D3.js
Photoshop
Airtable
[Read more]
A data sketch built in Figma that I created to prototype a UNC sports history dashboard. I hope to return to this project later this semester to build with D3.
2025
Figma
Figma
[Read more]
A note on AI
None of the work on this site is AI-generated or “vibe-coded.” While I am curious about the future of how artificial intelligence may augment journalistic work--and particularly how it is already transforming the practice of creative coding--I do not use these tools to create my personal projects in an effort to learn as much as possible through making mistakes and experimenting in other ways. The only use of AI present in my work here is the use of Claude for limited debugging when working with D3.
An interactive digital snowboarding experience controlled with the Adafruit Circuit Playground microcontroller.
2024
TouchDesigner
CircuitPython
Adafruit Circuit Playground
TouchDesigner
CircuitPython
Adafruit Circuit Playground
A physical-digital-physical experimental loop starting with a 3D model of a banana captured through photogrammetry, turned into a series of banana-phone shape grammars modeled in Houdini, and finally 3D printed and exhibited.
2024
photogrammetry (MetaShape)
Houdini
3D printing
Photoshop
photogrammetry (MetaShape)
Houdini
3D printing
Photoshop
A mixed media story about coal mining and outdoor recreation in West Virginia using archival and “found” footage, projection-mapped onto a 3D object as per class requirements.
2024
TouchDesigner
TouchDesigner
A 3D model and rendering of an imagined rock climbing exhibit. The model includes both public assets and objects I built in SketchUp. I would love to revisit this software for experiments in 3D reconstruction.
2024
SketchUp
Adobe Substance Stager
SketchUp
Adobe Substance Stager
An introductory video for the homepage of my blog, filmed on a Panasonic camcorder and edited to resemble the interface of said camcorder.
2024
Photoshop
Final Cut Pro
Photoshop
Final Cut Pro
Brand design for my climbing blog, climbPraxis, including a 3D climbing hold logo.
2024
Photoshop
Final Cut Pro
Photoshop
Final Cut Pro
This poster was designed for The Boulder Garden’s inaugural back-to-school bouldering competition.
2025
Photoshop
Photoshop
An infographic I created to accompany an experimental routesetting design at The Boulder Garden. This was displayed throughout the gym to help gym members navigate the new grading system.
2025
Photoshop
Photoshop