My skillset;

ux Created with Sketch.

UI/UX Development

Javascript, HTML5, CSS3, SASS, Compass, Less, Jade, Handlebars, Mustache, Liquid, Sightly, JSP/JSTL, Bootstrap, Foundation

appdev Created with Sketch.

Application Development

NodeJS, React/React Native, Angular, Backbone.JS, Redux, Flux, Ionic, Cordova, PhoneGap, ExpressJS, Unity, C#, MongoDB, PHP, MySQL

prototypes Created with Sketch.

Rapid Prototyping

UXPin, Sketch, Javascript/HTML5 Canvas, Unity

architecture Created with Sketch.

Project Architecture

Gulp, Grunt, NPM, Bower, Yeoman, Amazon AWS

cms Created with Sketch.

Content Management

AEM/CQ, WordPress, Magento, Drupal, Jekyll, Ghost

Development Practices

Git, Gitflow, Agile, Scrum, Kanban, jsDoc, phpDocumentor, Technical writing

Office Portal

Office Portal

App Development
  • JavaScript (server side and client side)
  • Angular
  • Ionic/Cordova
  • AEM
  • AEM Mobile
  • AWS
  • Java
  • CSS3
  • HTML5

A proof of concept connected office application implementing geofencing and interior user position calculation via bluetooth beacons, all encompassing the AWS Internet of Things infrastructure.

This project was an experimental proof of concept based around the idea of this mantra of the Internet of Things and Connected Experiences. Consisting of two parts, a mobile app and a dashboard, we utilized Amazon’s AWS infrastructure to connect not only the app and dashboard but also a full suite of low energy bluetooth beacons, user databases, external API’s, and an Amazon Echo. This allowed us to determine when a user had entered a specific room, display a personalized greeting/farewell message to that user, as well as other relevant information such as weather/traffic information, and coffee brew times.

I worked on both the app and the dashboard; including scaffolding out the user authentication on the app and connecting it with our external authentication lambdas, setting up deferred bluetooth listeners and state containers for the app, designing and implementing the dashboard within an AEM6 environment to keep things modularized and customizable, and creating and developing a Node.JS server on Amazon’s Elastic Beanstalk that served as a message broker from Amazon’s SNS messaging service to connected AEM dashboards via WebSockets.

I had an absolute blast working on this project and I found it incredibly interesting and exciting. The entire stack is fascinating and I could talk about it for hours. In fact, I spoke about it recently in Chicago along with two colleagues at the Circuit 2016 Developer Conference.

Food Lion

Food Lionhttp://foodlion.com

Front End Developer
  • Handlebars
  • JSP/JSTL
  • CSS3
  • Backbone.js
  • AEM 5.6

Rapid component and Backbone.js development for a full-scale AEM 5.6 implementation via a grunt-generated style guide.

This full-scale AEM 5.6 implementation was my first jump into the wild world of Adobe Experience Manager, a java-based enterprise content management solution. Sprints were quick and component development was extremely fast paced, from authorable multiple themed fully responsive banners to dynamic recipe lists to shopping list managers and even dynamically filterable/infinitely scrolling search apps. Most development was done in a custom grunt-generated style guide via Handlebars and Sass with Backbone.js providing the MVC dynamism necessary for the more complex web-apps. I learned a lot from this project, and the front end architecture was responsible for my interest and research into AEM front end implementation solutions that work for both front and back end developers.

AEMventure

AEMventurehttps://youtu.be/aTpPyNaSEPY

Lead Game Development
  • Unity
  • C#
  • Tiled
  • UI/UX

A unique supplementary conference experience meant to diminish the gap between a game world and real life, as well as promote attendee socialization/exploration.

AEMventure is a mobile game that was not only built for the 2016 Circuit developer conference, but had a story built around the conference and the subject matter of the conference to attempt to bring some real-world context to the game world. It’s a retro-styled top-down RPG where you play as a marketing manager who has gone to the conference with a dev team only to find they have been kidnapped. You then explore the conference for clues and fight bad guys using a turn-based battle system to save your dev team.

Built in the Unity game engine, all code for the game was written in C#. I lead the project and developed all of the core functionality of the game including gameplay mechanics, scene management, player progress management, UI/UX, as well as compiled sprite maps and built out the tile maps for each level. This was an incredibly fun project, and I definitely learned a lot from it.

Technical Writings

Technical Writingshttp://aesinv.com

Development, Authoring
  • Technical Writing
  • JavaScript
  • AEM
  • HTML5
  • CSS3

Open knowledge transfer is one of the coolest things about the development world. I thought it was time for me to give back to this amazing community by sharing my technical experiences to help inform and teach others.

Writing has always been a love of mine, so combining development with writing was an absolute slam dunk for me. When it comes to technical writing I try to present all of the required information in a technical and thorough way, while trying to maintain a very conversational tone and pace. Getting the right mixture of conversational and technical tonality winds up making long articles a little bit easier to read and understand, especially when there is some scattered humor to break up the technicality.

AWS Lambda Toolkit

AWS Lambda Toolkithttps://www.npmjs.com/package/aws-lambda-toolkit

Creator
  • Node.js

A small library of tools for easier node.js AWS Lambda development.

While working on the Office Portal project as well as a few other personal projects, I found AWS Lambda’s an incredibly useful resource but I found the actual development of said Lambda’s a very off-putting experience. You had two choices: use the provided in-browser editor and lose out on the entire node.js module ecosystem, or develop your lambda locally and have to bundle + zip + upload your code with every single change. No local testing, no easy deployment.

To fix this, I created a public node.js module that provided some basic yet key features to speed up Lambda development: local testing via an emulated production Amazon Lambda environment/wrapper and easy 1-step bundling + deployment. The library is built entirely in node.js and makes usage of a lot of the out of the box standard node.js modules to keep dependencies to a bare minimum. It provides a wonderful environment to develop lambdas in and plays nice with Gulp and NPM; allowing for a ton of freedom in terms of tooling.

You can learn more about the toolkit at the link above, or you can check out some of my YouTube videos on it as well as (coming soon) my talk at the 2016 Circuit developer conference.

Alamo Bowl

Alamo Bowlhttp://alamobowl.com

Full Stack Developer
  • JavaScript
  • HTML5
  • CSS3
  • WordPress
  • PHP
  • UXPin

Worked to redefine bowl game websites by trying to bring that larger-than-life game day experience right to the users device.

This full-scale AEM 5.6 implementation was my first jump into the wild world of Adobe Experience Manager, a java-based enterprise content management solution. Sprints were quick and component development was extremely fast paced, from authorable multiple themed fully responsive banners to dynamic recipe lists to shopping list managers and even dynamically filterable/infinitely scrolling search apps. Most development was done in a custom grunt-generated style guide via Handlebars and Sass with Backbone.js providing the MVC dynamism necessary for the more complex web-apps. I learned a lot from this project, and the front end architecture was responsible for my interest and research into AEM front end implementation solutions that work for both front and back end developers.