Denver-based full-stack technologist and lifelong maker who has spent decades building software, exploring data, tinkering with hardware, and helping developers succeed. My work spans UX/UI, web standards, application development, data analytics, AI/ML, and practical problem-solving โ and I still love learning something new every day.
Documentation, samples, developer tooling, education, and DX strategy.
Modern UI/UX, Web Components, and standards-based client architecture.
APIs, backend services, automation tools, and production-ready systems.
Database design, real-time telemetry, data pipelines, and insight generation.
Model training, computer vision, inference pipelines, and applied ML tooling.
Sensor design, device integration, and real-time data flows.
A Raspberry Pi camera and custom-trained Watson model detect whether a garage door is open or closed. Combines ML, image processing, and IoT.
Every once in a while you need to roll your own. With a splash of SVG and helping hand from Stencil, you can create a custom chart as a web component.
Upload an audio file to S3, manage the details of an AWS Transcribe job, and download the results. Include code to clean up after yourself if you are so inclined.
In this post, we put aside the charting libraries, dive into some circle math, and discover that building lightweight custom charts is easier than you think.
A real-time telemetry demo using a drone, sensors, wireless links, and satellite uplink to stream flight-style data to the cloud, illustrating a modern "black box."
A reflection on how the classic Project Triangle applies to developer relations, exploring the trade-offs when building authentic developer communities.
Given that you often want to label an SVG chart, you can set alignment-baseline and text-anchor on a text element to get fine-grained control. Setting both to middle will make the anchor the center of the element. Useful to adjust on charts with spokes such as radar.
Drawing a progress indicator around the circumference of a circle? Check out this old SVG trick. Use stroke-dasharray which expects a dash pattern, but you set it to the circumference. Then set stroke-dashoffset as the percentage of the progress against the circumference.
Marna is working on an quilt. The quilt is 8 x 9 squares. There are 7 different types of squares. There are 12 of some of the squares, 11 of others, and 2 of another. How do you arrange the squares such that none of them touch horizontally, vertically, or diagonally? Quilt GPT.
This assistant is trained on my public work and resume.
This tool is helpful, but not perfect. For nuance or a real conversation, contact me.
Professional software development
Working remote as a technologist
Speaking/workshop engagements
Managed for DevRel programs
Supported via internal AI tooling
Directly mentored across career
Developed for people with a mouth. Assists with palate development for people looking to improve their understanding of the foods they consume. From hobbyist to connoisseur. Robust data visualization, AI recommendations, and custom form controls.
A comprehensive year-at-a-glance calendar. Built with Web Components, embracing a MacOS look and feel. Supports multiple calendars and limited sharing via cloud object storage and serverless integration.
Built for a pharmacuetical company to digitally track and manage controlled substances. Replaced a paper-based workflow to mitigate risk and improve accountability and efficiency. Roles-based features.
Have a project, collaboration, or opportunity you would like to discuss? I am especially interested in work involving web architecture, data, IoT, and developer experience.
Prefer email? You can reach me at kevin@ketnerlake.com.