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
- The Weather Company: Multi-Cloud Management Platform (Grid)
- Datadog: Tools & Process
- The Weather Company: Cloud Environment Manager (GEM)
- The Weather Company: GitHub Reconciliation
- The Weather Company: GitHub Monitor
- Personal Project: AWSResco
- The Weather Company: Cloud Billing Reporting
- IHG: Check-in Kiosk
- IHG: Lobby InfoBoard
- IHG: Lobby FlightBoard
- IBM Cloud Schematics Service
- IHG: National Hotel Wifi Landing Page (eHost)
- IHG: MobileKey
- IHG: AppWatch
- Clayton State University: Asset Management (Harbor)
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:
- Featured in countless marketing and documentation sources, ranging from Blog posts, to in-app documentation, to docs.datadoghq.com, the Datadog learning center, YouTube videos, release notes, Newsletters, social media ads, and more. See the visuals section below for more, but here are a smattering of links that used my work (and 50x where that comes from):
Everything you see in-app is my team's work (that is, the data and systems used for screenshots, animated gifs, and video demonstrations).
- Videos
- DASH 2021 - Log Management
- DASH 2021 - Application Performance Monitoring
- This Month in Datadog - Anything prior to Jan 2023 is my team's work
- Blogs
- Docs
- Corporate Web - Product Marketing Pages
- Videos
- Weathered many primary Datadog datacenter (US) outages thanks to being highly available in the EU, so demos and events could continue during working hours without mud on our face or re-scheduling meetings.
- Over the course of four years we (a very small team [min: 1, max: 3; ~3 years team of one]):
- Made 552 releases of various demo systems
- Delivered 706 feature requests/enhancements
- Fixed 289 bugs
- Made 14 new DD products and 178 new DD features demo-able
- Tested 5 new DD Datacenters for readiness using demo data
- Multi-cast demo data to 48 DD Partner Network Gold Tier members
- Enabled isolated environments with demo data for 37 Pre-Sales Enterprise PoV wins each in the $MM ARR
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:
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:
- Sole developer; Written over three weekends.
- Open source, available on GitHub@ckelner/awsresco
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:
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:
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:
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:
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.
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:
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:
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: