miinideckmiinideck
PricingUse casesBlog
Sign in
By role

Portfolio / about / CV on your own URL — without Webflow (2026)

A personal site updates twice a year. CMS subscriptions and full deploy pipelines are sized for sites that update twice a week. The middle ground: one HTML file at your own domain.

By miinideck·July 2, 2026·Updated August 11, 2026·8 min read
TL;DR
  • A personal portfolio, about page, or CV updates a few times a year — when a project ships, when a role changes, when a piece of writing goes live. The cadence doesn't justify a CMS subscription or a deploy pipeline.
  • Most hosting options fit either heavy ongoing sites (Webflow, Squarespace, WordPress) or platform-stamped URLs (Notion's subdomain, Linktree's domain, GitHub Pages' github.io).
  • A single self-contained HTML file at your own domain, hosted via a private-link service with searchable opt-in, covers the middle ground: own URL, indexable by search engines, no CMS fee, no deploy pipeline, edit by re-uploading.
  • For people who write the HTML in their tool of choice (Notion export, Figma export, Cursor / Claude generation), the path from "draft" to "live at yourname.com" is one DNS record and one file upload.

You ship a project worth showing. You write a short essay you want findable. A recruiter asks for a CV link instead of a PDF attachment. Each of these wants the same thing — a small URL at your own domain, easy to send, showing the current version of your work.

Most ways to do this overshoot. The site updates four times a year; the tooling is sized for sites that update four times a week.

What a personal site usually needs

Three properties, in order of how often each one matters:

  1. Your own URL. yourname.com/portfolio reads differently than yourname.notion.site/portfolio or username.github.io. For a designer, a freelancer, anyone whose work is partly judged by how their own surface looks, the URL is the framing.

  2. Renders correctly across devices. Recruiters open the URL on their phone. Clients open it during meetings. The page has to read clean on whatever they're holding.

  3. Easy to update without ceremony. When a new project ships or a role changes, the update should take ten minutes — not "log into the CMS, find the page, navigate the editor, save, deploy."

The lower-priority properties (multi-page navigation, blog, contact form, animations) are nice to have but rarely the deciding factor. Most personal sites work as one page.

The five common hosting shapes

ShapeCustom domainSetup timeOngoing costBest for
Webflow / Squarespaceyes (paid)half a dayfrom $15/moSites that update weekly, multi-page, e-commerce
WordPress (self-hosted)yesa day$5-15/moSites that genuinely need a CMS, plugin ecosystem
GitHub Pagesyes, no extra chargean hour$0 on the free plan, but the repo has to be publicDevs comfortable with git, fine with rebuild on push and with their source being readable
Notion public pagepaid plan + a per-domain add-onminutes$0 free; $20/mo with your own domain ($10 Plus + $10 custom-domain add-on, both billed monthly; the add-on drops to $8/mo/domain paid annually)Quick links, ongoing edits, doesn't mind Notion frame on free
Static HTML at private-link hostyes (paid tier)30 min$5-15/moOne-page sites, infrequent updates, own URL matters

Other vendors' prices checked 2026-08-11 against their own pricing pages and docs — Webflow's cheapest custom-domain tier, Notion's custom-domain add-on, and GitHub's own documentation for Pages plan availability. Prices move; confirm on their site before you commit.

The last shape covers the case the others don't fit cleanly — a one-page personal site at your own URL, updated by re-uploading the HTML, without a CMS or a deploy pipeline.

The walkthrough

For someone starting from "I have nothing":

  1. Write the HTML. Two paths:
    • Generate it. Prompt Claude or Cursor or v0 with a one-paragraph brief — make me a one-page portfolio with sections for selected work, about, contact; minimal design, system fonts, mobile-friendly. The cross-tool prompt patterns cover how to ask for a single self-contained file.
    • Export from a tool you already use. Notion → Export → HTML. Figma → Anima / Bravo / Dev Mode HTML export. A markdown file → Pandoc to HTML.
  2. Drop the file at a private-link host. Free tier on most hosts gives you the URL immediately; the file is one HTML, all assets inlined.
  3. Set up a custom domain. The shape is a CNAME from yourname.com (or www.yourname.com) to the host. The setup walkthrough for custom domains covers the DNS detail; takes 10-15 minutes.
  4. Enable searchable opt-in for the portfolio page. Most private-link hosts default to noindex (which is the right shape for delivery use cases); for a portfolio that should be findable in Google, flip the per-document searchable toggle.
  5. Send the link. It works on every device, opens at your domain, gets indexed by search engines.

When you ship a new project two months later, the update is: edit the HTML (or re-export from Notion / Figma), drop the new file at the same URL, done. If the change is small — a new project title, a date, a line of copy — an in-browser HTML editor is enough; nothing installs, and the file never leaves your machine. No git push, no CMS log-in, no deploy queue.

The Notion export specifically

For people who already keep their portfolio in Notion (write the project descriptions, paste the screenshots, link the case studies):

  1. Notion page → ... menu → Export → HTML (with included subpages if multi-section).
  2. The downloaded zip contains an HTML file plus an assets folder. Open the HTML, check the layout — Notion exports are usually clean and minimal.
  3. For full portability, paste the HTML into Claude with the portable-conversion prompt and ask it to inline the assets folder contents into the HTML directly.
  4. Drop the resulting single file at the host.

The win over Notion's native public page: the URL is yours, the page reads as your work product not as a Notion document, and you keep editing in Notion (which is what most people are already doing for the content).

Test the flow with a one-page draft — drop the HTML, see how the URL behaves, walk through the experience on your own phone. Free, no card, 7-day self-destruct on the anonymous tier (upgrade to permanent before pointing your domain at it).

Try it free (no signup)

What changes when the site is at your own URL

A few small things, mostly framing:

  • Email signature — "yourname.com" reads more like a professional surface than "username.notion.site/page".
  • Sharing in a bio link or LinkedIn — same shape, less explanation needed.
  • Search engine results — Google indexes the page at your domain, not the platform's. Backlinks accumulate to your domain over time.
  • Forwarding — when someone shares your URL with a third party, the third party sees your name in the URL, not the tool's.

None of these are dramatic. Together they're the difference between the portfolio reading as your professional surface and reading as a doc you happened to make in a tool.

What this is not

A static HTML at a private-link host is the wrong shape for sites that genuinely need a CMS:

  • Blog with weekly posts — the editing cadence makes the export-upload loop tedious. Webflow / Ghost / a real static site generator fits better.
  • E-commerce or paid memberships — the host doesn't have the backend logic for payments, accounts, member-only content. Shopify / a proper site is the right shape.
  • Multi-author content — the workflow needs a CMS with permissions and an edit history.

For the single-page personal portfolio that updates a few times a year, the static-HTML shape covers exactly what's needed without paying for the rest. For time-bound event microsites, the same pattern works with expiry layered on. For something that needs to update weekly with blog posts, the right shape is different.

Solo plan ($4.99/mo) keeps the portfolio permanent and removes the footer. Studio plan ($14.99/mo) adds custom domain so the URL is yourname.com directly. The per-document searchable opt-in that makes the portfolio page indexable is on every tier — one page free, five on Solo, unlimited on Studio — while the rest of your account stays default-private. Password protection — handy for a private CV link aimed at specific recruiters — is free on every account.

See pricing

Picking the path

Three quick questions:

  1. How often does the site update? Few times a year → static HTML. Weekly → CMS.
  2. Does it need its own URL? Yes → custom-domain-supporting host. No → free tier on any platform.
  3. Should search engines find it? Yes → searchable opt-in (or any platform that defaults to indexed). No → leave default noindex.

For most one-page portfolio / about / CV sites, the answers are: yearly, yes, yes. Static HTML at custom domain with searchable opt-in fits all three.

That third answer is the unusual one, and it's worth understanding rather than just switching on: making one document searchable while the rest of the account stays private is an exception to a default, not a mode change — which is exactly right for a portfolio that should be found while the client work behind it stays unlisted.

More in By role

A link-in-bio freebie that doesn't look amateur (2026)

Your freebie is the first thing a stranger ever taps in your bio — and a raw storage or design-tool URL gives you away before the page loads. Why a link-in-bio freebie should ride on a branded, own-domain link, and how to do it with no website and no server.

September 15, 2026·7 min read

The best way to deliver AI-generated work to clients (2026)

How analysts, freelancers, and agencies hand AI-built client work over as a private, branded link instead of a raw chat export — so the work reads as a finished decision, not a transcript of the model making it.

September 7, 2026·7 min read

Do you need a client portal, or just a link for each thing? (2026)

"Client portal" is one word covering two very different jobs. One of them needs software with logins and permissions. The other one is four links in an email, and buying the first when you needed the second is how a solo practice ends up administering a system nobody logs into.

September 21, 2026·6 min read

Send your own private link.

miinideck turns a single HTML file into an unguessable link with optional password and expiry. Default-private, never indexed.

See the use casesTry it free →
miinideck

HTML files, finally as links — for AI builders, agencies, and consultants. Default-noindex, default-private, default-yours.

Product

  • Pricing
  • Use cases
  • Try it free

Resources

  • Blog
  • Free tools
  • Featured on
  • Report abuse

Legal

  • Privacy
  • Terms
Listed onmiinideck listed on Product Huntmiinideck listed on Faziermiinideck listed on TheSaaSDirmiinideck listed on AIToolHuntmiinideck listed on LaunchNest
© 2026 miinideckMade for people who don't want their work indexed.