David Wells

Builder of things

Software architect
& product wrangler

Software architect & product wrangler
WorkTalksBlogContact

Get the next post

Occasional notes on AI workflows, serverless systems, and useful tools.

  • X
  • GitHub
  • LinkedIn

Trigger an AI Agent by Sending an Email

July 10, 2026

The Surprisingly Simple Anatomy of an AI Agent

July 07, 2026

NAX: Multi-Model Agent Workflows on Netlify

June 29, 2026

Multi-Agent Coding Without Worktree Chaos

June 05, 2026

Run Codex, Claude, & Gemini From GitHub Issues with Netlify Agent Runners

February 10, 2026

Smart Deploys for Serverless Monorepos

December 02, 2025

Building a Forgiving CLI Argument Parser

September 18, 2025

Using superwhisper to speed up your dev flow

June 12, 2025

Building Idempotent APIs with AWS Lambda Powertools

May 19, 2025

Powerful polling with waitFor

May 01, 2025

FAST Serverless JavaScript on AWS Lambda with LLRT

April 14, 2025

Big risks. Big rewards

October 10, 2024

Parsing React-like Props in Markdown Comments with oparser

September 19, 2024

How to synchronize remote content in markdown files

August 28, 2024

Don’t suffer fools. Thank them

August 27, 2024

What would you do if you knew you couldn't fail?

August 12, 2024

git-er-done: Query Git History from JavaScript

August 05, 2024

Using unbundled ESM in AWS Lambda Functions

April 29, 2024

Deep log available methods on JavaScript Objects & Classes

March 19, 2024

Automating dev workflows with karabiner

March 16, 2024

Programmatically sync a folder of git repositories

March 14, 2024

Search DOM for arbitrary text then scroll to it

March 12, 2024

Improving Event Listener DX

December 29, 2023

Netlify Year Two Recap Extravaganza.

June 12, 2020

The rise of embarrassingly parallel serverless compute

June 09, 2020

Cleaner async JavaScript code without the try/catch mess.

May 16, 2020

Promisified node.js file system utilities

May 10, 2020

Analytics with React

April 18, 2020

Don't fix things that aren't broken

March 05, 2020

Regex Pattern: Match outer single & double quote pairs

September 15, 2019

Flatten & unflatten javascript objects by path

September 14, 2019

Simplify form handling in your app using valid HTML elements

September 04, 2019

Get the difference between two objects in JavaScript

September 01, 2019

Using event naming conventions to keep analytics data clean.

August 25, 2019

Get files changed from Git history

August 05, 2019

How to align images in markdown

July 26, 2019

Mocking chainable APIs with ES6 JavaScript Proxies

July 22, 2019

7 Serverless Auth Strategies for Protecting Gated Functions

July 16, 2019

How to Respect Visitor "Do Not Track" settings with your Analytics tools

July 12, 2019

5 Advanced npm package.json configuration tips

July 01, 2019

Sequentially resolve array of promises using async/await in Javascript

June 24, 2019

Regex match pattern NOT at beginning of string via JavaScript

June 12, 2019

Check if any key exists in javascript object

June 10, 2019

Speed up your Netlify deploy workflow with the CLI

June 04, 2019

Get user defined window global variables with javascript

June 03, 2019

Regex to match markdown links

June 01, 2019

Happy Netliversary πŸŽ‰ - A look back at my first year at Netlify

May 09, 2019

Forcing async functions to run sync in node.js

September 29, 2018

Recursively Traverse an object of unknown size in Javascript

September 18, 2016

Autocomplete for React Component PropTypes

July 07, 2016

Set visible text color based on a dynamic background color

July 01, 2016

Navigate GitHub projects like a Boss with the OctoTree Chrome Extension

June 01, 2016

19 Open Source React Component Libraries to use in your next project

May 15, 2016

Cross Browser SVG Sprites with JavaScript

May 15, 2016

Find all Javascript files in a project & count line numbers

May 15, 2016

Fixing broken use tags from inline SVG sprites [http vs. https]

May 10, 2016

Better Developer Blogging with Easy Markdown

May 09, 2016

React PropType Best Practices

