Using local LLMs for internal linking on a static site

A developer shared a practical use case for local LLMs: creating internal links for a static website with about 400 MDX pages in one subdirectory. Instead of manually reading all pages to find relevant connections, they automated the process using local models.
Workflow
The developer first used Claude Code to write a script that created a metadata map of all MDX files. This map contained basic details like title, slug, description, and tags—but not the full page content, which would have been too resource-intensive.
With the map created, they queried every page by passing one-quarter of the map at a time to a Gemma3 27B model, running each page four times. The model was asked to find relevant pages from the map that could be linked to the main page being queried.
Problem and solution
Initially, the tags in the metadata were too broad for Gemma3 to understand, resulting in random linking. The developer identified that the data quality was the issue.
To fix this, they used Claude Code again to write another script that passed every post through the model to tag it from a predefined set. While running the site locally, they verified that the predefined tag set was being respected to ensure consistency before pushing changes live.
Technical constraints
The process required careful hardware management due to heat generation. With outside temperatures at 41°C, the computer heated up quickly, forcing the developer to stop and restart the script multiple times to prevent GPU overheating on their single 3090 Ti.
After implementing the tagging system and recreating the map, the linking process worked smoothly for the pages tested. The developer plans to manually check all 400 pages before making the changes live.
📖 Read the full source: r/LocalLLaMA
👀 See Also

Daily Claude and ChatGPT Usage Split from a Developer's Experience
A developer shares their five-month workflow split: Claude excels at long-form writing, document analysis with 200k context, nuanced comparisons, and travel planning, while ChatGPT is preferred for quick answers, image generation with DALL-E, custom GPTs, and Excel/code snippets.

Opus Handles Frontend Cleanup by Delegating to Subagents from a Playbook
A user tuned one page, documented the fixes in an ADR playbook, then had Opus split the remaining 9 pages among 3 subagents, touching 41 files with near-perfect Lighthouse results.

OpenClaw User Builds Bank and Credit Card Statement Summarization Skills
A new OpenClaw user self-hosted the tool on a hardened server and used it to develop two custom skills: one to summarize and categorize bank statements, and another to summarize credit card statements with categorization and break detection. The skills automatically generate reports when new statements appear and send Telegram notifications.

Claude Cowork Scheduled Task Automates Browser-Based Admin Work: A Real Use Case
Claude Cowork's scheduled tasks + Chrome extension automate affiliate network publisher approvals, saving hours weekly. Manual step: log in once per session.