As much as I love to write code, I enjoy teaching even more. That's part of the reason I started a blog. I feel like I have to struggle to learn new things, and if I can help make that struggle better for other people, then I think I've done something good.

If you are interested in having me speak at your conference or organization, just drop me a line, and I'll get back to you as soon as I can.

My Next Events

Automating and Scaling the Creative Process with Adobe Firefly Services
API World 2024
Santa Clara, CA, November 5-7, 2024

Customizing the Web Platform with Web Components
Adobe Developers List
Online, November 12, 2024

Intl is Your Superhero
Mid-Michigan ColdFusion Users Group
Online, November 12, 2024

Automating Document Processes with Adobe Acrobat Services
Automation Advocates
Online, November 13, 2024

Intl is Your Superhero
Connect.Tech 2024
Atlanta, GA, November 18-20, 2024

My Past Events

Here are my past events, the most recent first, in a nice scrollable list no one will probably ever read. ;)

Integrating Generative AI in your ColdFusion Application
ColdFusion Summit 2024
Las Vegas, NV, September 30 - October 1, 2024

Integrating Algolia Recommend with My Blog
Algolia DevCon 2024
Online, October 2-3rd, 2024

Customizing the Web Platform with Web Components
JavaScript Global Summit '24
Online, September 24-25, 2024

Adding Generative AI to your Workflow with Google Gemini
F/ND Conference 2024
Online, May 18, 2024

Customizing the Web Platform with Web Components
Adobe ColdFusion Summit East 2024
Reston, VA, April 24, 2024

Climbing Up with Alpine.js
Devnexus
Atlanta, GA, April 9-11, 2024

Web Development with Alpine.js
Google Developer Student Clubs
Online, March 22, 2024

Leveraging Adobe Acrobat PDF services with Adobe ColdFusion
Adobe ColdFusion Online Summit 2024
Online, February 26, 2024

Customizing the Web Platform with Web Components
THAT Conference
Round Rock, TX, January 30 - February 1, 2024

Using Generative AI as Your Content Assistant
TheJam.dev 2024
Online, January 24th

Customizing the Web Platform with Web Components
Mid-Michigan ColdFusion Users Group
Online, January 9th

The Photoshop API
API World
Santa Clara, CA, October 24-26, 2023

A Beginner's Guide to Wrangling Asynchronicity in JavaScript
All Things Open
Raleigh, NC, October 15-17, 2023

Leveraging Adobe Acrobat PDF services with Adobe ColdFusion
Adobe ColdFusion Summit 2023
Las Vegas, October 2-3, 2023

A Beginner's Guide to Wrangling Asynchronicity in JavaScript
JavaScript Global Summit'23
Online, September 19-20, 2023

Automating Image Workflows with Photoshop APIs
Certified Fresh Events
Online, August 8, 2023

Building a Now page in Eleventy
Eleventy Meetup
Online, August 17, 2023

Automating Image Workflows with APIs
Developer & Partner Days 2023
Online, June 27-28, 2023

How NOT to API
API Forum 2023
Online, June 13-14, 2023

Roll Your Own HTML with Web Components
.Net User Group of BC
Online, May 30, 2023

Make Documents Work Harder: Better Viewing, Better Insights
Adobe Summit 2023
Las Vegas, March 19-23, 2023

Web Components the Eleventy Way
The Jam.dev 2023
Online, January 25-26, 2023

Introduction to Alpine.js
Mid-Michigan ColdFusion Uses Group
Online, January 10, 2023

Mining Electronic Documents for Fun and Profit (and other business critical needs)
Adobe ColdFusion Summit Online
Online, December 7, 2022

Mining Electronic Documents for Fun and Profit (and other business critical needs)
Connect.Tech
Atlanta, GA, November 8-9, 2022

A Beginner's Guide to Wrangling Asynchronicity in JavaScript
DevFest Baton Rouge
Baton Rouge, LA, October 29, 2022

Document Services APIs and You
CFUG Tech Talk
Online, October 20, 2022

Mining Electronic Documents for Fun and Profit (and other business critical needs)
ColdFusion Summit 2022
Las Vegas, NV, October 3-4, 2022

