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.
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.
OPENROUTER_API_KEY=sk-or-v1-your-key-here
.env
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.
Set to “Always”
Shows how much of your plan each model is using, right at the bottom.
“Run everything, un-sandboxed”
This is the YOLO switch. Keep step-by-step approval if you’re not comfortable yet.
GPT-5.2 Codex (High)
The strong, pricier option — chosen here for quality. Pick whichever top model you prefer.
“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:
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.”
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
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.
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.
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+.gitignoreand 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.