Build your portfolio
site in minutes.

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.

Theme preview:
Ready to share
Clean HTML/CSS/JS export
pfdiy.com/alex-chen

Sections

navbar
hero
about editing
projects
skills
experience
contact
footer
Alex Chen

Full-Stack Developer

Alex Chen

I build fast, accessible web apps.

View my work → GitHub
EDITING

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

React TypeScript Node.js PostgreSQL Docker AWS Tailwind

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

0

Professional templates

0

Career categories

0

Runtime dependencies

$0

To build and preview

Your export deploys anywhere static files run

GitHub Pages Netlify Vercel Cloudflare Pages Render cPanel hosting Firebase Hosting Amazon S3 GitHub Pages Netlify Vercel Cloudflare Pages Render cPanel hosting Firebase Hosting Amazon S3

Edit in the browser.
Leave with code.

PortfolioDIY keeps the editor simple because the final ZIP has to stand on its own.

System-first editing

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.

Primary color
Type scale
Spacing
Aa
Aa
Aa

Export code you own

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

60 templates

Browse 9 career categories with realistic sample content you can replace in the editor.

Responsive structure

Templates are built for desktop, tablet, and mobile before they reach the gallery.

SEO files included

JSON-LD, OG tags, sitemap.xml, robots.txt, and semantic HTML are generated with the export.

Host anywhere

Use GitHub Pages, Netlify, Vercel, Cloudflare Pages, or a shared host. The export is just static files.

Recruiter checklist

The editor flags missing CTAs, low contrast text, heavy images, and broken links before you share.

Guest autosave

Guest drafts save to this browser as you type. Create an account only when you want server sync.

Code you'd show
in a code review.

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.

  • Semantic landmarks — header, main, section, footer
  • CSS custom properties for every design token
  • Zero third-party scripts or trackers
  • README with per-host deploy instructions
index.html — exported

<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

From template to export
without starting from scratch.

Start free in the browser. Sign in only when you want sync, Premium, or publishing.

STEP 01

Pick a template

60 templates are ready with realistic sample content, grouped by career category.

STEP 02

Add your content

Replace the sample name, projects, skills, and links through simple fields in the editor.

STEP 03

Tune the style

Use theme presets where they fit, or adjust colors, typography, and spacing with design tokens.

STEP 04

Export the site

Download clean HTML/CSS/JS as a ZIP and host it on any static host you prefer.

Why people use it.

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."

T

T. Nakamura

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."

S

S. Okonkwo

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."

R

R. Kovač

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."

T

T. Nakamura

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."

S

S. Okonkwo

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."

R

R. Kovač

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."

T

T. Nakamura

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."

S

S. Okonkwo

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."

R

R. Kovač

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."

A

A. Brennan

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."

C

C. Santos

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."

F

F. Larsson

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."

A

A. Brennan

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."

C

C. Santos

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."

F

F. Larsson

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."

A

A. Brennan

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."

C

C. Santos

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."

F

F. Larsson

UX designer, Stockholm

Common questions.

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.

Your portfolio,
ready in minutes.

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