Welcome to Alex Miller

Games and Graphics Programmer


About Me

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.


University of Pennsylvania

School of Engineering and Applied Science

Master of Computer and Information Technology

Master of Computer Graphics and Game Technology

May 2016 - (GPA 3.88)

Learn more

Indiana University of Pennsylvania

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)

Learn more

Work Experience

Around the world and around the bend.

  • UPenn
    2015 - Present

    University of Pennsylvania

    Started as part-time research assistant, now I run a little VR lab
  • Tactai
    Summer 2007


    Developed software for haptic feedback device prototype
  • Cognitive Operational Systems
    June 2014 - present

    Cognitive Operational Systems

    Accelerating image feature detection with GPU
  • Thrive
    May 2013 - August 2013

    Thrive Gaming
    Engineering Intern

    Project Manager and Lead Developer on Android Game


My technology-relevant skills

Game Engines /
Dev Environments

Visual Studio

Programming Languages


Spoken Languages


Graduate School

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.
(Unity, C#, C, JavaScript)

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)

  • Input image from camera with matched features marked by red dots

  • Visualization of image gradients

  • Edges

  • Lines extracted with a Hough Transform

SEC3 Engine

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
(WebGL, JavaScript)

  • Cascading shadow maps

  • Depth of field

  • Particle system

  • SPH simulation

My Raytracer

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++)

  • Four spheres with varying reflective and refractive attributes

  • Stanford Dragon with coloring determined by surface normals

  • Stanford Dragon on a semi-reflective marble-textured floor

  • A visualization of the kd tree built to render the two dragon images

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!

(Unity, C#)
Source Code

The Miner Key

This is a Tetris-Like Side-Scroller I made with Swing after I finished my first programming course.


Jar file
Source Code

Scratch On!

Scratch Card game made for Android with small team for Thrive Gaming. Six mini games, a world map and meta game, and facebook integration.

(AndEngine, Java)

Posture Pal

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.