Writing

Thoughts on code, life and everything in between.

2026

  1. Rebuilding My Site from Gatsby to Astro with a Team of Very Fast Interns

    How I used Claude Code and mattpocock/skills to grill, ticket, design and ship a full rebuild of this site in two evenings.

2025

  1. When 2500+ Pages Need Summaries: Automating Content Previews with Local AI

    How we generated summaries for 2500+ Craft CMS entries with a local Qwen2.5 model on Docker Model Runner, turning 125+ hours of manual work into about 3 hours of processing.

2021

  1. Craft CMS, Gatsby & Netlify with Live Preview! (Part 4)

    In this part we will implement Live Preview for Craft content.

  2. Craft CMS, Gatsby & Netlify with Live Preview! (Part 3)

    In this part we will install and configure Gatsby to query Craft content.

  3. Craft CMS, Gatsby & Netlify with Live Preview! (Part 2)

    In this part we will install and configure Craft in headless mode to be queried by Gatsby.

  4. Craft CMS, Gatsby & Netlify with Live Preview! (Part 1)

    A deep dive on creating a CraftCMS using Gatsby and hosted on Netlify

  5. Bulk Generate SVG QR Codes from a CSV File with Python

    Bypass your frustration with third-party QR code services by creating your own QR code generator in python.

  6. Content Blocks in Craft CMS Using Matrix Fields

    Implement easy to maintain content blocks in CraftCMS using Matrix and Twig

  7. Create social media image programmatically - Part 2

    How to create and save an social media image with Node.js and Canvas

  8. Create social media image programmatically - Part 1

    How to create and save an social media image with Node.js and Canvas

  9. Updating Gatsby Website to Version 3

    I will be sharing my experience on updating my Gatsby Site to the latest V3.

  10. Build an React toggle switch for Dark Mode

    Create a stylish, animated, React toggle switch using Tailwind and a few lines of JavaScript. Full code examples included.

  11. JavaScript & Things

    Some thoughts on JavaScript, functional programming and how they can make life easy on your everyday developer.

  12. Hello World 2021!

    New beginnings, new writings, new challenges.