A Beginner's Guide to Wrangling Asynchronicity in JavaScript
JavaScript Global Conference
Online, September 27-28, 2022

Extending PDF Capabilities With Adobe Document Services
Into the Box - Pre Conference
Online, September 2, 2022

Peanut Butter Jamstack and A Beginner's Guide to Wrangling Asynchronicity in JavaScript
THAT Conference
Wisconsin Dells, WI, July 26-27, 2022

Enhance Your Web Pages with Alpine.js
Adobe ColdFusion Developer Week 2022
Online, July 18-22, 2022

Become a Document Superhero using Adobe PDF Services and Adobe Acrobat Sign
Creative Cloud Digital Partner Days
Online, June 28, 2022

Ask the Experts: Document automation: From APIs to low-code with Adobe & Microsoft
Microsoft Build
Online, May 25, 2022

Introduction to PDF Embed API with Adobe Evangelist Raymond Camden
Tucson Adobe User Group
Online, May 12, 2022

Peanut Butter Jamstack
Devnexus
Atlanta, GA, April 12-14, 2022

Rendering RSS Content
Eleventy Meetup
Online, March 28, 2022

Dynamic Document Generation and Adobe Commerce
Adobe Summit
Online, March 16, 2022

Search and the Jamstack
Jamstack_Berlin
Online, February 28, 2022

The Static Site Generator that Goes all the Way to 11 - Eleventy
DeveloperWeek 2022
Online, February 7, 2022

Enhancing your Document Super Powers with Adobe PDF Embed And Services
Mid-Michigan ColdFusion Users Group
Online, January 11, 2022

Taking Jamstack All the Way to Eleven - An introduction to Eleventy
Adobe ColdFusion Summit 2021
Online, December 7-8, 2021

A Beginner's Guide to Wrangling Asynchronicity in JavaScript and Slice and Dice PDFs like a Pro
connect.tech
Atlanta, Georgia, November 8-10, 2021

Building awesome document workflows with APIs
API World
Online, October 26-28, 2021

Wrangle PDFs on the web like a pro and Dynamically generating documents with Adobe Document Generation API
Adobe Developers Live
Online, October 4-5, 2021

Extending PDF Capabilities With Adobe Document Services
Ortus Galaxy - Web Development Conference
Houston, Texas, September 23-24, 2021

Working with Documents on the Web
Certified Fresh Events
Online, August 26, 2021

Adobe Document Services and ColdFusion
Adobe ColdFusion Developer Week
Online, June 22 - 24, 2021

Building Serverless Workflows in Pipedream
Tracy Developer Meetup
Online, May 14, 2021

Introduction to Vite.js
Atlanta Vue.js Meetup
Online, April 27, 2021

Embracing the Jamstack
Mid-Michigan ColdFusion Users Group
Online, April 13, 2021

Embracing the Jamstack
Baton Rouge .NET User Group
Online, March 10, 2021

Search This!
The Jam.dev
Online, January 28, 2021

A Beginner's Guide to Wrangling Asynchronicity in JavaScript
North Atlanta JavaScript and Web Dev
Online, December 17, 2020

Mapping Without Maps
websummit
Online, December 2, 2020

11ties: 11 min ⚡️ talks on 11ty, on 11/11
Jamstack Toronto
Online, November 11, 2020

The Vue CLI for People Scared of the Vue CLI
VueConf Toronto 2020
Online, November 5, 2020

Introduction to HERE APIs
API World
Online, October 26, 2020

API Integration in your Jamstack
connect.tech 2020
Online, October 14, 2020

Visualizing Map Data with HERE Studio
Science Journalism Forum
Online, August 25, 2020

Introduction to Vue.js
Women Who Code London
Online, July 29, 2020

Introduction to Eleventy
JAMstack_Berlin
Online, July 27, 2020

Introduction to Vuex
San Diego JavaScript Community
Online, July 16, 2020

Adding Location Services to Your JAMStack
Tracy Developer Meetup
Online, June 18, 2020

Adding Location Services to Your JAMStack
SacInteractive Meetup
Online, June 17, 2020

Building Web Applications with Vue.js
Certified Fresh Events
Online, June 16, 2020

