RiftPDB (*Defunct*)

Link to website

(Nightly Version of Firefox and Oculus Rift Required)

Starting as a final project for my web development course, RiftPDB is a web-based molecule viewer built for the Oculus Rift Virtual Reality Headset.

The goal of RiftPDB is to allow users to type in a Protein Data Bank (PDB) code and immediately view the 3D representation of the molecule within the browser using the Oculus Rift. Built using the Three.js WebGL library, this was the first web-based molecule viewer that uses positional tracking and allows the user to look around the molecule in a virtual space (rather than just applying a view transform to a 2D scene)


Caterpillars Count! Navigation Map

Caterpillars Count!

Link to website

Caterpillars Count! is a project led by Allen Hurlbert of the Department of Biology.
During my senior year as an undergrad, I led the team that developed the web front-end and data visualization tools.

Caterpillars Count! is a crowdsourced data collecting project with the goal of giving both researchers and citizen scientists the ability to share arthropod surveys and sightings through a widely accessible online database. Using the android app, users can enter arthropod sightings from a registered survey site directly into our database. The project is intended for educational use, teaching students (12 yr and up) ecology research methods along with how data analysis and visualization tools can be used to abstract information from a large dataset.


VR Data Analysis

VR Genome Mining

From working on RiftPDB, I became interested in 3D data visualizations and applications of navigating data in virtual space. Specifically, in regards to exploratory genomic research.

While 2D data visualizations will always be the primary form of communicating data abstractions and summaries, the emergence of "big data" has called for new means of exploring and processing these datasets. Network graphs in particular are a prime example of how visualizing these datasets in 2D can quickly become cluttered and uninterpretable. I am currently investigating using Pathgl in combination with Three.js to bind gene data to a virtual space and create interactable VR data visualizations.