Recent Dev Work

BombBomb Dashboard

React.js
SCSS
Flexbox

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.

YourPoolHQ

Magento 2.0
jQuery UI
Flexbox
LESS

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
Flexbox
SCSS
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).

Circsy

Laravel 5
Bootstrap 3
jQuery UI
SCSS

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

SCSS
Flexbox
Google Maps API
Solr

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
Masonry
Photoshop CS3
TinyMCE

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

Intergenerations

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

Traveler06792

Unity

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.

Lasria

JQuery

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

Game.js
JQuery

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

Raspbian
AWS Lambda
AWS SQS
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.

Esmaerin

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

Ascend

Chart.js
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

PHP

Return image information based on multiple input and options types.


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

if(is_object($layer_id)){

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;

}

}else{

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

}

$dirs = __DIR__ . 'images';

switch ($mode){

case 'entire':

return $dirs . '/' . $filename;

break;

case 'filename':

return $filename;

break;

case 'dirs':

return $dirs;

break;

case 'default';

return $filename;

break;

}

}

SQL

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

INNER JOIN shop s

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;

JQuery

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


var locations = Array();

$('.location').each(function(i,e){

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;

locations.push(obj);

});

Javascript

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


map = new google.maps.Map(document.getElementById('map'), mapOptions);

map.data.addListener('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])};

infowindow.setContent('

' + html_content + '
');

infowindow.setPosition(myLatLng);

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

infowindow.open(map);

});

Ajax

Grab GeoJSON data and return it


$.ajax({

url: 'filepath.php',

async: false,

dataType: 'json',

success: function (json) {

data_obj.data.addGeoJson(json);

json_ary.push(json);

}

});

C#

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;

Interact();

}

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

actionAllowed = true;

playerAnimator.runtimeAnimatorController = null;

playerHeadSpriteRenderer.sprite = neutralFace;

playerSpriteRenderer.sprite = neutralBody;

}