Pick a template, replace the sample content with your own, and download the files. You can host your site with us for a small price, or download the files and host them wherever you like.
Sections
Full-Stack Developer
Alex Chen
I build fast, accessible web apps.
About me
I'm a final-year CS student who ships. Three production apps, two hackathon wins, and an unhealthy obsession with fast page loads.
Selected work
TaskFlow
Kanban boards with realtime sync
React · TypeScript · Node
RecipeRadar
Find dinner from what's in the fridge
Next.js · Prisma · MySQL
Skills
Experience
SWE Intern — Finch Labs
Cut API response times 40% across the dashboard
About Section
Heading
About me
Body
I'm a final-year CS student..
Theme
Professional templates
Career categories
Runtime dependencies
To build and preview
Your export deploys anywhere static files run
Why PortfolioDIY
PortfolioDIY keeps the editor simple because the final ZIP has to stand on its own.
Edit design tokens — color, type, spacing — and every section reharmonises instantly. No free-positioning, no broken designs. You literally cannot break the layout.
Change one token, everything adapts.
Clean HTML/CSS/JS a senior engineer would ship. Zero runtime dependency on PortfolioDIY.
portfolio.zip
├─ index.html
├─ assets/css/styles.css
├─ assets/js/main.js
└─ README.md
✓ 0 external scripts
Browse 9 career categories with realistic sample content you can replace in the editor.
Templates are built for desktop, tablet, and mobile before they reach the gallery.
JSON-LD, OG tags, sitemap.xml, robots.txt, and semantic HTML are generated with the export.
Use GitHub Pages, Netlify, Vercel, Cloudflare Pages, or a shared host. The export is just static files.
The editor flags missing CTAs, low contrast text, heavy images, and broken links before you share.
Guest drafts save to this browser as you type. Create an account only when you want server sync.
The export
Semantic HTML, BEM-structured CSS with design tokens, and minimal vanilla JS. No wrapper divs six layers deep. No mystery runtime. Recruiters who view source see craft, not chaos.
<header class="site-header">
<nav class="site-header__nav" aria-label="Primary">
…
</header>
<main id="content">
<section class="hero">
<h1 class="hero__title">Alex Chen</h1>
<p class="hero__tagline">
I build fast, accessible web apps.
</p>
</section>
</main>
✓ Static HTML · 0 external requests · token CSS
The process
Start free in the browser. Sign in only when you want sync, Premium, or publishing.
STEP 01
60 templates are ready with realistic sample content, grouped by career category.
STEP 02
Replace the sample name, projects, skills, and links through simple fields in the editor.
STEP 03
Use theme presets where they fit, or adjust colors, typography, and spacing with design tokens.
STEP 04
Download clean HTML/CSS/JS as a ZIP and host it on any static host you prefer.
From our users
Notes from fictional users, based on the problems PortfolioDIY is built to solve.
"I kept delaying my portfolio because I wanted something I could still edit later. The export was readable enough that I opened the CSS and made a few changes myself."
Frontend developer, Tokyo
"The recruiter checklist flagged that I had no contact link in the hero. Obvious in hindsight. Fixed it, sent the link out, got three callbacks that week."
CS graduate, Lagos → London
"I wanted a builder that didn't leave me with a black box. PortfolioDIY gave me a normal static site, so I deployed it the same way I deploy side projects."
Backend engineer
"I kept delaying my portfolio because I wanted something I could still edit later. The export was readable enough that I opened the CSS and made a few changes myself."
Frontend developer, Tokyo
"The recruiter checklist flagged that I had no contact link in the hero. Obvious in hindsight. Fixed it, sent the link out, got three callbacks that week."
CS graduate, Lagos → London
"I wanted a builder that didn't leave me with a black box. PortfolioDIY gave me a normal static site, so I deployed it the same way I deploy side projects."
Backend engineer
"I kept delaying my portfolio because I wanted something I could still edit later. The export was readable enough that I opened the CSS and made a few changes myself."
Frontend developer, Tokyo
"The recruiter checklist flagged that I had no contact link in the hero. Obvious in hindsight. Fixed it, sent the link out, got three callbacks that week."
CS graduate, Lagos → London
"I wanted a builder that didn't leave me with a black box. PortfolioDIY gave me a normal static site, so I deployed it the same way I deploy side projects."
Backend engineer
"The medical template was the right tone from the start — professional without being cold. I changed the name and swapped in my experience, and it was done in an evening."
Foundation year doctor, Ireland
"I run a small bootcamp. My students needed portfolios before demo day. We went through the whole class in a two-hour session. Every single student left with something they were proud to share."
Bootcamp instructor
"The $7 one-time to remove the watermark is genuinely the fairest pricing I've seen. I didn't feel guilty paying it, and I didn't feel locked in if I wanted to leave."
UX designer, Stockholm
"The medical template was the right tone from the start — professional without being cold. I changed the name and swapped in my experience, and it was done in an evening."
Foundation year doctor, Ireland
"I run a small bootcamp. My students needed portfolios before demo day. We went through the whole class in a two-hour session. Every single student left with something they were proud to share."
Bootcamp instructor
"The $7 one-time to remove the watermark is genuinely the fairest pricing I've seen. I didn't feel guilty paying it, and I didn't feel locked in if I wanted to leave."
UX designer, Stockholm
"The medical template was the right tone from the start — professional without being cold. I changed the name and swapped in my experience, and it was done in an evening."
Foundation year doctor, Ireland
"I run a small bootcamp. My students needed portfolios before demo day. We went through the whole class in a two-hour session. Every single student left with something they were proud to share."
Bootcamp instructor
"The $7 one-time to remove the watermark is genuinely the fairest pricing I've seen. I didn't feel guilty paying it, and I didn't feel locked in if I wanted to leave."
UX designer, Stockholm
FAQ
Yes. You can build, edit, preview, and export without paying or creating an account. Premium is optional: $7 once for 12 months of badge-free exports across your account, plus the option to publish one portfolio at pfdiy.com/your-name without buying a domain or hosting.
When you export, you get a ZIP with semantic HTML, BEM-structured CSS driven by design tokens, and minimal vanilla JS. There are no external scripts, trackers, or runtime calls back to PortfolioDIY.
Anywhere. GitHub Pages (free), Netlify (free), Vercel (free), Cloudflare Pages (free), or any $3/month cPanel shared host. The export includes an .htaccess tuned for shared hosting.
No. You edit through field forms for names, headlines, project descriptions, skills, images, and links. The template controls the layout so content edits do not break the page structure.
Templates define the section structure and starter content. Themes define the visual direction where a template supports presets. Fixed-identity templates keep their preset switcher hidden on purpose.
Yes. Your exported site lives on whichever host you choose, so you point your domain at that host. The hosted profile that comes with Premium lives at pfdiy.com/your-name and does not support custom domains; the export is the path to your own domain.
Nothing happens to your portfolio. You exported the code — it lives on your host, fully independent of us. This is the whole point. Your site has zero runtime dependency on PortfolioDIY's servers.
PortfolioDIY is built around the export. Your site leaves as static HTML, CSS, and JS with no runtime dependency on PortfolioDIY, so you can keep hosting it even if you stop using the editor.
Still curious? Browse the Help Center or email us.
Start with a template, edit in the browser, and export a static site you can host anywhere.
Build, preview, and export without an account · Sign in only for sync or Premium