-
Conditional Logic with Zod + React Hook Form
Strategies for conditional logic and other lessons learned -
A Configurable Hamburger Icon to Close (X) Icon Transition
Change line thickness & spacing w/out skew -
A Better Data Structure for Reconciling Late-Arriving User Data
Managing conflict resolution in offline-friendly data stores -
How to Track Audio/Video File Loading Progress with Workbox
Sharing a workbox strategy used by my podcast app -
How to Move a CenturyLink Fiber Modem & ONT
Lessons learned from moving my first fiber cable -
Caching Fly.io Apps with Cloudflare
Sticking Cloudflare in front of a Fly.io Node API -
Detecting a PWA on the Microsoft Store
How to track a PWA installed from the Microsoft Store -
Bringing Your PWA to App Stores
Slides from my talk at PWA Summit -
How to Accept Payments in Your Play Store TWA
Dealing with price localization, several new browser APIs, and other tips for supporting Play Store purchases & subscriptions -
Network-first Pre-cached PWA Start URLs with Workbox
How to serve an always-fresh Start URL with an offline fallback -
Bulletproof PWA and TWA Detection
How to differentiate normal browser sessions from installed PWAs & TWAs -
How to Create a Repo-scoped Github Access Token in an Organization Account
Used for securely triggering Github Actions from third-party APIs -
A More Reliable FileReader
Promise-based FileReader wrapper + timeout period -
Simple Depth-First Search with Object.entries()
A tiny function for traversing JSON data -
Working with Images
Slides from 30-minute talk at JSAdmirers -
CrUX - Real World Website Performance Data
Slides from lightning talk at JSAdmirers -
A Priority+ Navigation With Scrolling and Dropdowns
A guest post on CSS-Tricks -
One Regex to Rule them all: Removing wrapping <p> tags around images in WordPress while preserving links
A Wordpress the_content filter that makes styling linked-images sane -
Creating a Custom Unsubscribe Form in Marketo that Doesn’t Skew Email Analytics
How to test a new Marketo unsubscribe form on an external page before going live -
Setting up Custom Authorization in Ember-CLI using Google oAuth2 for the Initial Login
A simple full-stack authorization demo using Ember-CLI, Ember Simple Auth, Torii, and Express. -
Named Anchors and Fixed Headers
Using pseudoelements to compensate for fixed headers when jumping to anchor targets -
Loading jQuery Immediately before Gravity Forms
A performance optimization for ajax-enabled Gravity Forms -
How to Deselect Radio Buttons on Web Forms
A quick in-browser fix so you don't loose your progress