Why I made my portfolio an agent, not a document
Why I made my portfolio an agent, not a document
Four moves I made on erpik.com this year — an AI terminal, a labelling cursor, a live presence dot, and a couple of files agents read. Pull back and they all point at the same thing: a portfolio in 2026 should respond, remember, and act.
How do you turn a portfolio into an agent instead of a document?
You give it three jobs a document can't do: respond, remember, act. On erpik.com that's an AI terminal that answers in my voice, a live dot showing when I'm at my desk, a cursor that names every action, and an llms.txt that tells AI crawlers how to describe me. The infrastructure's boring now; the decision is the rare part.
My old portfolio loaded, showed you my work, sat there.
A reader scrolled, maybe clicked a case study, maybe didn't, left. Same artefact whether they came at 9 a.m. on a Tuesday or 1 a.m. on a Sunday — whether they were a recruiter, a founder, or another engineer just curious. A document.
This year I rebuilt it as something that acts — the same shift I made when I stopped shipping screenshots, one scale up.
Four moves. None of them new on their own — all of them quietly converging on the same idea: in 2026, the website that wins is the one that responds, remembers, and does things. Not the one that's the prettiest static page.
1. The terminal that knows me
There's an AI on the homepage called Ask Sam. Tap the backtick on your keyboard and a terminal slides in. Ask it anything about my work, what I'm building, whether I'm free. It runs on Claude, knows my case studies and current focus, and answers in my voice with a five-questions-a-day limit so it stays a real conversation, not a costed-out chatbot.
This bit isn't novel. What's novel is what it replaces. The Ask Sam panel does the job that a 600-word "About" page used to do — except it answers the question you actually had, not the question I guessed you'd have.
2. The cursor that names every action
Hover anything on the site. A small label trails the cursor: OPEN, READ, EXPLORE ✦, ASK ↳, JUMP ⌘. Every interactive surface tells you what'll happen before you click.
Looks like a flourish. It's actually a thesis. UI in the 2010s was about reducing clicks. UI in the 2020s is about reducing uncertainty — telling the visitor what they're about to do, in plain language, before they commit. AI interfaces already do this everywhere ("are you sure?" "this will…"). I just brought it to the cursor.
3. The live presence dot
There's a small dot in the nav. When it pulses green and says Here., I'm actually at my desk right now. My laptop pings a serverless function every 60 seconds when I'm not idle. The site knows.
After 15 minutes idle it goes amber: Around. After four hours: Off for the night / Off for the weekend / Out today — picked from UK clock and weekday. When I'm travelling I curl an override: "Off-grid, back Tuesday." No randomness; pure clock math.
This is the move that surprised me most. People who'd never have DM'd a stranger felt OK to drop me a quick note when the dot was green. "Hey, you're at your desk — quick question." That little signal of aliveness did more for my reply rate than any contact form.
4. The bits agents read
Two files at the root nobody sees: /llms.txt and /robots.txt.
llms.txt is a markdown summary written by me, for LLMs. When ChatGPT or Claude or Perplexity is asked "who is Sam Erpik?", they don't have to scrape my LinkedIn bio and guess — they read my pitch. The framing I'd want a stranger to encounter.
robots.txt explicitly invites every AI crawler I know of: GPTBot, ClaudeBot, PerplexityBot, Google-Extended, the lot. Most React templates ship blocking them. I reversed the default. I want to be in their answers.
And the homepage's JSON-LD now has a FAQPage schema that mirrors the questions Ask Sam expects. The structured-data signal Google's AI Overviews use to pull "is Sam free for a project?" straight into their answer card.
These are tiny files. They might be the most important ones on the site.
The shape underneath
Pull back. The four moves all point at the same thing.
A portfolio in 2026 should respond (Ask Sam answers your question), remember (the site has state — my live presence, your last visit), and act (the cursor names the action, the dot reflects reality, the llms.txt speaks to agents).
Old shape: I put my work in a document. You read it. Maybe you contact me. Maybe.
New shape: my site is a small, partial version of me, available to whoever needs it. It talks. It knows when I'm around. It tells AI agents how to describe me. It does some of the work a real conversation would do.
That isn't extra. That's just where the medium is going.
What's coming
The honest next step is an MCP server at mcp.erpik.com. Anyone using Claude Desktop, Cursor, Goose — any of the agent IDEs — could connect their AI to me as a tool. Five functions: getbio, listcasestudies, getavailability, asksam, getpresence. Someone's AI could query me directly without ever loading my homepage.
That's the move that turns a website into an agent surface. I'll ship it when more people use MCP clients (probably six months out — I'd rather be the early example than the late convert).
Why this should matter to you
If you have a personal site, you have a decision to make over the next 12 months.
You can keep treating it like a static document — a brochure that scales linearly with how much time you spend on it.
Or you can start treating it like a small, partial agent — one that knows you, talks for you, signals when you're around, and tells the AI ecosystem how to summarise you.
The infrastructure to do this is now boring. Claude API, a few Netlify functions, a markdown file at /llms.txt. None of it is exotic. The thing that's still rare in 2026 is the decision to do it.
I made it. Here's the site that came out of it.
---
Ask Sam directly — backtick on the homepage. Or just email me.
This page requires JavaScript to view fully. The summary above is for indexing.