TLDRocket
Sign in

Asking Cursor to Review My Blog for Performance

raymondcamden.com

A dev asked Cursor's AI to audit his 7,000-file Eleventy blog for slow builds. It found a dead Mastodon server hanging his RSS parser for 70 seconds a shot, plus a broken glob copying 6,000 unneeded files.

Based on reporting by raymondcamden.com — read the original for the full story.

Summary, retelling and take written by AI under human oversight; images are AI-generated illustrations. How we work · Report an error

Raymond Camden runs a blog that's grown into a near seven-thousand-file monster of Markdown, JavaScript, and Liquid templates, built with Eleventy. Out of curiosity, and maybe a little masochism, he pointed Cursor at the whole codebase and asked for a performance review. He didn't exclude the Markdown files this time, which turned out to matter a lot, because Eleventy actually runs Liquid syntax through his blog posts at build time, making them quietly dynamic in ways he'd stopped thinking about.

The juiciest bug involved Mastodon. Camden has shortcodes that pull a user's latest post via RSS and render it as HTML, and several old posts were still pointing at botsin.space, a bot-focused Mastodon instance that got shut down a while back. Every failed request kept an HTTP socket open until it timed out, roughly 70 seconds each time, using the rss-parser library. The fix was a few lines: add a timeout and disable keep-alive on the request agent, then swap the dead server references for mastodon.social, where he'd already moved his bots. Simple bug, expensive consequence, classic dead-dependency story.

The second find was arguably more painful because it was self-inflicted by an AI-friendliness feature. Camden added a build step that copies a Markdown version of every post so AI agents requesting plain text get served .md files directly. But the glob pattern doing the copying ignored his .eleventyignore file, which filters out roughly 90% of his archive, posts from 2003 through 2024. So every single edit triggered a copy of 6,000-plus files, adding about three seconds of lag to a workflow where he writes, checks, and reloads fast. Cursor's suggested fix was to use Eleventy's own results array from the eleventy.after event, which already respects ignore rules, instead of re-globbing the whole input directory. Camden admits he'd simply missed this in Eleventy's docs.

A smaller cleanup involved his data-fetching scripts, which used to detect local development by checking for a hardcoded home directory path, a hack that broke the moment he switched machines. Cursor nudged him toward an environment variable instead, something obvious in hindsight but easy to never revisit once it technically works. After all three fixes, Camden's local build times dropped to about a third of a second, though his full production builds stayed roughly the same, which he's fine with since Netlify and Eleventy already handle those in under four minutes.

Camden works at Cursor, so he's upfront about the bias, and he notes other AI coding tools could probably surface similar issues. But the real takeaway isn't which tool gets credit. It's that long-lived personal projects accumulate invisible debt, dead servers, stale hacks, misconfigured ignores, that nobody notices because the site still builds and still ships. Sometimes you need something to read all seven thousand files at once to see what's actually there.

My take — AI-written commentary, not fact-checked reporting

This is a nice reminder that AI code review earns its keep on boring, sprawling, unglamorous codebases, not flashy greenfield demos. The Mastodon timeout bug is the kind of thing that survives for years because it never crashes anything, it just quietly taxes you, and that's exactly the class of problem these tools are good at surfacing. I'd be more impressed if Camden weren't a Cursor employee, but the underlying lesson, audit your own legacy cruft occasionally, holds regardless of which model does the looking.

Read more about this at: raymondcamden.com

Related stories

The daily briefing

Every AI story that matters, in your inbox by 8am.

TLDRocket reads all relevant sources, removes duplicate coverage, and summarises the day in two minutes. Follow companies and topics for alerts, or get the briefing in Slack. Free, no spam, unsubscribe anytime.