---
title: "Blog | Matt Fehrenbach"
description: "Writing about web development, creative coding, and things learned along the way."
canonical: https://m4t.tf/blog
---

[![](/favicon.png)](/)

[](/cv "CV")

menu

blog
====

I write about web development, creative coding, and things I learn along the way.

[Home](/)[Photography](/photography)[Vignettes](/vignettes)[Music](/music)

*   [
    
    Failing cheaply
    
    2026-09-21
    
    Ordering your checks by how expensive it is to ignore them.
    
    ](/posts/20260921-1-failing-cheaply)
*   [
    
    LLMs are tactical programmers
    
    2026-09-08
    
    LLMs are very good at making changes. They are less good at deciding which changes should exist in the first place.
    
    ](/posts/20260908-1-llms-are-tactical-programmers)
*   [
    
    Make AI writing sound human with the humanize skill
    
    2026-09-08
    
    The humanize skill removes language that performs importance while preserving meaning, voice, and useful detail.
    
    ](/posts/20260908-2-humanize-skill)
*   [
    
    Relentless interviews for your plans, with the grill-me skill
    
    2026-07-16
    
    Stress-test your plans and designs before writing code, with a Socratic agent that grills you one question at a time.
    
    ](/posts/20260716-1-grill-me-skill)
*   [
    
    Plan, iterate, then implement with OpenCode
    
    2026-06-30
    
    A three-phase loop that gets better code out of AI coding agents.
    
    ](/posts/20260630-1-plan-iterate-implement-with-opencode)
*   [
    
    Orchestrating AI coding agents with Sandcastle
    
    2026-06-26
    
    Sandcastle is a TypeScript library and CLI for orchestrating AI coding agents across 6 providers and 4 sandbox runtimes.
    
    ](/posts/20260626-1-orchestrating-ai-coding-agents-with-sandcastle)
*   [
    
    How I Tailored Sandcastle for Ogle
    
    2026-06-26
    
    Taking Sandcastle's parallel-planner-with-review template and tailoring it to a Go project's specific needs - custom Docker image, phase-specific models, Go-specific prompts, and the scrivener documentation audit.
    
    ](/posts/20260626-2-how-i-tailored-sandcastle-for-ogle)
*   [
    
    Fractal renders on JWildfire
    
    2026-06-23
    
    JWildfire, a free tool for making generative art.
    
    ](/posts/20260623-1-fractal-renders-on-jwildfire)
*   [
    
    Ogle at logs
    
    2026-06-18
    
    A terminal dashboard for Docker Compose projects.
    
    ](/posts/20260618-1-ogle-at-logs)
*   [
    
    Yet another blog
    
    2026-06-15
    
    The story behind making this blog.
    
    ](/posts/20260615-1-why-i-built-yab)
*   [
    
    Lazy commit messages
    
    2026-06-15
    
    I wrote an agent skill to reduce hassle.
    
    ](/posts/20260615-2-lazy-commit-messages)

Explore[Blog](/blog)[Photography](/photography)[Graphics](/graphics)[Music](/music)[Vignettes](/vignettes)

Site[About](/about)[Contact](/contact)[Privacy](/privacy)

Resources[Developers](/developers)

Back to top