How This Site Works

This page is the "show your work" tab. cvAI, the AI assistant on the home page isn't a chatbot widget bolted onto a static page — it's a small end-to-end system Eric designed and built himself, working hand-in-hand with AI tools. Here's the flow, from your browser to the AI and back.

Request Flow

1 · Frontend
Your Browser
Static site (HTML/CSS/JS), hosted on IONOS Deploy Now. You type a question or click a suggested chip.
HTTPS request, CORS-restricted to this site
2 · API Layer
Cloudflare Worker (r2ai-chat-api)
A standalone edge function that validates the request, applies rate limiting, and attaches Eric's background as a system prompt — the Anthropic API key lives here only, never in the browser.
System prompt + your question + recent chat history
3 · AI Model
Anthropic Claude
Generates a grounded reply based on Eric's real CV and background — not general internet knowledge.
Reply streams back through the Worker
4 · Back to You
Chat Window
The response appears in the conversation, ready for your next question.

Guardrails

Stays on topic Off-topic requests (general coding help, unrelated tasks) are politely declined — the assistant's only job is talking about Eric's candidacy.
No salary disclosure Compensation questions are redirected to direct contact instead of being answered or guessed at.
Rate limited Each visitor is capped at 10 requests per minute, and responses have a fixed length limit — built to keep the service available and costs predictable.
Grounded, no embellishment Every answer is constrained to a single source-of-truth document describing Eric's real experience — the assistant can't invent achievements or credentials.