The Lab

A live agent, built like it's in production.

This is a real Claude agent you can talk to, not a recording. The interesting part isn't that it exists. It's how it's secured. Ask it anything about the work, then read exactly how the door was built.

Ask me about Roody's work, the architecture behind it, or how this chat is secured. Powered by Claude, running live.

Live Claude (Haiku) behind a server-side door. Your message goes to a Netlify Function that holds the API key, never to your browser. Capped and rate-limited. See how this is secured.

How this is secured

The plumbing is the point.

Shipping a live chatbot is table stakes. Securing a true secret behind a server-side door, and knowing which keys even need it, is the engineering an FDE does inside a customer's live environment. Here's the whole design, in plain language.

The locked-door pattern

Your message doesn't go to Claude from your browser. It goes to a small serverless function that holds the API key and talks to Claude on your behalf, then streams the answer back. The browser never holds the key, and the key never appears in anything you can download or inspect. A static site can't keep a secret, so the secret lives behind a door and the page only knows how to knock.

A true secret vs. a public-by-design key

Not every key is a secret. The Anthropic API key is a true secret. Leak it and someone can run up unbounded charges, so it lives only in the function's runtime environment, never in the code. The form on the contact page uses a different key that's public by design (worst case, someone gets spam), so it sits safely in the page. Treating both the same way is cargo-cult security. The discipline is knowing which is which and protecting each by its actual risk.

Layered guardrails

The door has more than one lock. Requests are only accepted from this domain (CORS). A privacy-first CAPTCHA (Cloudflare Turnstile) is verified on the server before a single token is spent, so bots can't run up the bill. Each visitor is rate-limited, and there's a hard daily ceiling across everyone as a spend guard. The model is capped on output length, sandboxed to talk only about Roody's work, and given no tools, the smallest possible blast radius. Defense in depth: if one layer is bypassed, the others still hold.

Key-rotation discipline

An API key that's ever been exposed, even just shown on a screen, is treated as compromised and rotated: revoked, a fresh one minted, and the new one placed straight into the server's secret store, never pasted into a file or a chat. Plus a spend limit and a budget alert on the account itself, so even a worst case is bounded. Assume exposure, rotate without hesitation, and cap the downside.