Projects Daniel Corcoran - Projects

Projects


AromaVerse - Senior Thesis Project

I worked on the AromaVerse as my senior thesis project alongside Alex Sahatjian and under the generous support of Givaudan.

My Advisors were Dr. Yong Xu and Dr. Jacob Farr.

The goal of this project was to create a virtual reality platform with aroma capabilities that will give users a novel and engaging way to experience, create and share aromatic experiences.

The AromaPlay headset synchronizes with the Oculus Quest 2 to dispense aromas.

Users could create their own coffee blend in the simulation, picking up the coffee cup to smell it.

We had a lot of fun designing this project for Givaudan.

Lunar Launcher


I programmed the first version of this game my freshman year as the final project in my intro to CS class. The first version was written in C++ using the openGL library.

I recently revisited it to re-write it in C#, and compiled it to a web app so you can play online.

Check it out at the link here.

SpectralFlow

While in my sophomore year I worked alongside Dr. Manasses Jora of Astrazenica to design an algorithm to detect and characterize known and unknown ribonucleoside modifications from LC-MS/MS data. The process of discovering these biological molecules was previously a very resource-intensive and manual process. We found an algorithm that would cluster the molecules in an unsupervised way, enabling us to detect with confidence molecules by constructing a reference library.

Screenshot of the clustering which allowed us to identify both known and unknown ribonucleosides. Interactive model available here.

We packaged our algorithm into a software called "SpectralFlow" and delivered it in the peer reviewed article Higher-Energy Collisional Dissociation Mass Spectral Networks for the Rapid, Semi-automated Characterization of Known and Unknown Ribonucleoside Modifications, published in ACS Analytical chemistry.

seeOS / Tree Camera

seeOS is an operating system for home security cameras that simplifies the deployment of edge computer vision models. The main feature was a web GUI where users could monitor their security system and a custom kernel that loads and unloads AI modules from the on-board processor. As part of this project I also engineered a custom camera system based on the google coral edge TPU, complete with a 3D printed enclosure and mounting system.
The project is available on github here

Screenshot of seeOS web interface where users can monitor and control the OS

Tree Camera, a camera system with an in-built AI processor for running computer vision models without a dedicated external processor

River Programming Language

I designed and implemented a esoteric programming language in an effort to learn more about language design and compiler design.

The language is composed of two parts. First, a bytecode system called "afex" which I originally designed in high school to run on the TI-83+ calculator. afex is similar to assembly in that it is a bytecode language with simple operations such as add, jmp, comparisons, etc.

The river programming language builds on the afex bytecode interpreter to add another layer of abstraction with variable declarations and complex arithmetic

(so a declaration like a + (b * c) = d can be broken into it's constituents via an abstract syntax tree, executed sequentially, the results are stored in pointers, etc).

I have included some simple programs with the web interface for you to test, but it's very primitive and doesn't have much functionality.

My ultimate goal is to render a mandelbrot set with this language. <

You can check it out via the GitHub Repository or use the Web Application.

Chaos Explorer

A CUDA-enabled fractal renderer created to learn parallel computing. It's rendered in C++ using the openGL library and supports zooming. One of the limitations is you can't zoom after a certain point due to limits on the precision of floating point numbers in CUDA. I'm sure there's a way around this but never got around to figuring it out.

Link to GitHub Repository