Lab

CV AI agent —
Ask Eve

Parsed a 10-tab Google Sheet of personal CV data and vibecoded it into a navigable interactive profile + an AI agent that answers questions about the work. Built with Claude, zero templates, no design tools.

The problem

A CV is a dead document. It sits in a PDF, gets skimmed for 30 seconds, closes. There's no way to ask it a question, no way to filter by what you actually care about, no way to understand the person behind the entries.

I had a Google Sheet with 10 tabs covering a decade of work across brand strategy, art, writing, speaking, press, and education. The question was whether I could turn that raw data into something worth visiting.

What I built
Part 1
Interactive CV — tabbed, filterable, fully linked. All 10 sections navigable in one page.
Part 2
AI agent — answers questions about the work in first person, sourced from actual CV data.
Stack
Vanilla HTML, CSS, JS. Anthropic API. No frameworks, no templates.
Deployed
GitHub + Vercel. Live at ivonne-lab.vercel.app/ask
How it came together
01
Uploaded the spreadsheet
Dropped the .xlsx into Claude. It parsed all 10 tabs — Work, About, Talks, Writing, Press, Exhibitions, Education, Testimonials — and extracted the raw data.
02
Built the interactive CV
Claude designed and coded a tabbed interface with dark editorial aesthetic. Tab navigation, linked entries, responsive. No design brief — just described the vibe and iterated.
03
Layered in the AI agent
Built the Ask interface on top — a chat UI that calls the Anthropic API with a system prompt trained on the full CV. Voice guidelines written to match how I actually communicate.
04
Deployed as a mini-site
Multiple HTML files with shared nav. Pushed to GitHub, deployed on Vercel. Live in under an hour from first prompt.
Reflection

The interesting thing about this build wasn't the technical part — it was the editorial part. Deciding what goes in the system prompt, how the agent sounds, what it refuses to answer, what it volunteers. That's brand strategy applied to AI.

The agent is live — try it. Ask Ivonne ↗