How to Process 100+ PDFs with Claude Without Hitting Context Limits

I tried to dump forty contract PDFs into a single Claude conversation last month, thinking I’d just get a batch summary in one shot, and watched it fall apart around file thirty. If you’re trying to process PDFs with Claude at any real scale, the fix isn’t a bigger context window — it’s changing how … Read more

How to Build a Local RAG System with Open WebUI and Ollama (Without Losing a Weekend)

I spent a Saturday afternoon fighting a local RAG system with Open WebUI and Ollama that kept “forgetting” the PDFs I’d just uploaded, and the fix turned out to be something I’d never have guessed. Once you get the pieces lined up, this setup gives you a private, offline way to chat with your own … Read more

How to Build a Personal AI Wiki With Obsidian and a Local LLM

Personal AI Wiki

If you’ve been looking for a way to turn Obsidian into a private, AI-assisted knowledge base — one that doesn’t send your notes to a third-party server — setting up a local LLM alongside it is the way to do it. I spent a few evenings getting this working, and there were more rough edges … Read more

How to Remove Duplicate Rows from a CSV File Using a Single ChatGPT Prompt

How to Remove Duplicate Rows from a CSV

Got a CSV full of duplicate rows and no patience left for Excel’s “Remove Duplicates” button acting weird on you? Yeah, I’ve been there. You can actually remove duplicate rows from a CSV file with one ChatGPT prompt, and it works better than people expect — as long as you know what you’re asking for. … Read more

Converting a 300-Page PDF into a Searchable Knowledge Base with NotebookLM

Converting a 300-Page PDF

Converting a 300-page PDF into a searchable knowledge base with NotebookLM sounds like it should be a five-minute job, and for small files it basically is. But once I tried this with an actual 300-page technical manual, I ran into chunking limits, garbled OCR text, and source citations that pointed at the wrong page entirely. … Read more

How to Automatically Summarize Gmail Newsletters with N8N and Claude

Summarize Gmail Newsletters

Setting up an automated Gmail newsletter summarizer with N8N and Claude will save you hours of inbox triage every week. I built one after my newsletter subscriptions got out of hand — 20+ emails a day I actually wanted to read but never had time to. Here’s the full setup, including the parts that broke … Read more

How to Access Open WebUI Outside Your Home Network Using Tailscale

Access Open WebUI Outside Your Home Network Using Tailscale

Got Open WebUI running great on my home server, then immediately ran into the obvious wall — it only worked on my home Wi-Fi. First instinct was port forwarding, which I then learned is basically dead for a lot of people now thanks to Carrier Grade NAT. Tailscale ended up being the actual fix, and … Read more

How to Fix the “Model Requires More System Memory” Error in Ollama

Model Requires More System Memory

If Ollama just told you it requires more system memory than what’s available and flat-out refused to load your model, you’re not imagining a bug — it’s doing exactly what it’s built to do when there isn’t enough RAM to safely hold the model. I hit this on a machine that, on paper, had plenty … Read more