Turning a cheap, low-spec server into a dedicated S3-compatible object store for images, audio, and video, instead of hosting another website on it.
A painfully slow GL.iNet Opal, rescued from a drawer with a two-step official firmware upgrade instead of a U-Boot flash.
An open-source voice cloning project on a consumer GPU, then wired into my publishing pipeline so blog posts turn into short videos automatically.
Pairing a small local Qwen3 4B model with Immersive Translate for a private, uncapped translation setup — plus a prompt trick that speeds it up.
Swapping a 2TB Google Drive image host that needed re-authorizing every few days for a self-hosted Chevereto setup behind Cloudflare Tunnel.
Telegram quietly killed Telegraph’s image-hosting support, breaking the free image pipeline my blog depended on — here’s how I patched it back together in a day.
Offloading transcription from a GPU-less NAS to a desktop with an actual GPU, exposed as a simple internal API.
Deploying the open-source RAGFlow project, testing it against real documents, and wiring it up to local Ollama models to keep costs at zero.
A simple script to auto-transcribe Obsidian voice notes, derailed twice by the NAS running out of space in root and /tmp.
A morning-commute podcast habit broken by an upstream block, not anything on my end.
Chatting with my own notes via a local model, plus a gotcha when pointing the plugin at a self-hosted One API server.
My Obsidian-based writing setup was publishing beautifully, except synced posts landed in Typecho full of raw HTML clutter — a hidden XML-RPC setting fixed it.