Projects

These are a few projects I've worked on in the past. They are in quasi-reverse chronological order, but some bias is given to those that are more complex, ambitious, and challenging. Some projects contain images, click on them for full resolution.

I do not believe that number of commits, lines of code, or number of tests are a barometer for measuring success, but I am proud of large contributions or chunks of time where those metrics have meant something to me personally. For more on that see my "hidden" page on committing.

Table of contents

Datadog: Demo Environments & Shopist


Description:
I developed, operated, and maintained 30+ projects (end to end full stack ownership) used in 100s of demos given daily by 2,000+ unique employees. These systems power Datadog's largest events such as AWS Re:Invent and DASH where thousands see it live in action on stage and at our booths. Used in DD demos in pre-and-post sales activities generating $X00 millions per year in sales and growth.

These systems and their data are also widely used in the Datadog blog, public documentation, marketing materials, community videos, in-app screenshots, newsletters, feature announcements, release notes, and more. And they enable over 80 demo scripts for various industry verticals, personas, specific products and features, and certain story driven scenarios.

Of the 30+ projects I owned, the most complex project, known as "Shopist" (https://shopist.io - a fictitious e-commerce platform), was comprised of 14 micro-services all in different languages, 6 databases, 2 caches, 2 queues, 10 serverless functions, and a frontend. It is connected to several PaaS products: blob stores, CDN, notification services, DBaaS, and several external APIs. It is highly available and redundant. It runs across 3 cloud providers on 8 kubernetes clusters. It connects the Infrastructure, Tracing, Profiling, Logs, Network Performance, Digital Experience, Database, Error Tracking, Security, and Serverless products at Datadog into a single interconnected data set with repeatable scenarios and stories.

Additionally I pitched in on many proof of concept or one-off rush efforts for various needs such as Gartner Magic Quadrant, AWS Re:Invent, Datadog's DASH conference, Forrester Wave, Enterprise Proof-of-Value (demo data which was used to get the technical win for large deals or household logos), new datacenter readiness testing, disaster recovery testing, and more.

Many of the recent kudos on my Kudos, Reviews, Happy Customers, & Endorsements page are driven from my ownership and delivery of these projects and efforts.

Role:
Primary Software Engineer, Product Manager, Operator, SRE, Support Engineer, Growth Engineer, and Product Marketing Manager for all products. Tech, tools, and languages (polyglot) far too many to list.

Dates:
2018 - 2022

Notable:

Visual:
Various screenshots of in-app views, many taken from various public facing marketing materials, many which are listed above.


The Weather Company: Multi-Cloud Management Platform (Grid)


Description:
An API first multi cloud abstraction and management platform. Built to enable DevOps teams take advantage of multiple clouds through a single interface and workflow, e.g. build once and deploy to multiple cloud providers.

Role:
Developer for API (Java, Groovy), UI (CoffeeScript, HTML, CSS, ExtJS), and ops (Python, Bash, AWS, GCP, Jenkins).

Dates:
2013 - 2015

Notable:

  • Developed many core features and functionality for both the API and the UI. One of two primary developers on the team. For my commit stats see my "hidden" page on committing.
  • Spearheaded and served as lead on several major feature implementations and revisions, owning everything from design, to management, to proof of concept, to delivery and testing.
  • Maintained a very thorough test suite of unit, functional, and integration tests (end to end). Also participated in a number of quality assurance efforts.
  • Wrote extensive documentation, both internal and customer facing ranging from API specifications, to "how to" and "getting started" guides, to examples of how to use the API for common tasks (deployments, troubleshooting, etc), to operational writeups for internal use.
  • Interfaced with customers in white-glove fashion, from demos, to bootstrapping their experience and usage, to troubleshooting, to solutions architecture and consultation.
  • Contributed heavily to open source library Dasein that the product was built on top of. For my commit stats see my "hidden" page on committing.

Visual:
Product - both UI and API, and test suite coverage:

API Example Test coverage
UI Console 2 UI Console


Datadog: Tools & Process


Description:
I wrote a lot of tools and implemented a lot of process (or improvements) while at Datadog and they are summarized here in brief.

  • Wrote software to pull thousands of files, parse them, then tabulate the data. These files contained which feature flags (FF) exist at Datadog and which customers they were enabled for. This made it faster and easier for humans to search, filter, and parse. Prior to this effort each FF was in its own file, with ambiguous filenames, and there were 10,000+ files; all which made FFs difficult to work with.
  • Developed APIs to allow external partners to provision a Datadog partner environment. This was previously a long back and forth manual process, it ended up saving support and partner solutions teams 150+ hours a month and untold frustration on the customer side.
  • Helped build a global search tool to search across many disparate sources and systems. Two major versions were released, and one was adopted by other departments as a tool of choice.
  • Wrote several machine setup scripts and revised onboarding documentation and process, thereby reducing onboarding time by 40%.
  • Built next iteration of internal documentation wiki for Technical Solutions. Contributed to and oversaw the growth of articles from ~50 to 1000+. Built automation to continually organize articles into categories, import screenshots, generate table of contents, regenerate indexing, and apply article tagging.
  • Developed a Weekly Updates program for Technical Solutions (400+ people). Gathered product, platform, and team updates and condensed them into bit sized snippets. Some automation, e.g. scripts to scrape disparate content repositories were developed to help co-locate data. Weekly updates are presented on team calls ranging from 10-100 people, and sent via email to the whole department (automated).
  • Created a product announcement process for the company. Previously new features and product updates were poorly communicated (or not at all) to Technical Solutions and other departments. I strived to have this include updates that wouldn't even normally be announced (e.g. bug fixes to the agent) as they could impact the jobs of Technical Solutions staff.

Role:
Backend dev, Frontend dev, Ops, Product, and Support for all tools. I used many technologies, programming and scripting languages, and cloud providers. In brief: K8s, Docker, EKS, ECS, GKE, AKS, S3, RDS, SNS, SQS, Lambda, Route 53, EC2, GCE, Terraform, Tomcat, Apache, Java, Python, Ruby, JavaScript, C#, PHP, TypeScript, Bash, HTML, CSS, Mongo, PostGreSQL, AWS, GCP, Azure, GitHub, VSCode, GitHub Actions, Jenkins, and plenty more I am forgetting.

Dates:
2017 - 2022


The Weather Company: Cloud Environment Manager (GEM)


Description:
A product that evolved from the "Multi-Cloud Management Platform" above, which enabled Infrastructure as Code for the company. Build on OSS technology (HashiCorp Terraform), it enabled large distributed teams to define infrastructure in declarative templates, collaborate simultaneously on them, and execute provisioning and management remotely. This allowed for infrastructure patterns to be defined once and provisioned again and again as exact replicas in different regions. This is extremely important when environments consist of thousands of resources and tens of thousands of toggles. It also solved problems of coordination and locking when executing Infrastructure as Code changes across large teams.

This was built prior to commercial agnostic IaC CI solutions such as Terraform Cloud, Spacelift, Env0, Scalr, and Cloudify existed.

Role:
Developer for backend (Python, Bash), integration (Bash), and ops (Bash, Chef, AWS, Jenkins, Terraform).
Also served as Product Manager over the course of two years.

Dates:
2015 - 2017

Notable:

  • Took product from inception, to proof of concept, to production, and through three major versions.
  • Evangelized and demonstrated product extensively.


The Weather Company: GitHub Reconciliation


Description:
Self service sign up for the company's GitHub.com organization and automated reconciliation against active directory (via iDP Okta). Allowed developers, testers, ops, etc gain access to through self service model and kept the company safe by syncing GitHub organization members with the company directory. App was commissioned by enterprise security team to manage user access to GitHub.

Role:
Developer for backend (Groovy), frontend (JavaScript, HTML, CSS), and ops (Python, Bash, Puppet, Jenkins, AWS, Terraform).

Dates:
2015 - 2017

Notable:

  • Principal developer; owned all aspects of lifecycle from concept, to design, to implementation, to ops, to monitoring.


The Weather Company: GitHub Monitor


Description:
Complimented the above "GitHub Reconciliation" application by querying the GitHub API to determine "Outside Collaborators" (prior to GitHub announcing a direct API for it ) and public repositories that do not match entries in a allow-list. Also checks the repo limit for the organization. Sends alerts via AWS SES when any violations or limits are found. Available on GitHub@ckelner/github-monitor.

Role:
Developer for script (Python) and ops (Bash, Jenkins).

Dates:
2016 - 2017

Notable:

  • Principal developer; owned all aspects of lifecycle from concept, to design, to implementation, to ops, to monitoring.
  • Primarily written in a single day, a "Hack Day" with one of my colleagues to help with the administration of the company GitHub Org.


Personal Project: AWSResco


Description:
An application to get instance and reservation information for a just-in-time comparison of running infrastructure. Allows users to compare easily see what reservations they are under utilizing and where they may want to purchase more. AWS, at the time of development, did not have an easy way to look at this data.

Role:
Developer for frontend UI (JavaScript, HTML, CSS) and frontend business logic (JavaScript, AWS SDK), and ops (Bash, Python, AWS).

Dates:
2016 - 2017

Notable:

Visual:
AWSResco Image


The Weather Company: Cloud Billing Reporting


Description:
A solution which centered around Netflix Ice at high scale. The system processed 45Gb (uncompressed) of AWS Billing data hourly for over 200+ AWS accounts for over $20m+ yearly. At the time (2013-14) AWS did not have a strong billing dashboard in place and Ice was one of the only OSS tools around.

Ice acted as the processing engine and customer UI, while additional tooling was built to extract high level information from Ice, publish that data into Google Sheets, further munge the information with Google Apps Scripts, then finally fire off daily emails, alerts, and reports at varying levels of visibility, e.g. some single account views for product managers, some multi-account views for program managers, directors, and engineerings managers, and full-scope views for executive leadership.

Role:
Sole engineer and developer; Systems and configuration (Python, Puppet, Bash), backend dev (Java, Python, JavaScript), scripting (Python), and ops (EC2, ELB, Auto scaling, RDS, SQS, SES, SNS, CloudWatch, Deadman's Snitch).

Dates:
2014 - 2016

Notable:

  • Brought cloud spend visibility to the enterprise and on several occasions helped catch run-away cost issues saving the company tens of thousands of dollars.

Visual:
Example of a weekly summary email for multiple accounts, obfuscated tabular data as these were real accounts:
Cloud Billing


IHG: Check-in Kiosk


Description:
Self-service check-in and check-out system used in hotel lobbies. Allows guests to check-in at kiosk and receive room keys or check-out and receive a room folio. Two major versions released.
V1 was a full service kiosk where users could input their reservation number, insert their credit card into a mag-stripe reader, or put in their loyalty member number to pull up their reservation, check-in, and get their room keys. This version also allowed users to check-out by the same means and get their room folio (receipt) for their stay.
V2 had trimmed features based on hotel and guest feedback, it allowed guests to check-in only, they would opt-in during their booking, receive a QR code, then scan the code at the kiosk to receive room keys.

Role:
Served as developer for backend (Java, Spring, Ant, Resin), frontend (HTML, CSS, JavaScript), component/client (Bash, C++), deploy automation (Bash), and ops (S3, Elastic BeanStalk).

Dates:
2008 - 2013

Notable:

  • Worked on many hardware programming components from magnetic stripe readers, to Sankyo magnetic stripe encoders and dispensers, to thermal printers, and early consumer touch screen technology.
  • Major partnership with NCR on second version of product. Helped establish working relationship, API interaction, component communication, and QR code delivery and testing.
  • Sole engineer and operator for administration interface for guest and staff management for second version.
  • Wrote dev and QA tooling to test code for key encoders, called KCC (Kiosk Key Card Creation).

Visual:

Kiosk in Holiday Inn Lobby with FlightBoard PAL Army Hotel Kiosk Homepage
Intercontinental Buckhead Kiosk Homepage SmartKey (Kiosk Version 2) Device
Smart Key Dashboard Key card creation debug and qa tool


IHG: Lobby InfoBoard


Description:
An interactive large format display placed in hotel lobbies. Displays a number of dynamic data feeds relevant to hotel guest interest sourced from multiple APIs. Examples of data displayed are: hotel meetings, local events, local businesses and points of interest, weather, flight information, news, stocks, advertisements, hotel maps, promotions, etc. Certain data was customizable by the hotel, while other information was pulled from various hotel systems.

Role:
Developer for frontend UI and business logic and API interaction (JavaScript, Prototype(JS), HTML, CSS, Sass), client side configuration (Bash, JavaScript), hardware components (C++ (touch drivers)), and some limited work with backend services (Java, Spring, Ant, Resin).

Dates:
2008 - 2013

Notable:

  • Designed and implemented homebrewed configuration service for client side devices (thin client machines powering the display) which allows hotels to configure their own devices when the device is first powered on by inputting their hotel code into the locked down browser which launched the web app automatically, then communicated back to the config service to determine the hotel brand and UI components to load (many components were interchangeable).
  • Implemented custom UI/CSS skinning framework to support five different brands independently with standardizations. Skins were easily swapped by installers and/or hotel staff via a build in UI mechanism.

Visual:

InfoBoard for Crown Plaza Holiday Inn InfoBoard


IHG: Lobby FlightBoard


Description:
Large format display showing local airport departure times, gates, flight numbers, and delays.

Role:
Developer for frontend UI and business logic and API interaction (JavaScript, jQuery, HTML, CSS), client side configuration (Bash, JavaScript).

Dates:
2009 - 2013

Notable:

  • Worked closely with third party software vendor as an alpha customer of their API to get flight data for our product.

Visual:

Flightboard for HI Flightboard in Holiday Inn Lobby


IBM Cloud Schematics Service


Description:
IBM Cloud Schematics is an automation tool to define and deploy IBM cloud infrastructure as a single unit, and reuse those cloud resource definitions across any number of environments. Schematics uses Terraform to codify infrastructure. By abstracting high-level and low-level resources, infrastructure can be treated like software, as code. See the documentation here.

Role:
Product Manager, Consultant (subject matter expert for Terraform and DevOps), Developer Advocate (engaging community and customers, driving direction for product).
Developer for number of proof of concepts (Terraform) and Automation (bash and python).

Dates:
2016 - 2017

Notable:

  • Took product from 0 to 1; inception, to proof of concept, to production (beta).


IHG: National Hotel Wifi Landing Page (eHost)


Description:
Complete refactor and redesign of all U.S. based Holiday Inn and Holiday Inn Express in-hotel Wifi landing pages.

Role:
Responsible for frontend dev (JavaScript, YUI, Google Maps SDK, Yahoo News and Weather APIs, HTML, CSS), and deployment/ops (Python, Elastic Beanstalk, S3).

Dates:
2011 - 2013

Notable:

  • At the end of my tenure I was solely responsible for updates, uptime, and maintenance. Automated everything possible and built for elasticity in AWS. Use by 2,000+ hotels in the US.

Visual:
eHost wifi landing page


IHG: MobileKey


Description:
Mobile check-in and mobile room key solution. Allowed guests to check-in via their phone and open their room via unique audio technology playback through handset. Worked as developer on guest facing opt-in and registration portals, back-of-house integration, and administrative services for managing guests who opt-ed in. Also played role in QA tooling and debugging for audio playback and doorlock testing. See this ad.

Role:
Frontend dev (JavaScript, HTML, CSS), backend dev (Java, Python), and Ops (EC2, S3, ELB, Python) and served as integration consultant and subject matter expert while also filling a necessary quality assurance and test engineering role through automated and manual testing.

Dates:
2011 - 2013

Notable:

  • Sole engineer and operator for guest-facing web portals and back of house integration and administrator components and tools.
  • Worked extensively with third party technology provider, building requirements, integration plans, and hotel installation roll-outs.

Visual:

Mobilekey call to action Mobile key landing page
Mobile key opt-in page


IHG: AppWatch


Description:
Internal monitoring tool for all in-hotel solutions, ranging from power-on and connected to internet, to screen state, to configuration validation, to usage metrics.

Role:
Developer for front-end UI and business logic (JavaScript, HTML, CSS), backend systems and API (Java, Tomcat, Resin), on device (local system) agent (Java), and Ops (Bash, VNC).

Dates:
2010 - 2013

Usage:
Used to monitor complex systems which were comprised of a number of components (touch screens, card encoders, computers, software, network connectivity, etc).

Notable:

  • Functioned as asset tracking, software monitoring, screen capture and display (for troubleshooting), user interaction metrics (e.g. what they clicked), hardware status, and configuration reporting.

Visual:

AppWatch Dashboard AppWatch List of systems
AppWatch single system check for Infoboard


Clayton State University: Asset Management (Harbor)


Description:
An asset tracking application that tracked thousands of assets (laptops, ipads, etc), hundreds of locations (service racks, offices, people, etc), and hundreds of users (employees, faculty, staff).

Role:
Developer for frontend (JavaScript, ERB, HTML, CSS) and backend (Ruby on Rails).

Dates:
2006 - 2008

Visual:

Mobilekey call to action Mobile key landing page
Mobile key opt-in page Mobile key opt-in page