I grew up in the suburbs of Philadelphia and attended college in western Pennsylvania. I graduated from Indiana University of Pennsylvania in December 2009 with an Associate's degree in Accounting and a BA in Spanish with a minor in economics. After graduation I spent a little over a year in Santiago, Chile where I worked with at-risk children through a small NGO called VE Global.
Upon returning home, I had lunch with a friend from high school who was getting his PhD. in robotics at Penn. He showed me his lab and I was intrigued by the idea of building and programming robots. So I applied to the MCIT program to step towards a career in robotics. Before I had completed my first semester, I knew I had found my calling and that I'll be happy for the rest of my life as long as I'm coding and working on engaging projects that help myself and others.
I graduated with a Masters of Computer and Information Technology and a Masters of Computer Graphics and Game Technology in May 2016. I spent some time working for a haptics startup and then went back to Penn to help set up a virtual reality lab with some people for whom I had worked as a graduate student. Since 2017, I've been designing and programming VR experiments that serve as interventions, diagnostic tools, outcome measures, and vehicles for scientific exploration.
School of Engineering and Applied Science
Master of Computer and Information Technology
Master of Computer Graphics and Game Technology
May 2016 - (GPA 3.88)
Eberly College of Business Honors Program
Robert E Cook Honors College
Bachelor of Arts in Spanish
Associate's in Accounting
December 2009 - (GPA 3.42)
Around the world and around the bend.
My technology-relevant skills
Phantom Limb Pain VR
A series of VR games designed to treat phantom limb pain in lower limb amputees by providing visual and haptic feedback (similar to mirror box therapy). The games are controlled by an microcontroller hooked up to EMG sensors attached to quadriceps and hamstrings (for above the knee amputees) or with IMUs mounted on the legs (for below the knee amputees). Games include a mountain rappelling game, an office chair maze game (inspired by Sokoban), and a fully functional web browser. I gave an iTalk at Penn discussing the research that you can watch below.
COSY Image Processor
A GPU-accelerated computer vision library for android. It features real-time descriptor extraction, edge detection, antipode calculation, and line extraction.
(OpenGL ES 2.0, Java, C)
A WebGL engine created for my two-person real-time rendering class. It features forward and deferred rendering, cascading shadow maps, particle systems, post-processing effects such as depth of field, and smooth particle hydrodynamic fluid simulation. The real-time SPH simulation features screen space object detection and customizable physical properties
SPH demo video
A two-part homework assignment for my first graphics class. It started out with a room editor in which you can load up and transform objects in a scene graph (rendered with openGL). The second part of the assignment was a raytracer. I ended up getting a little carried away and added some features beyond the scope of the assignment, including a kd-tree built with surface area heuristics, refraction, area lighting, multi-threading, texture mapping, and anti-aliasing among other things.
(OpenGL 3.2, GLSL 1.5.0, C++)
Other Projects (pretty old)
Feel free to ask me about some of the other projects on which I've worked or for some source code samples.
A reproduction of the classic 1988 Amiga version of Tetris with a special, game-enhancing advanced mode!
Scratch Card game made for Android with small team for Thrive Gaming. Six mini games, a world map and meta game, and facebook integration.
Posture-monitoring device with three components: an arduino, an android, and a C server running middleware.
(Arduino, Java, C++)
I live in West Philadelphia with my wife and baby boy. We spend a whole lot of time at our community garden. I also enjoy ultimate frisbee, playing folk and blues guitar, traveling, coding, tinkering, computer and board games, reading, running, the banjo, chess, go, and tennis.