50 fixes · all solved in production

Get unstuck.

Real bugs from real indie projects, and the fixes that actually worked. Plus the templates that package them, so you skip the rabbit hole entirely.

no fluff · no guru course · just what worked

HOW A FIX HAPPENS

✗

broken

deploy fails. works locally. of course it does.

⌕

traced

binary-search the diff, read the actual error, find the real cause.

✓

fixed

root cause fixed, written up, packaged when reusable.

Latest fixes

Hard-won, specific, and reproducible.

featured · newest
Web ScrapingPython

My href regex found 0 links on a page with 101 of them

A link-extraction regex returned nothing on a page full of links. The page was fine. It ships minified HTML, where quotes around an attribute value are optional, so href=/media/x.pdf matches nothing that expects href="...".

5 min read →

TestingCI

ENOENT: scandir in CI, green on my machine, and the path was correct

A vitest suite passed locally on every run and failed the first CI job with ENOENT: scandir. The path was not wrong. The test read its fixture corpus by absolute path from a sibling repository, so a CI checkout of one repo could never contain it. The bug is a test depending on state outside the artifact under test.

3 min read →

PowerShellWindows

A log write killed the job it was logging, and the exit code still said 0

$ErrorActionPreference = 'Stop' is the setting every PowerShell guide recommends. It also promotes a failed Add-Content into a terminating error, so a file lock on the log file aborts the run from a line that does not matter, in the middle of work that does.

3 min read →

GitWindows

My editor said 10,000+ changed files and git status said 31

Both numbers were true, about different repositories. A shallow clone killed by a 60-second timeout left a repo with a valid HEAD, 6,981 files on disk, no .git/index at all, and an orphaned index.lock. With an empty index, every tracked path reads as a staged deletion.

4 min read →

SEOAstro

Search Console: "Page with redirect" on 106 pages that all return 200

An index-failure email listed 102 URLs as Page with redirect, and every one of them loaded fine in a browser. Astro's directory build format emits /about/ in the sitemap and rel=canonical, every internal href in the source said /about, and the host 308s between them. Googlebot only ever reached the site through a redirect.

6 min read →

Templates

The fixes, packaged. Drop-in, production-tested, ready to ship.

No fluff. Just what worked.

Every post here is a problem I actually hit shipping indie projects, traced to root cause and fixed. If it saved me hours, it'll save you hours.

Browse the archive