Recent Dev Work

BombBomb Dashboard


A new dashboard for users to easily record and send video emails or track their customer statistics from, including integration with the BombBomb chrome livefire extension and the BombBomb API. I was the primary developer of a team of three who worked on this new interface for the site, and my focus was on the reactjs build and the prelimiary scss.


Magento 2.0
jQuery UI

A community edition Magento 2 implementation for selling pool supplies to customers. The site includes multiple custom module builds developed by me, including a dynamicly generated bestselling landing category page and a custom theme. I was one of many developers who worked on this site, and my focus during this build was largely on frontend programming and theme-building.

The Gazette

Google Maps API
jQuery UI
Bootstrap 3

A hybrid in-house news management and content delivery system, providing real time news at the same time as CMS features for content editors. The site includes multiple scripts such as crawlers, CDN and cache-busting content delivery, entire pages and content-types such as gallery lists, that I've written. I was one of many developers who worked on this site, but since I joined the team the pages and controllers I have worked on have seen an average two fold increase in traffic (newsletters, gallery lists, articles, etc).


Laravel 5
Bootstrap 3
jQuery UI

A subscription management system, meant to consolidate capabilities of several other systems and improve user experience. It features programming such as authentication and permission layers, language variable usage, and a fully responsive design built from scratch. I was the sole developer and designer for this project, and built it from the ground up for automated integration with multiple external third party vendor and API-based systems (Braintree, Newscycle Systems etc).

Out There Colorado

Google Maps API

A site for outdoor enthusiests. Includes interactive map filtering, an API and app shell, and multiple data-management and SEO optimization techniques. I was one of 2 developers on this project, and I build out the interactive map (backend and front end) views and a good chunk of the schema as well. This is actually the third incarnation of this site I have built, the last of which saw a 2-3x increase in traffic from the year before.

Colorado Real Estate Journal

Wordpress 4.6
Bootstrap 3
jQuery UI

A site for indexing local businesses. Includes a custom php backend architecture and custom plugins. I was the sole developer for this project with the aid of 1 designer, completed on a 1 month deadline.

Diplomacy Global Strategy

Phpbb 3.0
Photoshop CS3

A modern risk-clone for educational purposes. Includes custom built mods, theme, and elements like a fully interactive image map drawn by me. I worked alone as the lead developer and designer for this project


Wordpress 4.6
Bootstrap 3
jQuery UI

A site for multiple generations to experience group activities. I was one of two developers for this project.

Starry Night Competition

Bootstrap 4
Wordpress 4.6
jQuery UI

A site promoting a competitive event between painters. Includes a custom php backend architecture and custom design. I was the sole developer for this project, completed in one month.

Personal Pet Projects



A 3-D puzzle-solving game where the player can unlock portals to reach new worlds with new puzzles. I was one of four developers for this project, completed in a weekend for Global Game Jam 2018. Click here to play.



A top-down open world adventure style RPG game I've been working on for a couple years, click here to see the current splash page. The game is made on a custom game engine I built, and it will be cross-console, device, and browser playable, with a custom OST and art as well.

Wave Escape


This was a 2-D arcade style game made for Global Game Jam 2017, where I was on a team with a total of three developers. A color-based puzzle retro style maze game, you must react quickly to navigate the labyrinth and avoid being consumed by the roaming black hole, and survive until the timer runs out. Click here to play.

Raspberry Pi Smarthome

AWS Lambda
AWS Alexa Skills

This pet project was a personal goal I set of getting my Echo Dot to connect to my LAN safely, where I could then connect to my raspberry pi and build API connections to Philips Hue, Vizio Smartcast TV API, and more. It was successfully, you can watch the video here or read about the process on the blog page.


Phpbb 3.1
jQuery UI

An avatar and pet gaming site originally known as Eos Online and later retitled to Esmaerin. I was the sole developer, designer, pixellist, and administrator for this site for 4 years. Everything from an interactive battling system, a genetic algorithm for pet breeding, and five-tier multidimensional object-array manipulation was created for this site. More than 10,000 pixel items were drawn by me, along with half a dozen background-sized images and art for every page and a multi-style system that allowed users to change the overall site css and color scheme separately. A promotion video displaying the features is available below: AVI MP4 WMV


Wordpress 4.6
jQuery UI
Bootstrap 4

A site providing aggregated resources to scientific and businesses. Includes a custom design and logo made by me, along with all of the frontend search, sort and map capabilities. I was the frontend developer and designer for this project, completed in 3 days for the GoCode Colorado 2015 event. I continued on as a finalist with another team on a different project that year, and I was also a participant in GoCode 2014.

Dev Code Samples


Return image information based on multiple input and options types.

function return_img_info($layer_id, $item_id, $mode = 'default'){


foreach ($layer_id->item as $item){

$filename = $item . '-' . $item_id . '.png';

$layer_id = $item;


}else if (is_array($layer_id)){

foreach ($layer_id as $value){

$filename = $value . '-' . $item_id . '.png';

$layer_id = $value;



$filename = $layer_id . '-' . $item_id . '.png';


$dirs = __DIR__ . 'images';

switch ($mode){

case 'entire':

return $dirs . '/' . $filename;


case 'filename':

return $filename;


case 'dirs':

return $dirs;


case 'default';

return $filename;





From a pet battling and breeding game

SELECT p.pets_id, p.description, p.species, p.level_speed, p.max_hp, p.evolution, u.*, s.color

FROM pets p

LEFT JOIN users u

ON p.pets_id = u.pets_id


ON s.item_id = u.pets_id

WHERE u.pets_id is not null

AND u.pets_user_id = ' . (int) $user_id . '

ORDER BY p.pets_id DESC;


Building an object to store DOM elements for use in later functions

var locations = Array();


var obj = {},e = $(e), attrs = e[0].attributes;

for (var i in attrs) {

if (attrs[i].name && attrs[i].name.match(/^data-/)) {

obj[attrs[i].name] = attrs [i].value;



obj.nn = $(this).html();

obj.__instance = e;




Google Maps click function for centering and zooming on a point.

map = new google.maps.Map(document.getElementById('map'), mapOptions);'click', function(event) {

var index_val = event.feature.getProperty("NAME");

var html_content = state_data[index_val];

var infobox_pos = (event.feature.getProperty("CENTER")).split(":");

var myLatLng = {lat: parseInt(infobox_pos[0]), lng: parseInt(infobox_pos[1])};


' + html_content + '


infowindow.setOptions({pixelOffset: new google.maps.Size(0,-30)});;



Grab GeoJSON data and return it


url: 'filepath.php',

async: false,

dataType: 'json',

success: function (json) {;





Moves a character in the direction of the button pressed and allows interaction with nearby objects.

void Update () {

body.AddForce(new Vector2(Input.GetAxis("Horizontal") * speed,Input.GetAxis("Vertical") * speed));

if (Input.GetKeyDown(KeyCode.Space) && actionAllowed) {

lastActionTime = Time.time;

actionAllowed = false;



if (Time.time > lastActionTime + actionCooldown && !actionAllowed) {

actionAllowed = true;

playerAnimator.runtimeAnimatorController = null;

playerHeadSpriteRenderer.sprite = neutralFace;

playerSpriteRenderer.sprite = neutralBody;