Why I Moved a Project Off Cloudflare Workers Before It Even Launched
Migrating Notary Atlas from Cloudflare Workers + D1 to Bunny Magic Containers — and why the edge runtime wasn't worth the tradeoffs for a Next.js app.
Writing about course creation, instructional design, solopreneurship, and the journey of going independent.
Migrating Notary Atlas from Cloudflare Workers + D1 to Bunny Magic Containers — and why the edge runtime wasn't worth the tradeoffs for a Next.js app.
Why I moved from cloud note apps to self-hosted SiYuan Note on a Synology NAS, the privacy and control benefits, and the setup considerations.
Building a native Whisper transcription app on an M1 iPad Pro using whisper.cpp, SwiftUI, and free Apple developer signing — no server, no Python, no monthly fee.
How to build an AI content workflow that generates, optimizes, and publishes SEO blog posts at scale — with human quality control at every step.
Why every solopreneur should have a tools/uses page, and how to build one with affiliate links that doesn't look like advertising.
Building a portable AI transcription toolkit using faster-whisper that works on Mac (Apple Silicon Metal) and Windows (NVIDIA CUDA) — for processing hundreds of course videos into searchable text.
Why Cloudflare Pages is the best default for deploying static Next.js sites — automatic builds, preview deploys, free bandwidth, and zero server maintenance.
How to auto-generate Open Graph images for every blog post using Satori, sharp, and Next.js build scripts.
Building a consulting business website as a static site using Next.js, MDX, and Cloudflare Pages — zero hosting costs, git-based workflow, no database to maintain.
The surprisingly fiddly details of adding social share buttons to a Next.js blog — icon library pitfalls, copy feedback UX, and share URL quirks.