May 06, 2016

Do I really need CSS modules?

May 04, 2016

Using Alfred to speed up common developer tasks

May 03, 2016

React, the UI library that renders everywhere*

May 02, 2016

The Serverless Revolution

April 29, 2016

Practical advice on "Learning to code"

April 28, 2016

JavaScript Community 2016 Thank You Letter

April 27, 2016

How to easily keep project dependencies up to date with greenkeeper.io

April 26, 2016

Loop up through DOM node parents and look for a matches

April 26, 2016

Navigate Github project files & dependencies faster with Octolinker

April 25, 2016

Speed up your AVA (or Mocha) testing feedback loop using the .only flag

April 22, 2016

Create and Deploy Static Sites and Demos in Seconds

April 21, 2016

What is Electron & What can developers do with it?

April 19, 2016

Publishing flat npm packages for easier import paths & smaller consumer bundle sizes

April 16, 2016

Remove every regex match from a string except for the first occurrence with JavaScript

April 13, 2016

Generate DOM Fragments with JavaScript

April 12, 2016

Regex to match HTML elements & React Components including attributes

April 11, 2016

Render Children Markup from in Parent Components in React

April 09, 2016

Using the CSS NOPE selector for ultimate specificity

April 08, 2016

What is PostCSS?

April 07, 2016

Speed up your GIT workflow with git open

April 05, 2016

Pixel Perfect Custom Fonts with CSS

April 01, 2016

Convert Number to Comma Separated Thousands String

March 15, 2016

Disable Scrolling with JavaScript

March 15, 2016

Style console.log statements

March 11, 2016

What makes great documentation?

March 06, 2016

How to programmatically import your external blog post links into WordPress

February 10, 2016

Your pedigree means shit

January 31, 2016

Your user is drunk

January 30, 2016

Get Current File Path in Node.js

January 29, 2016

Remove Duplicate Items from an Array with JavaScript

January 29, 2016

Sort an Array Alphabetically in Javascript

January 29, 2016

Scan a directory and return the file names in Node

January 27, 2016

See for Yourself: Angular, React, & Ember Visible Render Speeds Compared

April 06, 2015

Calm.js & Form Validation for Angry, Irate, Shouting People

April 04, 2015

How to run JavaScript function on a specific day of the year

April 02, 2015

Future JavaScript: How React, Angular 2, and Library XYZ can live together in harmony

April 01, 2015

Fixing UX for Responsive Sites

March 25, 2015

Batch Edit Categories & Tags for specific posts in WordPress

March 05, 2015

Convert Web Traffic with the WordPress Calls to Action Plugin

October 02, 2013

To-do list bankruptcy

March 05, 2013

Out of Focus

March 04, 2013

Internet you versus actual you

March 03, 2013

On progress

March 01, 2013

Learn to Code

February 28, 2013

Create where there is none

February 27, 2013

You never cross the same river twice

February 27, 2013

Take Off Your Tinfoil Hat

February 25, 2013

You Get What You Pay For

February 24, 2013

Giving 100%

February 24, 2013

What is stopping you?

February 22, 2013

Specialize. Now.

February 21, 2013

When everyone wants a piece

February 20, 2013

The road to success

February 19, 2013

Getting Advice

February 18, 2013

In defeat, you have three choices

February 18, 2013

Inbound Now #54 - Turning Enthusiastic Customers into a Marketing Force

February 18, 2013

Why B2B Sites Need Sidebars - Business Goals Trump Cool Points

February 13, 2013

Want to be a WordPress Developer? Here are 9 Resources to Make it Happen

February 11, 2013

Introducing the WordPress Landing Page Plugin & Framework

January 14, 2013

Inbound Now #53 - Content ideas to energize your blog with Marcus Sheridan

November 02, 2012

Inbound Now #52 - Become more efficient with twitter

October 17, 2012

SEO Keyword Research Tips: How to Choose Phrases Directly from Google

October 12, 2012

Will Inbound Marketing Work for My Business?

October 10, 2012

Inbound Now #51 - Leveraging Events to Gain Inbound Links & Boost SEO

October 03, 2012

