A black and white portrait photo of Martin Hicks.

Journal

Notes from real projects - AWS, DynamoDB, Rust, home servers, and whatever open source tool I'm currently building.


Articles

8th March 2026

Recently Played: bringing back my Last.fm component

I had a Last.fm widget on my site in 2010. Fifteen years later, I brought it back as an Eleventy WebC component with SSR, live polling, and localStorage caching.

Read article
28th July 2025

WireGuard for safe browsing on kids' devices

Kids' devices leave the home network. WireGuard tunnels their DNS back through home filtering - everywhere, automatically.

Read article
20th July 2025

Running AdGuard Home and Unbound on a home server

AdGuard Home handles the filtering, Unbound handles the resolving. Together they give you private, ad-free DNS for your whole network.

Read article
3rd July 2025

Building a tiny Intel N100 home server

I built a silent, tiny home server for £250 using an Intel N100. It runs 24/7 on about 8 watts.

Read article
16th May 2023

Remove trailing slashes with CloudFront and 11ty

Trailing slashes and 11ty's folder structure caused redirect loops. A simple CloudFront function fixed it.

Read article
15th May 2023

Enhance CSRF package - now supports multipart form data

My Enhance CSRF plugin now supports multipart form data - meaning file uploads work with the csrf-form component out of the box.

Read article
24th April 2023

DynamoDB Streams locally with arc.codes & Enhance

DynamoDB Streams don't work locally with Dynalite. I built an arc plugin that fixes that with DynamoDB Local and a polling middleware.

Read article
19th December 2022

A mistake the internet won't forget easily

A hungover deploy, a misconfigured cache header, and browsers that refused to forget. A cautionary tale about cache-control.

Read article
17th December 2022

Eleventy 2.0 & WebC

I rebuilt two production sites with Eleventy 2.0 and WebC. Here's what I learned about HTML-first components and the gotchas to watch for.

Read article
15th December 2022

Sharing Enhance elements between projects

Sharing components across Enhance projects wasn't straightforward - so I built an arc plugin to handle it.

Read article