Skip to main content
    • An icon of a blank piece of paper with the bottom right corner turned up.
    • The Netlify logo.
    • A yellow square with the black letters JS at the bottom right.
    My website screenshot, showing my home page with a next Twitch stream section, showing the time in GMT

    How to get the user’s timezone in JavaScript with Edge Functions

    12 Dec 2022 4 min read

    • An icon of a laptop with angled brackets on the screen.
    • A yellow square with the black letters JS at the bottom right.
    My Twitter profile in Brave browser, showing the install app popup available from the address bar, which asks you to confirm whether you want to install the Twitter PWA on that machine.

    Single-page applications, multi-page applications, the history of Twitter tech, and a failed project

    15 Nov 2022 8 min read

    • An icon of a blank piece of paper with the bottom right corner turned up.
    • The Netlify logo.
    • A yellow square with the black letters JS at the bottom right.
    Personalization with Netlify Edge Functions plus HTTP referer header — white text on a blue gradient background

    Personalize your static site based on a previous site referral

    25 Oct 2022 10 min read

    • A yellow square with the black letters JS at the bottom right.
    Me with my hands on my head, looking a little confused, with the text I changed my mind, and an embarrassed emoji.

    I changed my mind about writing new JavaScript frameworks

    3 Oct 2022 4 min read

    • An icon of a blank piece of paper with the bottom right corner turned up.
    • A yellow square with the black letters JS at the bottom right.
    • An icon of a cloud with an up arrow at the centre.
    • The Netlify logo.
    Personalisation at the edge, with no client side JavaScript

    Add personalization to static HTML with Netlify Edge Functions — no browser JavaScript required

    11 Aug 2022 8 min read

    • A yellow square with the black letters JS at the bottom right.

    Should I write a new JavaScript framework?

    22 Jun 2022 1 min read

    • An icon of a blank piece of paper with the bottom right corner turned up.
    • A yellow square with the black letters JS at the bottom right.
    • The Netlify logo.
    Ben Holmes and me on a live stream, I'm pointing to Ben and he's in a rocket with a space helmet on. We're superimposed on top of the Astro website, with the Netlify logo in the bottom left.

    How to deploy an Astro site

    12 Jun 2022 9 min read

    • An icon of a blank piece of paper with the bottom right corner turned up.
    • A yellow square with the black letters JS at the bottom right.
    • The NodeJS logo in white, featuring the letters JS outlined by a hexagon.
    A terminal showing the command npx whitep4nth3r which has output a box with a list of links inside, the titles of the links are coloured with the brand colours, eg youtube is white text on a red background, and there's a little intro paragraph as well.

    Build a business card CLI tool

    8 Jun 2022 5 min read

    • An icon of a blank piece of paper with the bottom right corner turned up.
    • The Contentful C logo in blue, yellow and red.
    • The GraphQL logo in the GraphQL pink showing a hexagon shape with blobs on each edge, representing the graph node structure of GraphQL itself.
    • A yellow square with the black letters JS at the bottom right.
    An illustration on a bright yellow background, showing the GraphQL logo, $slug, and a padlock to denote security.

    TIL: How to use GraphQL variables to give my queries type safety

    21 Oct 2021 4 min read

    • An icon of a blank piece of paper with the bottom right corner turned up.
    • An icon of a laptop with angled brackets on the screen.
    • A yellow square with the black letters JS at the bottom right.
    • A white triangle representing the Vercel logo.
    A collage of GraphQL conf, Nextjs Conf and Fast Forward Conf social sharing event tickets in a range of desktop and mobile views.

    How to build a personalized image social sharing app with Cloudinary and Next.js

    7 Sep 2021 11 min read

    • A white triangle representing the Vercel logo.
    • The Netlify logo.
    • The pink Jamstack logo that features a blocked white J shape on a pink background.
    • A yellow square with the black letters JS at the bottom right.
    A screenshot from the Building with Next.js Cassidy Williams and Salma Alam-Naylor Architecting with Next.js 2021 video showing Cassidy on the left and Salma on the right against a Netlify branded background.

    Why I love building with Next.js — a fireside chat with Cassidy Williams of Netlify

    1 Sep 2021 1 min read

    • An icon of a blank piece of paper with the bottom right corner turned up.
    • A yellow square with the black letters JS at the bottom right.
    • An icon of a laptop with angled brackets on the screen.
    • A white triangle representing the Vercel logo.
    A YouTube thumbnail featuring images of myself and Ebonie, the title

    A Next.js complete beginner tutorial using the Spotify API

    4 Aug 2021 1 min read

    • An icon of a blank piece of paper with the bottom right corner turned up.
    • The pink Jamstack logo that features a blocked white J shape on a pink background.
    • A yellow square with the black letters JS at the bottom right.
    • The NodeJS logo in white, featuring the letters JS outlined by a hexagon.
    • A white triangle representing the Vercel logo.
    An illustration showing a web page, a magnifying glass, and the Next.js logo

    How to add Algolia InstantSearch to your Next.js application

    1 Jul 2021 9 min read

    • An icon of a blank piece of paper with the bottom right corner turned up.
    • The Contentful C logo in blue, yellow and red.
    • A yellow square with the black letters JS at the bottom right.
    • The GraphQL logo in the GraphQL pink showing a hexagon shape with blobs on each edge, representing the graph node structure of GraphQL itself.
    Illustration of a GraphQL logo with menu options to the right of it.

    How to filter entries by linked references in GraphQL

    14 Jun 2021 4 min read

    • The Contentful C logo in blue, yellow and red.
    • A yellow square with the black letters JS at the bottom right.
    An illustration of web browser windows, the GraphQL logo, the Grammarly logo and a video embed representation.

    Rich Text field tips and tricks from the Contentful DevRel team

    26 May 2021 4 min read

    • An icon of a blank piece of paper with the bottom right corner turned up.
    • A white triangle representing the Vercel logo.
    • The Contentful C logo in blue, yellow and red.
    • A yellow square with the black letters JS at the bottom right.
    • The GraphQL logo in the GraphQL pink showing a hexagon shape with blobs on each edge, representing the graph node structure of GraphQL itself.
    An illustration of multiple browser windows with the Next.js logo

    Paginating your Contentful blog posts in Next.js with the GraphQL API

    22 Apr 2021 13 min read

    • The Contentful C logo in blue, yellow and red.
    • A yellow square with the black letters JS at the bottom right.
    • An icon of a blank piece of paper with the bottom right corner turned up.
    Illustrated image showing how rich text is rendered with JS

    Rendering linked assets and entries in the Contentful Rich Text field

    13 Apr 2021 9 min read

    • The Contentful C logo in blue, yellow and red.
    • A yellow square with the black letters JS at the bottom right.
    • The GraphQL logo in the GraphQL pink showing a hexagon shape with blobs on each edge, representing the graph node structure of GraphQL itself.
    An illustrated image of a number screens covered in different type of content assets, representing linked asset entries

    Exploring linked entries and assets in Contentful with JavaScript via REST and GraphQL

    13 Apr 2021 7 min read

    • An icon of a blank piece of paper with the bottom right corner turned up.
    • A yellow square with the black letters JS at the bottom right.
    • The NodeJS logo in white, featuring the letters JS outlined by a hexagon.
    A YouTube thumbnail showing a screenshot from a live stream with the words NODE MODULES?! and the whitep4nther logo

    How to build, test and release a node module in ES6

    10 Apr 2021 5 min read

    • An icon of a blank piece of paper with the bottom right corner turned up.
    • An icon of a cloud with an up arrow at the centre.
    • The NodeJS logo in white, featuring the letters JS outlined by a hexagon.
    • A yellow square with the black letters JS at the bottom right.
    A screenshot of one of my tweets that shows the twitter large summary card open graph image

    3 ways to use Puppeteer and Node.js to screenshot web pages and generate Open Graph images for socials

    17 Mar 2021 6 min read

    • An icon of a blank piece of paper with the bottom right corner turned up.
    • The Contentful C logo in blue, yellow and red.
    • A yellow square with the black letters JS at the bottom right.
    • An icon of a cloud with an up arrow at the centre.
    • The Netlify logo.
    A screenshot of the thingoftheday.xyz RSS feed in an RSS reader

    How to generate an RSS feed for your blog with JavaScript and Netlify functions

    8 Mar 2021 5 min read

    • An icon of a blank piece of paper with the bottom right corner turned up.
    • The Contentful C logo in blue, yellow and red.
    • A yellow square with the black letters JS at the bottom right.
    • The GraphQL logo in the GraphQL pink showing a hexagon shape with blobs on each edge, representing the graph node structure of GraphQL itself.
    A screenshot of the styled microblog page

    How to build a lightweight microblogging site with Contentful, vanilla HTML, CSS and JavaScript

    5 Feb 2021 9 min read