Inbound Now #50 - Get unstuck & keep creativity flowing with Noah Scalin

September 19, 2012

How to Target Customers Deep in the Buying Process with Competitor Keywords

September 15, 2012

The most important thing for Facebook business pages

September 12, 2012

How to Learn Inbound Marketing the Right Way

September 10, 2012

Inbound Now #49 - No BullSH#T Practical Tips on gaining Facebook Pages

September 05, 2012

Better Marketing. Period.

September 03, 2012

Important Inbound Marketing Advice: Do it, Outsource, or Fail

September 03, 2012

Inbound Now #48 - Debunking Common Email Marketing "Rules"

August 21, 2012

5 Ways to Increase Blog Subscribers

August 20, 2012

Tips on landing guest posting opportunities

August 13, 2012

Inbound Now #47 - Creating engaging Facebook pages with John Haydon

August 08, 2012

SEO tip: How to increase inbound links + traffic with guest posting

August 01, 2012

Leveraging content to the fullest: Rinse, repurpose & reuse content in multiple mediums

July 27, 2012

Inbound Now #46 - Marketing on Pinterest with Allison Boyer

July 25, 2012

Convert more: Five call to action best practices

July 18, 2012

Inbound Now #44 - Creating fun, unique & profitable business models with Jason Sadler

July 11, 2012

Inbound Now #45 - A marketing optimization state of mind with Lee Odden

July 11, 2012

Inbound Now #43 - How leverage data visualizations & infographics in your marketing strategy

June 13, 2012

Inbound Now #42 - In-depth B2B Social Media Marketing with Kipp Bodnar

May 30, 2012

How to Detect Specific Versions of Internet Explorer in PHP and Show Different Fallback Content

May 26, 2012

12 Search Engine Friendly Blog Headline Formulas

May 21, 2012

Inbound Now #41 - Website Conversion Optimization Techniques with Derek Halpern

May 15, 2012

Awesome WordPress Snippet to Debug and See all Custom Post Meta Elements

May 05, 2012

Inbound Now #40 - Hybrid Marketing Agencies with Paul Roetzer

May 02, 2012

How to Seed & Build Facebook Fans for Your Facebook Business Page

April 07, 2012

How to Recover Your WordPress Site after a Plugin Install Goes Wrong

March 25, 2012

How To Quickly Find Sites to Guest Post on with Advanced Search Queries

March 02, 2012

3 Ways to Get Even More From Your Buffer App

March 01, 2012

How to Clean out Huge Files from Your Dropbox Quickly and Easily (On Windows)

February 18, 2012

Getting Started with Inbound Marketing? Social Media is a Waste of Your Time

February 12, 2012

Inbound Now #39 - Using in-person events to solidify online connections with Joselin Mane

November 01, 2011

Inbound Now #38 - How to create video interview podcast

October 29, 2011

Inbound Now #37 - How the Amazon, Apple, Facebook, & Google built their platforms & communities

October 20, 2011

Inbound Now #36 - SEO Copywriting Best Practices with Brian Clark

September 22, 2011

Inbound Now #35 - Creating Location Based Marketing Campaigns with Aaron Strout

September 08, 2011

Inbound Now #34 - Advanced Twitter search techniques to find relevant business conversations

August 18, 2011

Inbound Now #33 - How to find guest posting opportunities for more inbound links

August 11, 2011

Inbound Now #32 - Exploring Google+ with Shama Kabani

August 04, 2011

Inbound Now #31 - Local content creation & lead generation tips with Ricardo Bueno

July 28, 2011

Inbound Now #30 - Growing a community & email list with DJ Waldow

July 21, 2011

Inbound Now #29 - Generating referrals & finding strategic business partners with John Jantsch

July 14, 2011

Inbound Now #28 - How to build a personal brand with Dan Schawbel

July 07, 2011

Inbound Now #27 - Press release best practices & PR pitching with Sarah Evans

June 30, 2011

Inbound Now #26 - Leveraging the Consumer Engagement Cycle with Jason Keath

June 23, 2011

Inbound Now #25 - Advanced content creation & building white papers with Michael Stelzner

June 16, 2011

Inbound Now #24 - Social Media Monitoring with Andy Beal

