01The idea
What happens when a design leader stops pushing pixels and starts directing? This site was the test. I set the brief, the voice and the rules; AI agents did the heavy lifting; I reviewed every frame before it shipped.
The rules were the interesting part:
- Clients stay anonymous — the story and the outcome stay in
- No confidentiality notes on case pages; they live on the terms page
- Brand-free visuals only — client names retyped out of the slides, logos masked, nothing invented
- Every claim must trace back to a deck slide, a résumé line or a feedback note
02How it's built
The pipeline, end to end:
- Read — my portfolio and craft review decks, résumé, Medium articles and old project PDFs, extracted to text and slide images
- Retype — OCR found client names on 60+ slides; a script erased each one and retyped the line without it, in a matching font, and I checked every slide by eye
- Structure — seven CMS collections: projects, experience, reviews, posts, services, lab and site settings
- Build — 33 React code components in Framer, driven through the Framer MCP, with the CMS data baked in for server rendering
- Verify — every pasted file read back and diffed; the live site checked in a browser
The check found a real bug: every case page was quietly rendering the same case, so 'next case' went nowhere. Fixed by reading the page address first.
1# find brand names on a slide, paint them out with the surrounding colour
2for word, box in ocr(slide):
3 if BRANDS.search(word):
4 bg = median(ring_around(box)) # colour just outside the word
5 fill(slide, box.pad(3), bg) # a bar, not a blur
6# then: a human looks at every crop before it ships
03What I learned
AI gets you through the first 80% at a speed no team can match. The last 20% is judgement — what to anonymise, what not to claim, which story to tell — and that part doesn't delegate.
- Write the rules down before the first prompt
- Never let the agent fill a gap with a guess; make it ask
- Verify against the live thing, not the file
The job didn't get smaller. It moved — from making every frame to directing every frame.








