Skip to content

Writing

Things I wrote

And what the fix actually was. Mostly Laravel, TypeScript and the tooling around them.

Coolify dashboard running on a Hetzner cloud server, beside a Hetzner price adjustment table showing the June 2026 increases

Featured

Moving from Vercel to Hetzner with Coolify: the guides are quoting dead prices

Almost every "move from Vercel to Hetzner with Coolify" guide was written in 2025. Hetzner raised cloud prices twice in 2026, and the exact server those guides name now costs 144% more. Here are the real numbers and the plan to pick instead.

6 Aug 2026 · Docker · 10 min read

Filter by topic 61

How I Run Claude Cowork and Obsidian as My Second Brain

My real setup for turning Claude Cowork plus an Obsidian vault into a working second brain: how I capture project ideas, keep notes that the AI actually reads, and never repeat myself across sessions.

30 Jun 2026 · Claude · 9 min read

10,000 fake GitHub repos are pushing malware. Here's how to spot one

A June 2026 campaign cloned 10,000 GitHub repos with real commit history and contributor names, then hid malware behind a README download link. Here's how it works and how to not get burned.

29 Jun 2026 · SEO · 4 min read

7 Best n8n Alternatives in 2026 (Honest, No Affiliates)

I self-hosted n8n for months and hit the license wall. Here are 7 real alternatives, from Activepieces (MIT) to Windmill (code-first), with the trade-offs nobody mentions.

24 Jun 2026 · n8n · 10 min read

Microservices won't fix a bad monolith. They multiply it

Breaking up a messy monolith doesn't fix the design. It spreads the same bad design across the network. Here's why modular monoliths come first.

24 Jun 2026 · Web Application · 6 min read

Your docs are now infrastructure for AI coding agents

Documentation used to be for the next developer. Now it is what every AI coding agent reads before it touches your code. Here is what to write and why.

24 Jun 2026 · AI · 7 min read

Why the Best Portfolio Doesn't Mean the Best Developer

A portfolio shows what a project looked like, never what it did for the client. Here's what to look at instead before you hire anyone to build your product.

24 Jun 2026 · Website · 6 min read

Why building everything your power users ask for kills your product

Power users give the most feedback and ask for the most features. Build all of it and you slowly lock everyone else out. Here is the filter I run requests through instead.

24 Jun 2026 · UX · 6 min read

Why your developer has been "80% done" for 3 weeks

The first 80% of a feature is one easy path. The last 20% is hundreds of ways it can break, and that's where the time goes.

23 Jun 2026 · Tools · 7 min read

Astro 7 is here, and it's all about build speed

Astro 7 rewrote the compiler in Rust, moved Markdown to a Rust pipeline, and shipped Vite 8. Builds are 15 to 61 percent faster. Here's what to upgrade now.

23 Jun 2026 · Rust · 2 min read

How I Build in Public Without Wrecking My Deep Work

My actual system for sharing work consistently as a lead engineer: how I capture ideas, post without breaking focus, and keep social media from eating my day.

22 Jun 2026 · Tools · 5 min read

TypeScript 7 is written in Go now. Here's what it means for your stack

TypeScript 7.0 RC is here, rewritten in Go and about 10x faster than 6.0. What's actually new, whether you should upgrade, and the one migration gotcha to plan for.

21 Jun 2026 · Typescript · 6 min read

Connect Claude to WordPress in 5 minutes with application passwords

WordPress application passwords let Claude read, draft, and edit your site over the REST API. No plugin, no code. Here is the setup, the security framing, and the one gotcha that trips people up.

20 Jun 2026 · Claude · 6 min read

One email when the next one lands

No sequence, no course, no webinar. Leave from any email.