notrab.dev

The Geordie Webmaster

Building a FFmpeg Processing Service with Go and Redis

Published January 19th, 2026

I've been working on a side project that stitches together videos from multiple rendering APIs. Think of it as a pipeline where different services generate clips, and I need something to combine them all into a final output and upload it somewhere.

At first, the FFmpeg logic lived inside the main project. But as I added more rendering sources, the code got messy. So I did what any reasonable person would do — I pulled it out into its own service.

Read more

Noticing my mental modes when coding with AI

Published January 8th, 2026

Lately I’ve been paying attention to how my mindset changes when I code with AI. It’s not just that things are faster. It actually feels like switching between different mental modes.

Sometimes I’m in what I think of as vibe coding. This is the experimental phase. It’s fast, playful, and driven by momentum. There’s a bit of an adrenaline rush in seeing ideas turn into code almost instantly. In this mode, my critical thinking is intentionally dialed down. I’m exploring what’s possible, not worrying too much about being right yet.

Read more

Rebuilding in Public

Published January 4th, 2026

I started rebuilding this site on Christmas Day, once everyone had gone to bed. One of my first ships of 2026.

I wanted to keep the pixelated look that Serge designed last year, but with a throwback to the early days of my career... WordPress in the late 90s, and the K2 theme.

Read more

Two Years at Turso

Published October 17th, 2025 in #turso, #career

The last two years at Turso have seen me wear many hats. Developer Advocate, Engineer, Marketer, Writer, and Product tinkerer.

I've made the decision to take on a new challenge, and will be leaving Turso at the end of October, marking my two year anniversary. Here's a look back at what I achieved.

Read more

Building a GraphQL Cart API with Durable Objects, MCP, and Drizzle

Published October 7th, 2025

I've been experimenting with Cloudflare Durable Objects for a while now, and recently shipped a rewrite of CartQL using them. The architecture turned out pretty interesting so I wanted to share how the pieces fit together.

CartQL is a shopping cart API. Each cart needs to be its own isolated unit of state that can handle mutations, track items, and eventually convert into an order. Durable Objects are a perfect fit here because each cart ID maps to exactly one DO instance with its own SQLite database.

Read more

Dynamic Theme Switching with CSS Variables and Tailwind

Published September 16th, 2025

Building flexible, themeable interfaces doesn't have to be complex.

By combining Tailwind's data attribute selectors with environment variables, you can create a clean system that switches themes dynamically without JavaScript or complex state management. Shout out to Matt Evans for teaching me this trick in a recent collaboration.

Read more