Vibe EngineeringSMIT · AI Agentic Engineering
Class 5 · 5.4

The YOLO build: a portfolio site with an AI digital twin

One instruction, a stunning Next.js site. A second, an AI that answers questions about your career. Then we come back and make sure we understand every line.

🎯 Goal: ship a site + digital twinRead: 12 min🧰 Tools: Cursor · OpenRouter

Time to actually YOLO. We’ll deliberately break the rules from 5.2 — no agents.md, little checking as we go — because for a throwaway MVP that’s fine. Then, at the end, we’ll come back and put a professional finish on it. Everything here is optional and a choose-your-own-adventure: your results will differ, and that’s the point.

01Set up the project

Open a fresh window in Cursor (or your IDE of choice) and create a new empty folder — call it site. Two small files matter enormously, so create them carefully.

Create .env

Right-click → New File, named exactly .env. Paste your OpenRouter key in the format below and save. The spelling has to be exact or nothing will work.

Create .gitignore

Another new file, .gitignore, listing .env so your secret never lands in a repository. Good practice even before a repo exists.

Add your profile

Save your LinkedIn profile as a PDF (Resources → Save to PDF) — or paste the text into a file, or reuse your CV — and drop it into the site folder as LinkedIn.pdf. This is what the site will be built from.

.env
OPENROUTER_API_KEY=sk-or-v1-your-key-here
.gitignore
.env
Using OpenAI directly?

If you’d rather use an OpenAI key, name the variable OPENAI_API_KEY instead and adjust the prompt accordingly. Whatever you choose, the name must match exactly.

02Put Cursor into YOLO mode

Open settings (Ctrl/Cmd+Shift+J) and make three changes.

Agents → Usage summary

Set to “Always”

Shows how much of your plan each model is using, right at the bottom.

Agents → Auto Run

“Run everything, un-sandboxed”

This is the YOLO switch. Keep step-by-step approval if you’re not comfortable yet.

Models

GPT-5.2 Codex (High)

The strong, pricier option — chosen here for quality. Pick whichever top model you prefer.

Un-sandboxed means un-sandboxed

“Run everything” lets the agent execute commands without asking. That’s the whole point of YOLO, but the risk is real — only enable it when you’re watching, and never on a machine or folder you can’t afford to have changed.

03Prompt one — build the site

On full YOLO we skip the agents.md and just fire off a single instruction. Turn off “auto” model selection, choose GPT-5.2 Codex High, and send:

prompt → GPT-5.2 Codex High
Please build me a professional website running locally.
My LinkedIn profile is in LinkedIn.pdf.
Make the website stunning. Enterprise meets edgy.
It should include about me, my career journey, and links
to a portfolio for the future. Iterate to make it as slick
and professional as possible, and let me know when complete.
Use Next.js.

The agent plans, creates a web/ sub-folder, and works. When it hits an error running in the root, it navigates around it. If the page won’t come up, the laziest-but-effective YOLO move is to copy the error straight back into the chat with no explanation and say “make it work.”

Run it

cd web then npm run dev, open localhost:3000, and you should meet an “enterprise-meets-edgy” site built from your profile — about-me, career journey, a portfolio link, even a working email link.

04Checkpoint before you go further

Save a snapshot now

YOLO can wreck things in one step. The right way is Git — commit at each good point (and remove the stray repo Next.js creates under web/ so you have just one). The poor-person’s version: duplicate the whole site folder and keep the copy as a restore point.

05Prompt two — add the digital twin

Now the AI part. Pick a model from OpenRouter’s Models page — searching free shows the free tier; the GPT-OSS open-source models have both a free and a cheap paid version. Copy the exact model name and drop it into the prompt.

prompt → GPT-5.2 Codex High
Please now add the ability to chat with an AI "digital twin"
that can answer questions about my career. Please use OpenRouter.
My OpenRouter API key is in the .env file in the project root.
Please use the model named <paste-model-name>.
Make the changes, make sure it works, and let me know when ready.

Run it again and you’ll have a digital-twin chat section that really calls OpenRouter. It won’t be perfect — expect a bit of jankiness (a button that does nothing, a page that jumps to the wrong spot). That’s normal, and it’s exactly what the next step is for.

06When you get stuck in a rut

Sometimes you ask for the same fix four or five times and the model keeps missing — colours wrong, layout broken. Frustration builds. The technique that breaks the loop:

“Don’t do it that way. Remove what you did and build a completely different chat interface.” — a fresh attempt is often easier than debugging the stuck one.

That single reframe fixed the chat UI here after several failed patches. Knowing when to restart a piece instead of nudging it is a core vibe-coding skill.

07Understand it, then have it reviewed

We broke the rules to build fast; now we honour them by making sure we own the code. Two prompts do most of the work — and the second shows off a genuinely powerful move.

Ask for a beginner tutorial

“Write a comprehensive tutorial in Markdown for a complete beginner: a summary of the technology, a high-level walkthrough, a detailed code review with samples, and five self-review suggestions for improvement.” Keep drilling — “build this out, give me more” — until you truly understand it.

Have a different model review it

Switch the model in Cursor to Claude Opus 4.5 and ask: “Do a comprehensive code review of this project and write it to review.md, including remedial actions — don’t change any code.” A second, differently-trained model brings a fresh perspective.

Feed the review back

Send the review to Codex: “Read this and implement the remedial actions, or say if you disagree.” You’ve just had two frontier models collaborate on one codebase.

Codexwrites the code Opus 4.5reviews it → review.md hands off the context remedial actions come back
A preview of multi-agent work: different models, each taking a piece of the puzzle.
You’re done — and you own it

You have a portfolio site with a working digital twin, a tutorial that explains it, and an independent code review. If it’s not there yet: be patient, simplify hard, get a plain site working, then add pieces back. Want it live? Ask the model to write you a deploy checklist for somewhere like Vercel.

Key takeaways

  • Set up .env + .gitignore and add your profile before prompting.
  • YOLO = Auto Run “run everything un-sandboxed” with a strong model — watch it, and only where it’s safe.
  • Checkpoint constantly (Git, or a folder copy) so a bad step is never fatal.
  • Stuck in a rut? Ask for a completely different approach instead of patching.
  • Close the loop responsibly: a tutorial to understand it, a cross-model review to harden it — own the code.