Your portfolio website in one prompt (and why "make me a portfolio" gives you a template)
· 8 min read · Career, Claude, Web development
Type "make me a portfolio website" into any AI and you get the same purple template as everyone else. Here is the prompt that doesn't, built from the blueprint of my own site, and every step from your résumé to a live portfolio on Vercel.
- For
- students and developers who want a portfolio that does not look like a template
- Tools
- Claude · React + Vite + Tailwind · Vercel
- Edition
- November 2026
TL;DR
- An AI only knows what you tell it. Five words leave it to fill everything else with defaults: a purple gradient, "Hi, I'm John", a skill bar that says 90% and three demo projects.
- The prompt below hands it a blueprint instead: your real data (from your résumé), a stack, a design system, the pages, the details that make a site feel finished, and SEO.
- It asks Claude to show a plan first and wait for your "go", so you fix the direction before any code is written.
- You get a React + Vite + Tailwind site whose content lives in data files, which you run locally and put live on Vercel's free Hobby plan.
- 1
- prompt, copy and paste
- 6
- parts: data, stack, design, pages, details, SEO
- ₹0
- to host on Vercel's Hobby plan
Why "make me a portfolio" fails
A short prompt isn't wrong, it's empty. The model has no idea who you are, what you've built or what you want the site to feel like, so it reaches for the most common answer it has seen. That is why so many AI-made portfolios look alike:
- A purple-to-pink gradient hero
- "Hi, I'm John 👋" and "Passionate Developer"
- Skill bars: JavaScript 90% (measured how?)
- To-do app, weather app, calculator
- "Made with ❤️" in the footer
- Your name, your roles, your real projects, nothing invented
- One accent colour, two fonts, lots of white space
- A case-study page per project: problem, decisions, result
- Dark mode, a ⌘K palette, a résumé preview
- A title, description and social card on every page
The prompt
Copy it, fill in the parts in angle brackets (your name, role, links, and an accent colour if you have one in mind), and attach your résumé as a PDF.
You are a senior frontend engineer and product designer. Build my personal portfolio website.
MY CONTENT
- My résumé is attached. Use ONLY facts from it: no invented projects, numbers, companies or testimonials.
Where something is missing, leave a clearly marked TODO instead of making it up.
- My name: <NAME> · role: <ROLE> · location: <CITY> · email: <EMAIL>
- Links: GitHub <URL> · LinkedIn <URL> · (optional) LeetCode / blog / X
STACK
- React + Vite + Tailwind CSS. All content in data files (src/data/profile.js, experience.js, projects.js,
skills.js…) so I can update the site without touching components.
- Deployable on Vercel or Netlify as-is. Give me the full file tree, then every file, then the exact commands
to run it locally and deploy it.
DESIGN (it must not look like a template)
- Refined minimal: warm neutral background, ONE accent colour (<COLOUR or "pick one that suits a developer">),
generous whitespace, oversized display headings.
- Two fonts: a characterful display font for headings + Inter for body. Define colours, spacing and type as
CSS variables (design tokens) and use only those.
- No purple gradients, no glassmorphism everywhere, no stock "Hi, I'm John 👋" hero, no fake progress bars
for skills, no lorem ipsum.
- Full light / dark / system theme with no flash on load.
- Mobile-first: perfect at 375 px, scales to 1440 px+.
PAGES
- Home: hero (one sharp headline about what I build, not "passionate developer"), about, experience timeline,
featured projects, skills grouped by area, contact.
- /projects and /projects/:slug: every project gets its own case-study page: problem, what I built, stack,
my decisions and trade-offs, result (only numbers from my résumé), links to code and demo.
- /blog ready for posts later, a contact page with a working mailto form, and a friendly 404.
DETAILS THAT MAKE IT FEEL EXPENSIVE
- One motion system: a single ease-out curve, subtle scroll reveals, respects prefers-reduced-motion.
- ⌘K / Ctrl+K command palette to jump to any section or project, plus open résumé.
- Résumé preview modal + download button.
- Accessible: semantic HTML, visible focus rings, alt text, AA contrast.
SEO
- Every route has its own title, meta description, Open Graph / social card and JSON-LD (Person schema).
- sitemap.xml, robots.txt, canonical URLs, fast Lighthouse scores (lazy images, no layout shift).
Before writing code, show me: the sections you'll build from my résumé, the colour + font choice, and anything
missing from my résumé that I should fill in. Wait for my "go", then build it.Keep the "Before writing code…" line at the end. It turns one long guess into a short conversation.
What each part does
| Part | What it says | Why it matters |
|---|---|---|
| My content | Use only facts from the attached résumé; leave a TODO where something is missing. | No fake projects, numbers or testimonials. A recruiter can check everything on the page. |
| Stack | React + Vite + Tailwind, content in data files, deployable as-is. | You update the site by editing one file, not by digging through components. |
| Design | One accent colour, two fonts, design tokens, and a list of things it must not do. | Naming the clichés ("no purple gradients") is what stops the template look. |
| Pages | Home, a case-study page per project, a blog, contact, a 404. | A case study shows how you think; a GitHub link alone doesn't. |
| Details | One motion system, ⌘K palette, résumé modal, accessibility. | Small, finished touches are what make a site feel built, not generated. |
| SEO | Title, description, social card and Person schema on every route; sitemap, robots.txt. | Search engines and link previews show your site properly when someone looks you up. |
| Plan first | Show the sections, colours, fonts and gaps, then wait for "go". | You correct the direction in one message instead of after 30 files. |
Use it in Claude
- 1
Open Claude
On claude.ai start a new chat, or run Claude Code in an empty folder if you want the files written straight to disk.
- 2
Attach your résumé
Add your résumé PDF, then paste the prompt with your details filled in.
- 3
Review the plan
Claude lists the sections, the colour and fonts, and anything missing from your résumé. Correct it and fill the gaps.
- 4
Say "go"
It writes the file tree, every file, and the commands to run it. Ask for changes in plain words ("make the hero shorter").
# inside the project folder
npm install
npm run devOpen the local address it prints (usually http://localhost:5173) and check it at phone width too.
Put it live on Vercel
- Push the project to a new GitHub repository.
- Sign in to Vercel with GitHub and import the repository. It detects Vite on its own; the defaults build it.
- You get a
your-project.vercel.appaddress on the free Hobby plan. Add your own domain later from the project's Domains settings if you buy one. - Every push to the main branch redeploys the site.
npm i -g vercel
vercel # first time: a few questions, then a preview URL
vercel --prod # puts it on your production URLMake it yours
- Pick the accent yourself. One colour you like beats a palette you don't.
- Write the hero line yourself. One sentence about what you build, not "passionate developer".
- Fill one case study properly before adding more: the problem, what you built, one decision you'd defend, the result.
- Add a real photo and your résumé PDF to the public folder.
- Start the blog with one post about something you built. It shows how you think.
FAQ
- Do I need to know React?
- No. Claude writes it. Running two commands and editing a data file is enough; you'll pick up the rest as you change things.
- Does it work in ChatGPT or other tools?
- The prompt is plain text, so you can paste it anywhere. It was written with Claude in mind.
- What if my résumé is thin?
- That's what the TODOs are for. Claude marks the gaps instead of inventing filler; one real project with a good case study beats three fake ones.
- Will this put me first on Google?
- No one can promise a ranking. The SEO part gives every page a proper title, description and social card, so search engines and link previews show your site correctly when someone searches for you.
- Is hosting really free?
- Vercel's Hobby plan is free for personal projects. A custom domain is the only thing you'd pay for, and it's optional.
Sources
- Vercel pricing: the free Hobby plan.
- Canva, New Year, New Job report 2025 (survey by Sago, 4,200 hiring managers and 6,000 job seekers in 10 countries).
- Claude Help Center: publish and share artifacts.
- This site, prasoonsoni.in, is where the prompt's blueprint comes from (React, Vite, Tailwind CSS, Framer Motion).