7 min read
How to use the Gamepad API in JavaScript
Learn the JavaScript Gamepad API: read an Xbox or PlayStation controller with getGamepads(), poll buttons and sticks, add rumble, and play a platformer demo.

Software engineerPhotographerAuthor
Building for the web since 1997
Morning Mist – Lake Frank Jackson20mm · f/4 · 1/800s · ISO 200

About
Hello there! I'm a software engineer, self-taught photographer, and author of Creating a Website for Dummies Jr. (Wiley Global, 2017), based in Alabama.
I've been building websites since 1997. First came Geocities pages, then my first real job: radio station websites running on a custom CMS written in classic ASP. WordPress took over in 2006 and kept me busy for 17 years. React showed up in 2019, and in 2023 I moved to Next.js for good.
These days I build with AI tools. Nearly 30 years on the web has taught me how to adapt to ever-changing tech. And when a teammate gets stuck, I'm often the one they ask (my favorite part of the job, honestly).
When I'm not at a keyboard or looking through a camera, there's a good chance I'm reading a book, cheering for my kids at their sporting events, or planning our next trip to Walt Disney World, where we've been Annual Passholders and Disney Vacation Club members for years.
Career
February 2024 – Present
Technical Lead
Mindsize
May 2023 – January 2024
Team Lead
WPForms.com
May 2022 – April 2023
Technical Lead
Americaneagle.com
May 2013 – May 2022
Director of Engineering
WebDevStudios
January 2010 – May 2013
Chief Engineer
Bluewater Broadcasting
September 2002 – December 2009
Chief Engineer
Gulf South Communications
June 1999 – September 2002
Webmaster
Midwest Communications
Writing
7 min read
Learn the JavaScript Gamepad API: read an Xbox or PlayStation controller with getGamepads(), poll buttons and sticks, add rumble, and play a platformer demo.
15 min read
How I built NES-style 8-bit sound effects with about 250 lines of Web Audio API code, then pushed it to a four-channel chiptune and a lo-fi tape deck.
5 min read
I tried to take a photo of the moon each month in 2023. Was I able to do it?
Reading


Gallery