June 09, 2011

Inbound Now #23 - How social media and email work together with Jason Falls

June 02, 2011

Inbound Now #22 - SEO Best Practices with Rand Fishkin of SEOMoz

May 26, 2011

Inbound Now #21 - Ignoring vanity metrics & getting real social media ROI

May 19, 2011

Inbound Now #20 - Defining social media demographics with Brian Solis

May 12, 2011

Inbound Now #19 - Listening to the "Social Telephone" with Jay Baer

May 05, 2011

Inbound Now #18 - Facebook marketing best practices with Mari Smith

April 28, 2011

Inbound Now #17 - How to leverage online video for your company with Steve Garfield

April 21, 2011

Inbound Now #16 - Content marketing best practices with Joe Pulizzi

April 14, 2011

Inbound Now #15 - Poking the Box with Seth Godin

April 06, 2011

Inbound Now #14 - How to use content marketing & curation for business

March 30, 2011

Inbound Now #13 - Using PPC & remarketing to generate business with Joanna Lord

March 24, 2011

Inbound Now #12 - Business to business marketing lessons with Mike Volpe

March 16, 2011

Inbound Now #11 - Connecting digital & traditional marketing channels with Mitch Joel

March 10, 2011

Inbound Now #10 - Using LinkedIn for business with Lewis Howes

March 02, 2011

Inbound Now #9 - How companies are evolving with new technologies with Phil Simon

February 24, 2011

Inbound Now #8 - Connecting with community & influencers online with Tamar Weinberg

February 16, 2011

Inbound Now #7 - How Traditional PR is changing with Peter Shankman

February 09, 2011

Inbound Now #6 - Becoming a Trust Agent with Chris Brogan

February 03, 2011

Inbound Now #5 - Podcasting for Business with Christopher S. Penn

February 01, 2011

Inbound Now #4 - Stop Marketing and start engaging with Scott Stratten

January 20, 2011

Inbound Now #3 - Rocking Facebook Fan Pages with John Haydon

January 16, 2011

Inbound Now #2 - Building business smarter, faster, & cheaper with David Siteman Garland

January 09, 2011

Inbound Now #1 - Measuring Online Influence with Jason Keath

December 30, 2010

Nonprofits & Sustainable Social Media Marketing Campaigns

September 16, 2010

Sponsorship - Answering the questions

August 24, 2010

6 Changes to Boost Your Website's Performance

August 04, 2010

Using Social Media to Empower Your Fans to Build More Support

July 07, 2010

How To: Incorporate Audio into your Social Media Mix

June 30, 2010

6 Things Non-profits Ought to Know About Search Engine Optimization

June 25, 2010

6 WordPress Plugins To Improve Your Site

June 11, 2010

The Socialize Your Cause Story Thus Far

June 09, 2010

Being an Open Book: What Your Supporters Want to Know About You

June 03, 2010

Using Content to Build Authority & Trust with David Siteman Garland

May 26, 2010

8 Ways to Use Behavioral Economics to Benefit Your Nonprofit

May 21, 2010

Nine Tips For Successful Web Copy

May 12, 2010

You Have Something To Give

May 10, 2010

The Zen of Social Media Marketing with Shama Kabani

May 07, 2010

Social Media. Why Now?!

April 28, 2010

14 Amazing Photography Sites to Source Powerful Images

April 21, 2010

SEO: 5 Tips For Maximizing a Non-Profit's Website

April 16, 2010

1000+ WordPress Themes to Spruce Up Your NPO's Site!

April 14, 2010

The Top 12 Nonprofit Blogs you should be reading

March 31, 2010

Building Trust Through Blogging

March 26, 2010

7 Ways to Make Your Email More Social

March 17, 2010

What is RSS and Why is it Important to Your Cause?

March 10, 2010

Getting Your Non-Profit Started in Social Media

March 05, 2010

Top 25 Most influential Non-profit Tweeters

March 03, 2010

6 reasons why your Static HTML site is bad for your Non-profit.

February 25, 2010

6 reasons why Non-Profits need a blog

February 15, 2010

Markdown Styleguide

January 09, 2010