Introduction to Vue.js
Seattle VueJS Meetup
Online, May 27, 2020

Learning JavaScript by Doing JavaScript
JavaScript Remote Conf 2020
Online, May 13, 2020

Writing the Darn Docs
OpenSource 101 at Home
Online, May 12, 2020

Geocoding and Search
Online, April 28, 2020

Introduction to HERE Studio
Online, April 24, 2020

Adding Location Services to your JAMstack
A look at using HERE location services with static sites. Another Twitch livestream!
Online, April 15, 2020

Displaying your Data Hub Data
A Twitch stream where I'll demonstrate different ways of mapping Data Hub geospatial data.
Online, April 1, 2020

Twitch stream on Eleventy
I'll be doing a stream on polyglotdev about the coolness that is Eleventy.
Online, March 31, 2020

Kicking Butt with Vue.js
DevNexus
Atlanta, GA, February 19-21, 2020

The Dynamic Web, from CGI to Serverless
Flashback Conference
Orlando, FL, February 10-11, 2020

An Introduction to Gridsome
JavaScript and Friends
Columbus, OH, January 22, 2020

Client-Side Data Storage
jsMobileConf
Boston, MA, November 12-13, 2019

Vue for Real People and The Platform Formally Known as Static
connect.tech
Atlanta, GA, October 16-18, 2019

Building Awesome Maps with HERE XYZ Studio
DirectionsMag
Online, October 10, 2019

It was the best of times, it was the worst of times...
Fronteers
Amsterdam, NL, October 3-4, 2019

Introduction to HERE XYZ
Online, September 26, 2019

Introduction to Vue.js
.Net and SQL Server User Group
Baton Route, LA, September 11, 2019

Vue for Real People
Codeland
New York, NY, July 22, 2019

An Introduction to Vue
Certified Fresh Events
Online, May 23rd, 2019

Intro to Vue
Acadiana Software Group
Lafayette, LA, May 15, 2019

From Vue to NativeScript-Vue
NativeScript Developer Day
Amsterdam, NL, April 11-12, 2019

Building Webapps with Vue.js & Nuxt.js
DevNexus
Atlanta, GA, March 6-8, 2019

Vue.js for Regular People
DevNexus
Atlanta, GA, March 6-8, 2019

Has Web Development Become Difficult?
Online, November 27, 2018

Building PWAs for People Terrified of PWAs
connect.tech
Atlanta, GA, October 18, 2018

An Introduction to WebTask
Google Developer Group Atlanta, Women Techmakers Atlanta
Atlanta, GA, October 17, 2018

Learn Serverless Application Development with Webtask
Pearson/O'Reilly/Safari
Online, October 8, 2018

PWA Talk
Into the Box
The Woodlands, TX
April 26-27, 2018

Building Amazon Alexa Skills and Rapid API Development with Node and LoopBack
CodeStock
Knoxville, TN
April 20-21, 2018

Building PWAs for People Terrified of PWAs
JazzCon
New Orleans, LA
March 21-23, 2018

Don't Over-React - just use Vue!
DevNexus
Atlanta, GA
February 21-23, 2018

Going Serverless with Apache OpenWhisk
DevNexus
Atlanta, GA
February 21-23, 2018

Building APIs with LoopBack
PDXNode
Online for me, Portland for locals.
February 9, 9PM CST

Web and Mobile Development Strategy Update
Gilbane Digital Content Conference
Boston, MA
November 28-29, 2017

Building a Progressive Web App - a Practical Example
NCDevCon
Raleigh, NC
October 7-8, 2017

Going Serverless with OpenWhisk
connect.tech
Atlanta, GA
September 20-22, 2017

Developing JavaScript in 2017
Certified Fresh Events
Online
August 23, 2017

Building Alexa Skills with OpenWhisk
MidwestJS
Minneapolis, MN
August 16-18, 2017

Kick your server to the curb with OpenWhisk
KCDC 2017
Kansas City, MO
August 3-4, 2017

Kick Your Server to the Curb with OpenWhisk and Node.js for ColdFusion Developers
cfObjective
Washington, DC
July 20-21, 2017

