Computer Science



Part Number Management Software

The company I work for has grown dramatically in the two years I have been working here.  So the one engineer and one CAD employee quickly grew to a team of five people all interacting with the same CAD database.  After building an old version of a spray booth because the file wasn't named correctly, we quickly decided we needed some sort of CAD management software to avoid this problem in the future.  Since there is not much on the market for small engineering teams, I rolled my own and Part-O-Matic 2000 was born.  We now have a completely functional CAD reference database that keeps track of revision numbers, suppliers, material costs, and much more.

Part Tracking

One of our medium size customers quickly became one of our largest customers so we had to re-evaluate how we kept track of their parts.  What was once done on multiple pieces of paper for one round of parts is now done completely on the computer.  I developed a software which uses bar X and R charts to monitor production and predict future failures.  This software allows us to closely and quickly monitor parts which used to all be done by hand and therefore much more prone to errors.  


Published Works

Don't Forget It

I've been developing mobile apps since I was an undergrad and have loved doing it ever since.  Most of what I develop has been small apps just for my personal use but this one I wanted to publish.  Don't Forget It is s a quick, reliable, and efficient way to log those little tasks that come up throughout the day that you don't have a lot of time to focus in that moment.  It came to me out of necessity.  At my job as a mechanical engineer, I essentially have three bosses from three different departments.  So when one of them calls me asking for something and I'm working on something completely different for someone else, it's easy to lose the details of the often quick phone call.  With this app, I can take a few seconds to put in a quick reminder along with email or phone alerts and go back to the task at hand.  It's in the Google Play Store right now!



I learned a lot of what I know about Android programming through watching YouTube tutorials and just sitting down and figuring out problems.  But I got frustrated going through hours and hours of tutorials and pulling out only minutes of useful information.  Using a couple programs I had already written, I put together a few sets of videos and published courses on Udemy, an online teaching platform.  Within a couple months I had over 1600 students viewing my courses.  I really enjoy doing it and I'm currently creating more.


Here is my long, sometimes frustrating but often rewarding road to learning software development


After writing a bunch of command line programs in school, I wanted to create something that was a little more fun.  I started experimenting with programming games as a way to better learn programming.  This was the first game I wrote where the player controls this character that resembles a light bulb and they go around shooting at killer blenders.  It was written in C++ with the Allegro library and looking back on it, I learned a whole lot from this little game.

Robot Game

After learning pointers and addresses in C++ and looking for easier solutions to creating games, I came upon the language of C#.  I learned that Microsoft released a framework called XNA Game Studio that allowed you to write games for the XBox.  I started getting much better at program organization, data structures, and general programming principles.  I learned several different algorithms like A* path finding for programming artificial intelligence and Separating Axis Theorem for recognizing on screen collisions.  I also created this neat particle engine that made some cool looking effects.

Getting more Advanced

Using XNA Game Studio and Windows Forms, I made my first program that was complete, and that I really impressed myself with.  It was a full out editor for creating tower defense games.  You could adjust every towers individual characteristics like shooting speeds, cost, animations, and all sorts of stuff.  Unfortunately, before I finished it, Microsoft discontinued their support on XNA Game Studio.  I did go on to finish the editor and make most of a tower defense game but I started to run into hangups and I eventually called the project done and moved on.  It's still fun to go back and play the game though.

Here are some of the past projects I have worked on.

Computer Science