-
Every New Smithmagus Made Search Slower: Killing the N+1 Behind Forgemage.net
Forgemage.net's smithmagus directory ran roughly seven queries per card — reviews, response time, online status, three lazy relations — plus facet counts recomputed on every filter tweak. Here's how I got a page of 24 cards from ~168 queries down to a handful, with a request-scoped batch cache and a paginate-then-hydrate pass, without touching the single-profile pages.
Read article ↗ -
Markdown for Agents, Self-Hosted: One Symfony Subscriber Instead of a Cloudflare Plan
Cloudflare converts pages to markdown for AI agents via Accept: text/markdown — on paid plans. The same HTTP contract fits in a 144-line Symfony event subscriber. My homepage went from 59 KB of HTML to 7.7 KB of markdown, same URL.
Read article ↗ -
RepoWrapped: Spotify Wrapped for a GitHub Repo, and the API That Fought Me
A weekend idea — a shareable stats page and README badge for any GitHub repo and contributor — turned into a fight with GitHub's stats API: 202s that never resolve, a top-100 wall, and a first-commit lookup you have to trick out of a header.
Read article ↗