OpenWhisk Talk
Acadiana Software Group
433 Jefferson St, Lafayette, Louisiana 70501 June 14, 2017, 6:30PM

Go Serverless with OpenWhisk
Online (and free!)
June 7, 2017, 12:00PM CST

Kick Your Server to the Curb and Go Serverless
Into the Box
The Woodlands, TX
April 26-28, 2017

Introduction to LoopBack
InterConnect 2017
Las Vegas, NV
March 19-23, 2017

Best Practices for Apache Cordova/PhoneGap Development
Mobile+Web DevCon
San Diego, CA
March 1-3, 2017

Serverless or Bust
ForwardJS
San Francisco, CA
March 1, 2017

Adding Dynamic Back to Static Site Generators
DevNexus
Atlanta, GA
February 22-24, 2017

Critiquing Open Source Alternatives
OpenSource 101
Raleigh, NC
February 4, 2017

Going Static
Ortus Developer Week, Online, November 14, 2016

Introduction to LoopBack
Acadiana Software Group, Lafayette, LA, November 9, 2016

Introduction to LoopBack
connect.tech, Atlanta, GA, October 20-22, 2016

LoopBack
Mobile Tea, Boston MA, September 20, 2016

Closing Keynote
NativeScript Developer Day, Boston MA, September 20, 2016

Building APIs in LoopBack
NCDevCon, Raleigh, NC, September 18, 2016

NCDevCon 2016 Session-Everything they didn’t tell you about hybrid development
NCDevCon, Raleigh, NC, September 17, 2016

Rapidly developing APIs with StrongLoop, What they don’t tell you about Cordova
MidwestJS
Minneapolis, MN
August 10-12, 2016

Bringing Dynamic Back to Static Sites
ForwardJS
San Francisco, CA
July 29, 2016

Building APIs with LoopBack
Node Summit
San Francisco, CA
July 27-28 2016

LoopBack Presentation
Ionic NYC, June 29 2016, NYC, NY

DevLab and Startup Demo Night - Rapid API Development w/ Node.js and LoopBack
Mobile Monday, June 27 2016, NYC, NY

Rapid API Prototyping in Node.js
devObjective, June 16 2016, Minneapolis, MN

JavaScript Templating FTW
devObjective, June 16 2016, Minneapolis, MN

Introduction to API Connect
Online, June 7 2016

LoopBack Presentation
Gluecon, May 25 2016, Broomfield, CO

LoopBackJS Webinar with Raymond Camden
Online, March 31, 2016

Using Browser Developer Tools
Online, March 17, 2016

Rapidly building out your APIs
FluentConf, San Francisco, CA, March 8, 2016</a>

When the heck is 4/8/2016?
PhoneGap Day, Lehi, Utah, January 29, 2016

Ionic Services
Ionic NYC, NYC, NY, January 13, 2016

Deploying Node.js/Ionic applications with Bluemix
Baton Rouge Bluemix Developers, Baton Rouge, LA, December 10, 2015

Ionic Services
Ionic SF, SF, CA, October 14, 2015</a>

Working with Static Sites
NCDevCon, Raleigh, NC, September 27, 2015</a>

Cordova, Ionic, and MobileFirst
Manila, Philippines, September 11, 2015

Cordova, Ionic, and MobileFirst
Singapore, September 10, 2015

Ionic
Singapore, September 9, 2015

Cordova, Ionic, and MobileFirst
Kuala Lumpur, Malaysia, September 8, 2015</a>

Ionic and MobileFirst
Kuala Lumpur, Malaysia, September 7, 2015</a>

Static site generators: Why use them and how they work
Online, September 2, 2015

Cordova/Ionic/MobileFirst
Sydney, Australia, August 26, 2015

Cordova/Ionic/MobileFirst
Melbourne, Australia, August 24, 2015

Mountains of Code
Big Sky, Montana, August 10, 2015

Ionic Dallas
Dallas, Texas, July 7, 2015

Working with Static Sites
Online, July 1, 2015

Recorded Presentations

I have not done a good job collecting these links over the years, but here is a playlist of my presentations over the past years. More have been recorded that I've not yet found, and when I discover them I'll add them of course.

And here's a list of recorded presentations not available on YouTube: