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.

Workflows··6 min read

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.

Vision··5 min read

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.

Workflows··5 min read

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.

Vision··4 min read

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.

Techniques··5 min read

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.

Models··9 min read

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.

Techniques··7 min read

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.

Models··6 min read

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.

Workflows··8 min read

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.

Vision··5 min read

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.

Models··7 min read

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.

Models··11 min read

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.

Workflows··7 min read

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.

Techniques··6 min read

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.

Techniques··5 min read

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.

Vision··5 min read

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.

Vision··6 min read

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.

Workflows··5 min read

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.

Models··7 min read

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.

Workflows··6 min read

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.