Christopher J Keen
JavaScript Architect & Founder

I am an Atlanta Native. I have programmed a couple of (unreleased) video games using Impact.js with friends. I have a strong passion for JavaScript, and have presented several times at Atlanta JavaScript. I edited 'Data Visualizations with JavaScript' for NoStarch Press.
Keen Concepts
2014-04-08 - Ongoing
JavaScript Architect / Founder
Keen Concepts provides consulting solutions for complex JavaScript Applications. KC has consulted with startups in their launch phases, to established fortune one companies (Walmart Labs).
  • Vunify (http://www.vunify.com): Integrated Gulp, allowing our front end process to JSHint, Concat, Minify, run tests, and compile Less CSS. Karma + Jasmine 2.0 (jQuery+AJAX) ran our Unit Tests for our Backbone code. These tests were integrated into codeship.com for continuous deployment to production via Heroku
  • Vunify: Refactored existing Algolia interface via a Python abstract class which aggregates the response for Multi-Queries (cross-collections - in this case, programs, playlists, and 'channels') into a single HTTP response for search results.
  • Vunify: Created a series of User Playlist tools, via Backbone synced to MongoDB via Flask RESTful, including custom hero images via Heroku + Cloudinary.
  • Vunify: Utilized Backbone and D3 with Epoxy to create a real-time dashboard of user statistics.
  • Created an energy-usage geo-vis using Gulp, Karma, browserify, and Leaflet.
  • Walmart Labs: Extracted the Hapi server code to it's own repository, and included it in the CanJS stack and the Angular Proof of Concept for m.samsclub.com
  • fantasycoach.com: Refactored UI using Marionette JS. These modifications included UX and speed improvements. Load times improved by an order of magnitude.
  • Randstad USA: consulted on talent search intranet website written on a Google Compute MEAN stack. I added a custom single signon component with session management via Express
Walmart Labs
2015-04-08 - 2015-11-15
Sr Mobile Engineer / Node JS Team Lead
I worked for Walmart Labs - the leading e-commerce platform in the world. Labs provides open source solutions to complex problems.
  • Designed a Hapi JS plugin that aggregated API calls with server caching which withstood 4.3 million page views per hour for the Sam's Club VIP Sale.
  • Developed speech recognition prototype utilizing Angular 1.4.x, Babel, ES2015 and WebPack
  • Implemented a 'heartbeat' plugin that displays statistics including load, memory usage, current tag for each repo, API endpoints, and more that also serves as a means for the T2 load balancer to check that health of the node instance for a given VIP
  • Transitioned m.samsclub.com from a legacy Bentonville datacenter to OneOps - Walmart's soon to be open source OpenStack cloud computing platform
  • My team supported the Angular team's Cart and Checkout redesign for 2015 by serving / mutating desktop APIs into a format consumable by Angular
  • UI and Node JS efforts raised 0.02% conversion in February to 0.08% conversion by EOY
Thinkful.inc
2017-02-15 - Ongoing
Bootcamp Mentor
I meet with a student three times a week to help them with their full stack JavaScript bootcamp
    ZCo Holdings
    2015-11-15 - Ongoing
    UI / Node Architect
    Acesse bought a startup (www.fantasycoach.com) that my friends are I were rewriting on weekends in Backbone Marionette, and offered us full time employment
    • Co-Designed a Hapi JS Server that proxies to microservices (docker containers), as well as to Webpack Dev Server which serves React Components (modules)
    • Docker Swarm is utilized to manage the health of our microservices in AWS
    • Developed a React + Redux + react-router + react-bootstrap based site for entering E-Sports competitions (currently CS:GO), complete with ~300 unit tests. This site was fully internationalized (i18n) with the use of reat-globalize and deployed in Singapore
    • Utilized `faker` + `json-server` to write fake data services for use with rapid prototyping React + Redux apps
    The Creative Circus
    2015-09-15 - 2016-03-15
    Adjunct Professor
    I prepared the course material and taught JavaScript concepts to young professionals for two quarters
    • Advanced JavaScript - Inheritance, ES6, Design (Module) Patterns, TDD and more (https://github.com/zedd45/2016Q1-adv-js)
    • Node.js - How to build a server using Node JS and Hapi (https://github.com/zedd45/2015-fall-creative-circus)
    Travel Syndication Technologies (AAA)
    2013-07-02 - 2014-04-08
    UI Architecture Consultant
    TST provides dynamic travel booking and packaging solutions for AAA Clubs (and others)
    • Created a series of AMD JS components to manage things like client side error reporting relaying AJAX requests (via core javascript / no framework) to the Scala layer for processing & archival.
    • Configured SBT to allow for Grunt JS + Scala Play integration.
    • Switched Less & Require JS from Playframework / SBT to Grunt management, allowing us to remove Rhino and thus decrease compile times by an order of magnitude. Additionally removed hard-coded version dependency for less in playframework, allowing us to upgrade to BootStrap 3
    • Designed a Gruntfile that utilized Q (promises) to call npm install, then bower install, then a build target for each sub-project (via grunt-hub) in a reliable, race-condition-free manner. This allows local dev and the build process to use the same top level design for generating assets
    • Created a white label project that uses Grunt to ingest html components into a template, with commmands for validation, and pushing to GIT + Jenkins for automated deployments
    Infor
    2013-02-01 - 2013-07-02
    JavaScript Architecture Consultant
    I consulted on Infor Ming.le&#8482, a comprehensive platform for social collaboration, business process improvement, and contextual analytics. From collaborating alongside core systems like ERP or financials to “following” people and objects, Infor Ming.le&#8482 lets you get work done in ways you never thought possible.
    • I consulted on the architecture and implementation of a custom framework including jQuery plugins and page components for Infor Social (Ming.le) – a SSO platform used to create a single place to manage a company’s data across a suite of products
    • Engineered a Smart Dialog utilizing HTML5 contenteditable that populates a suggestion list on user input (autocomplete) for tagging users and groups within the organization. Interactions include 'tagging' a user (visual aesthetic inside of the contenteditable div), keyboard selection via arrow / enter keys. The component stores the tag to process notifications to tagged users & handles privacy levels for posts
    • HTML5 Bulk upload component, utilizing feature detection to instantiate Flash (Uploadify) fallback for browsers that don’t support File API
    • Overlay / Dialog component supporting dynamic content that ‘conditionally’ binds event listeners for re-centering and closing (upon close button click or esc key)
    • Infinite Scroll component with a custom callback feature to fire programmable actions when it detects user has reached the ‘end’ of the current content
    • Implemented namespacing conventions / file structure to reduce maintenance overhead ($.extend with detection to prevent ‘clobbering’ existing namespaces)
    • Added Mocha JS with Sinon JS & Chai JS to test plugin components and custom framework integration
    CrowdStrike
    2013-02-01 - 2012-04-01
    Sr. UI Engineer
    Real Time network intrusion detection and monitoring.
    • Authored an API to index data using Ruby Sinatra to respond with paginated JSON with DynamoDB integration, including a file processing queue using Amazon's SQS. I wrote a UI in Handlebars utilizing JSONP, complete with HTML5 validation, and a light-weight, custom infinite scroll handler to fetch more results on scroll. I completed this effort by adding unit tests for the API (RSpec), and UI (Mocha)
    • Contributed to the development of Ember JS 'widgets' written in CoffeeScript. We utilized Ember Data for REST calls, data persistence, and to handle state (loading/error) transitions
    • Populated JSON responses via Express JS wrappers that aggregate data from API calls. We used mocha to test both the Express and client Ember unit tests
    Endgame Systems
    2010-07-06 - 2011-11-12
    Sr. Web Application Developer
    EGS provides Instant Detection and Active Response To Advanced Threats with Endgame Enterprise
    • I utilized Python / Django with jQuery to create the front end and several NoSQL stores including Cassandra, Accumulo, Hadoop, and Solr to sift through large amounts of data
    • Implemented several visualizations ranging from simple charts created with jQuery's Flot, to interactive tables using jQuery dataTables
    • Crafted a replacement for Google Earth Enterprise product using OpenStreetMap data and tiles styled in TileMill, served by TileStache, with interactions powered by Leaflet JS. This effort saved ~$500,000 per deployment (the cost of an enterprise GE license)
    The Weather Channel
    2010-07-06 - 2011-11-12
    Sr. Web Application Developer / UI Team Lead
    The Weather Channel and weather.com provide a national and local weather forecast for cities, as well as weather radar, report and hurricane coverage.
    • Mobile-first web redesign: we used zepto.js for light-weight, cross-platform event handling (such as swipe), and used cutting edge RWD and CSS3 technologies to render a fast and friendly experience to mobile users
    • Integrated Twitter into weather.com. I worked on components, including a SVG 'Tweet' Map that would present a carousel of weather-related tweets specific to a state when you clicked on the state
    • Interactive Map Redesign: we created an HTML5-friendly static weather map, and integrated with Flash to create a rich experience by overlaying weather tiles on map tiles
    AutoTrader.com
    2008-03-01 - 2010-07-06
    User Interface Engineer
    AutoTrader.com connects private sellers and dealers with customers by providing a dynamic, innovative marketplace platform.
    • Proposed and implemented changes to the code that controls Ads on the front and back end in order to have a consistent, concise, performance optimized solution.
    • Ad Serving Subject Matter Expert (SME).
    • UIE project lead on several projects, including: AutoTraderClassics.com (post-launch), Consumer Site Loyalty / MyATC.
    • Responsible for managing and maintaining the UIE code review process.
    • Sole developer on two site-wide, high profile initiatives (Ads Framework Upgrade, Marketing Homepage & Header banners), while engaged on a third, mission critical project (Next Generation Model Info).
    • Created UI components for the Model Info page that emit & listen for name-spaced jQuery events and re-render areas of the UI based on the event. (pre-backbone)
    • Authored UI controls on the find your car page allowing users to select by body style tiles, and revising the AJAX powered drop-downs that allow selection of make & model
    • Created JS controller to power ad targeting changes via AJAX calls for a research page component
    • Integrated the Flash “hero” homepage ad and background images for site header into the CMS.
    • Encouraged and participated in the addition of jQuery to AutoTrader.com
    • Solitary engineer on Maintenance for AutoTrader.com for several months. Responsible for all issue resolutions, including production emergencies. Required to support multiple platforms / browsers.
    Intuit Financial Institutions Division
    2004-11-01 - 2008-03-01
    Web Software Developer
    Intuit Financial Institutions Division provides websites with integrated internet banking solutions.
    • Worked with jQuery to create rich interactions from carousels to dynamic crossfading banners
    • Worked with 'big tier' banks (igobanking.com, flushingbank.com etc) to create rich interactions and visuals
    • Customized Internet Banking visuals with jQuery
    • After hours support responsible for completion of all SLAs for the day
    • Organized and executed the development of intranet resources for training new QA employees
    • Documented and published standard operating procedures for the QA department.
    JavaScript Atlanta
    2012-01-01 - Ongoing
    Speaker / Lecturer
    Meetups and Workshops for those passionate about learning JavaScript.
    • Video Game Libraries 2012
    • Grunt 2013
    • Gulp 2014
    • Hapi JS 2016
    University of Georgia
    Computer Science - Bachelor
    2003-06-01 -
    University of North Georgia
    Computer Science - Associates
    2000-01-01 - 2006-06-01
    Customer Service Recognition Award
    2009-10-01
    AutoTrader.com
    I helped the AdServing team out with a huge refactoring that a friend and I pitched to the leadership that allowed us to help make placements on our site smoother, more reliable, and more flexible, and included a debugging framework.
    I Make a Difference Award
    2008-09-01
    AutoTrader.com
    My passion to seek out and fix problems resulted in us creating a performance initiative at AutoTrader.com. I also pitched converting from Prototype.js to jQuery.js, both of which resulted in this award.
    English
    Native speaker
    German
    Working Knowledge
    Web Development
    Expert
    • HTML5
    • CSS3
    • Javascript
    • ES20xx
    Front-End Frameworks (and libraries)
    Expert
    • React
    • Redux
    • Leaflet
    • D3
    • Google Maps
    • Bootstrap 3
    • Angular 1.x
    • Marionette
    • Backbone
    • jQuery
    Front-End Preprocessors
    Intermediate
    • Less CSS
    • Sass
    • CoffeeScript
    • Babel
    Server / Middleware
    Intermediate
    • Hapi
    • Express
    • Sinatra
    • Flask
    • Django
    • CodeIgniter
    Node Build Tools
    Advanced
    • Webpack
    • Gulp
    • Grunt
    Wildlife
    • Dogs


    Jon Bradway
    Chris is a proactive and thoughtful technologist who helped to accelerate our product development efforts at Vunify. He is passionate about his work, and actively communicates with other developers and product managers throughout the product lifecycle. Chris understands how to balance often competing business and technology goals to achieve access for the organization. He is an asset for any organization.
    Renata Nedzynski
    Chris was initially highly recommended to me by someone I trust. From initial contact, Chris has been a pleasure to work with. He is an extremely competent UI architect with a true passion for technology. He's conscientious, innovative, reliable, dedicated and genuinely cares about the team he works with and about building a quality product.
    Adam Brons
    Chris is a phenomenal UI Developer. I had the pleasure of hiring and working along side him at Travel Syndicate Technologies (TST). While at TST we built custom UI components using HTML, CSS, Javascript, and Backbone. In addition to our own work load of providing reusable components to 5 development teams and numerous customers, Chris also was the first one to roll up his sleeves and sit with developers that needed help with their CSS and Javascript. Chris is a 'go getter', we'd discuss a technology that looked promising on the web and a few days later he would frequently have a working prototype for evaluation. Given the opportunity to work with or hire Chris again I would do so in a heart beat.
    Jeff Lu
    It's always been a pleasure working with Chris on several projects at The Weather Channel. Chris is a great team player and excellent go to person to bounce off ideas. Not only a very innovative and keen developer, Chris is also an effective communicator. His ability to articulate and explain problems at hand really help streamline our projects and making them the successful ones. Chris brings a lot of value to our projects particularly with his well of knowledge in html/css. Chris certainly is a great asset to any team.
    Tim Francis
    Chris has an advanced understanding of HTML and JavaScript using jQuery that allows him to create any solution required. He can easily adapt to new libraries and APIs working with many design patterns. He also is very passionate about his work and solutions that represents itself in his final product. After working with many developers over 20 years Chris has shown to be at the top of his field.
    Guilherme Sad Gorgulho
    Working with Chris is a very pleasant, fun and highly productive experience. Chris' genuine passion for top-edge technologies and intelligent solutions makes him not only extremely active within the company, but deeply engaged in everything that is going on in the project at hand. This "eagle's eye" trait makes him able to jump in to help on whatever issue there may be, applying the appropriate skill set. On top of that, he is a very communicative and eloquent person, which is a big plus when working with other engineers - an analytical mind is no use without being able to express ideas well. I'm happy to have him as a coworker.
    Anthony Pardo
    Chris Keen is a real asset to any team. He is able to solve tough problems and never backs down from a challenge
    Eric Gisler
    I knew Chris years ago when he first started HTML/CSS/JavaScript development. I actually hired him in as a QA Analyst and he worked really hard to move to Developer. In short time, he became one of the best on the team. He moved on to bigger & better opportunities and it's always been great to hear about his continuous improvement. If I ever had a need for a Developer and Chris was looking, I'd try to snag him as quickly as I could.
    Joey Taylor
    Chris was very detailed, goal oriented and produced high quality results for me on various projects. Chris is a great fit in any culture, and was liked by everyone in the office. He is considered an authority by many in the tech space and would make a great addition to any web team. A++ highly recommended. Will definitely work with again.