Exploring Mechatronics #
January 2026
See my Mechatronics page for on going details.
Staff Software Engineer with 15+ years of experience building and leading teams across fintech, healthcare, and platform engineering. Currently modernizing authentication and authorization systems at Altruist. Previously directed engineering in trading at Envestnet, building multi-threaded stock trading applications with FIX Protocol, and led DevOps and continuous delivery at Reed Elsevier (now RELX) for ClinicalKey.com on AWS.
Temple University BS in Information Science & Technology (Cum Laude), with a post-baccalaureate certificate in AI & Machine Learning from Drexel University. Recognized as a Future Leader by the Society for Information Management Philadelphia Chapter. Volunteer crew leader with Friends of Wissahickon since 2019.
Outside of work, I build things — from Unity game prototypes and Arduino-powered cold frame hinges to electric bikes with custom battery packs. Below is a collection of projects and work I've done over the years.
January 2026
See my Mechatronics page for on going details.
December 2025
June 2024
April 2020
The goal of this project is to create a powered hinge for a cold frame or green house that automatically opens and closes based on temperature. An arduino was used for the control board to read the temperature sensor and instruct the servo motors when to operate.
Parts Used:
Arduino Wiring Diagram
First prototype
3D Model of version 2
August 2019
Worlds are generated with multiple zones and levels inside. Each level is created using Cellular Automata techniques to generate the solid parts of the terrain. Levels are currently only rectangular in size, and each level has multiple paths/doors to other levels. These paths are created randomly within a tree like structure.
Level Creation Steps:
To ensure that all doors on the levels are accessible to the player, A Star path finding techniques are used after level boundaries are created and cellular automata logic is run. A Star is run between each pair of doors within a level, with weights on solid cells of the grid being very large, causing the path finding to travel through already opened areas created via the cellular automata. If a door is not accessible the path finding will remove solid cells to ensure accessibility.
Connected Component Labeling was used to ensure that all open/non solid areas of the level are accessible. Each connected open space is checked against its neighbors to ensure it is accessible by the player, path finding is then used to create a path if needed.
Enemy Behavior was created with a design pattern found in the book Programming Game AI by Example. This allowed each enemy to have emergent behavior based on various goals and conditions of the game world. Goals and actions included keeping rooms cleared of enemies, avoiding attacks, seeking out health, etc.
June 2019
Game concept: Starting with a base mothership that allows the player to create collector ships to collect resources. With these resources, ship attachments can be made including defensive systems, weapons, armor, fuel, batteries, etc. Ships are limited by the power generation, create a challenge to manage building out the ship, traveling to collect resources, firing weapons, and high speed assault maneuvers.
Techniques Used:
March 2019
Techniques Used:
February 2018
Built battery pack with 18650 cells in 14 serial 8 parallel configuration driving a Bafang mid drive kit.
February 2014
July 2012
Added Working Turrets that shoot. All entities have health, when they run out of health they are removed from the scene. Sounds are activated when the player or the turret shoots as well as on projectile impact.
July 2012
Added Simple Enemy AI and Zombies
July 2012
Game Test to demonstrate guns and shooting, enemy AI, collision detection, player movement, destructible and solid ground.
June 2012
Updated the level collision detection code to support two images, one image (bottom) that is actually rendered to make up the level, and the second image (top) that tells the collision block creation code what type of collidable object to make. Anything transparent is non-collidable, anything black is solid and can't be destroyed and anything red is collidable and can be destroyed.
June 2012
So I have been playing around with game development for a while. First I had alot of trouble picking a game engine and a language. For a while, I was doing alot of webdesign with PHP and mySQL, which isn't very similar to game development. Now I am currently working as a J2EE developer (JAVA and JSPs). I first started out playing around with Unity Game Engine which is very nice, but I'm the type of person that likes to know how everything works. Unity does a great job at allowing you to focus on the game and its content rather then the engine and architecture of how the game works. I then decided that I would use jMonkey Engine and create a 3d space shooter type game. This was going well, but I felt I was spending more time tweaking physics settings and 3D modeling then actually coding the game.
Recently I decided I would give Slick2d a try.
I am currently working on multiple aspects of this game, but the initial development was on creating levels. Slick2D supports levels created out of tiles that you can easily create with third party tools, but this only allows for very rigid levels. I decided that I wanted something more flexible. I finally decided that I wanted to be able to import a png image with transparent background. Anything opaque would be mapped as solid for the collision system. Below is the initial result.
June 2012
42inch LCD TV + 2 21inch LCD monitors
2 21inch LCD monitors + 17inch LCD monitor
June 2012
Online Auction Site for College Students. PHP/mySQL as well as AJAX for smooth operation. Created the Complete Design and Idea with 3 Partners. Made with Code Igniter.
June 2012
PHP/mySQL as well as AJAX for smooth operation. Created the Entire Design. Used by Temple University Web Development Team to manage updates and projects for the Fox School of Business and School of Tourism and Hospitality. Made with Code Igniter.
June 2012
PHP/mySQL as well as AJAX for smooth operation. Created the Entire Design. Used by Temple University to thank students. Made with Code Igniter.
June 2012
Uses PHP/mySQL with PHP admin back end to control items and updating.
June 2012
Standard PHP templates, with up to date CSS and table-less layout.
June 2012
Updating and PHP work. Upcoming Events PHP event list. mySQL server runs backend, with PHP admin pages. PHP and mySQL Student High School Voting System.
June 2012
Complete Redesign. Website followed strict W3C standards.
June 2004
I modded halo for PC under the name of Ang88, back when it first came out. I worked by myself for a while, was part of ClanX and then joined =EP and participated in the =EP map team. I created alot of maps, but unfortunately many of the sites are down now that have references to the material and maps I made, also, my harddrive died that had most of the files, so I have very little left of the very interesting work that I did.
One of the maps that was never finished but got alot of fame was the Ndugu map for Halo. I did alot of work on this, and had a great time making it, but sadly it was never finished because my team fell apart.
HaloMaps.org link, Video demonstrating map
River Blast Map: HaloMaps.org link