The Lab Notebook
Better inputs, better AI.
Practical guides on preparing PDFs, transcripts, screenshots, video, and prompts for ChatGPT, Claude, Gemini, and vision models. Every post links to the browser-side tool that does the work.
From a Folder of Word Docs to a RAG-Ready Knowledge Base in 10 Minutes
You inherited a folder of .docx files — policies, runbooks, onboarding guides — and someone wants them queryable by an internal AI. Here's the fastest path from raw documents to a working RAG corpus.
Send a Bug Report Video to Claude Without Hitting the File Limit
Claude and ChatGPT don't accept video — but they accept animated GIFs. Here's the workflow to turn a 30-second screen recording into a sub-megabyte GIF an AI can actually analyze.
Convert HTML Emails to Markdown for AI Summarization
Pasting a forwarded HTML email into ChatGPT yields a wall of inline styles and tracking pixels. Here's how to convert it to clean Markdown the model can actually summarize — in seconds.
OCR a Receipt in 30 Seconds (Free, In Your Browser, No Upload)
Need to digitize a receipt, business card, or screenshot of text? Skip the SaaS sign-up. Here's the fastest free workflow — accuracy tips included — running entirely on your own machine.
Why ChatGPT Silently Truncates Your Long Prompt (and How to Stop It)
ChatGPT will quietly drop the middle of a giant paste — without telling you. Here's what's actually happening with context windows, and the four-step fix that keeps every word the model needs.
Gemini's 2M-Token Context Window: How to Actually Use It
Gemini 1.5 Pro's 2M-token window is real, but bigger isn't always better. How to size your prompt, where recall starts to drop, and the workflows where a 2M window genuinely changes what's possible.
How to Convert HTML to Markdown for LLMs (and Cut Tokens by 60%)
Webpage HTML is bloated with classes, inline styles, and wrapper divs the model doesn't need. Convert to Markdown first to slash token cost and dramatically improve summarization quality.
Gemini 1.5 Pro's 2M Context: How to Actually Fill It
Google's Gemini accepts up to 2 million tokens — entire books, hours of video, hundreds of files. Here's how to assemble that much input without your computer melting.
PDF to Markdown for Obsidian, Notion, and RAG Pipelines
Why Markdown beats plain text for any workflow that lives downstream of the chat box — Obsidian vaults, Notion docs, and embedding-based RAG retrievers — and how to convert PDFs the right way.
Screenshot to Text: When OCR Beats Vision Models
Vision models are impressive, but for dense text — code, contracts, articles — old-school OCR is faster, cheaper, and more accurate. Here's when to use which.
ChatGPT Token Limit Explained (2026)
Every ChatGPT model's token limit in plain English — GPT-4o, GPT-4 Turbo, GPT-3.5 — and what to do when you hit it. Includes a free token counter and concrete examples.
The Complete Guide to Claude's Context Window
How Claude's 200K-token context window actually works — what fits, where recall starts to slip, how to count tokens accurately, and the prompt patterns that make long documents work in Claude 3.5 Sonnet, Opus, and Haiku.
Building a RAG Knowledge Base from Mixed Document Types
Most real knowledge lives across PDFs, scanned images, Word docs, and web exports. Here's how to extract them into a clean, embeddable corpus — entirely in your browser.
Token Optimization: Cut Your AI API Costs in Half
Practical, browser-side techniques to reduce input tokens without losing meaning. Compress prompts, clean documents, and prune system messages — the savings compound across every call.
Markdown vs HTML for AI Prompts: Which Saves More Tokens?
Markdown is roughly half the tokens of equivalent HTML and survives the round-trip into LLMs better. Here's the data, and how to convert any source into clean Markdown for prompts.
How to Show Animations to Claude (and ChatGPT) Using GIFs
Multimodal models reject video files but happily read GIFs. Here's how to convert short clips into AI-friendly GIFs that fit Claude, GPT-4, and Gemini's upload limits.
GPT-4 Vision: Best Image Size and Format for Accuracy
Bigger isn't better for AI vision. Here's the resolution and format sweet spot for GPT-4 Vision, Claude 3.5 Sonnet, and Gemini, plus why downscaling before upload often improves accuracy.
Cleaning Whisper Transcripts for AI Summaries
OpenAI Whisper, Otter, and YouTube transcripts are full of timestamps, filler words, and speaker noise. Here's how to strip them before sending to ChatGPT or Claude — and why it matters.
The Best Way to Feed Long Documents to Claude (and Other Long-Context Models)
Claude's 200K-token context is generous, but you'll still want to clean, compress, and structure long documents before sending them. Here's a step-by-step playbook.
How to Prepare PDFs for ChatGPT, Claude, and Gemini
A practical guide to extracting clean, AI-ready text from PDFs — born-digital and scanned — so ChatGPT, Claude, and Gemini answer accurately and don't waste tokens on headers, footers, and page numbers.