Auria — a multi-agent portfolio-website generator
In-development prototype: upload a résumé, and 8 specialized Agents go from background understanding to style exploration to front-end generation — the goal is a personal site that looks like no one else's.
What shipped
In-development prototype · not yet launched
Status
8 specialized Agents · self-built harness (no LangChain)
Generation pipeline
352 test assertions
Tests
Problem
Job seekers need a personal website that proves who they are, but template sites all look the same and are seen through at a glance; hand it to a general-purpose LLM and it falls into mode collapse — different people get near-identical structure, palette, and copy. The real challenge: get an AI to both understand one person's unique background and produce designs that are genuinely different from one another and never generic.
Approach
The pipeline comes first, then the polish and anti-sameness work. After a résumé is uploaded, 8 specialized Agents (copy curator / background researcher / lead stylist / bespoke advisor / design director / front-end craftsman / review panel / revision triager) work in relay: understand the background → search an inspiration library distilled from 1,806 real open-source portfolios → draft 5 deliberately separated design directions → confirm with the user → generate a self-contained site line by line. Underneath, I built the orchestration harness myself instead of using LangChain: structured output, truncation-and-continue, tool loops, an NDJSON event stream, and a failure-escalation chain. Anti-sameness uses Verbalized Sampling plus oversampling 8 candidates and picking 5 by Max-Min diversification. Each version is screenshotted with Playwright first, then scored by a vision model.
AI's role in this project
The whole project is multi-agent orchestration + context engineering in practice: the specialized pipeline, the self-built harness, anti-sameness sampling, and the visual self-scoring loop are all designed and built solo. It is not a launched SaaS yet; it is my working prototype for testing how a group of Agents can reliably produce high-quality work that does not all look alike.
Why I'm building it
This website was hand-written by me. The next one, AI writes for you.
A job-hunting website is either a template (identical at a glance) or straight LLM generation (mode collapse — different people get near-identical results). Auria goes after both problems at once: understand one person's unique background, and produce designs that are genuinely different from one another and never generic.
A pipeline of 8 Agents
After a résumé is uploaded, 8 specialized Agents work in relay: copy curator, background researcher, lead stylist, bespoke advisor, design director, front-end craftsman, review panel, revision triager. They understand the background, search an inspiration library distilled from 1,806 real open-source portfolios, draft 5 design directions deliberately pushed apart, and — after confirming with the user in conversation — hand-write a self-contained site line by line.
Three core pieces of engineering
1. A self-built orchestration harness, no LangChain. Structured output, truncation-and-continue, tool loops, an NDJSON event stream, and a failure-escalation chain — all implemented by hand, because the point is full control over every step.
2. Anti-mode-collapse (a work in progress). Verbalized Sampling makes the model spell out multiple candidates explicitly, then over-sampling 8-choose-5 with Max-Min diversification forces the directions apart — this is the key to "looks like no one else's."
3. Three-tier edit triage. Second-scale patch / block redo / full-page fallback, picking the cheapest path by the size of the change. Each version is screenshotted with Playwright first, then scored by a vision model.
Status
In-development prototype, not yet launched, code being cleaned up; 352 test assertions so far. The current validation focus is the multi-agent generation pipeline, whether the five directions are genuinely different, and whether visual self-review catches obvious bad output.