Your resume as a URL, not only a PDF

A resume site is a single purposeful page (sometimes two) that survives link sharing in email signatures and job applications. PDFs still matter for ATS uploads; the site handles humans who want a designed, HTTPS-reachable version with optional project links. Recruiters paste URLs into notes. Friends forward them. You control typography in a way a Word export rarely allows.

StaticHost hosts that page as files. Zip upload is enough. HTTPS preview is available immediately after deploy. A custom domain like resume.yourname.com gets a certificate after DNS verifies. Rollback exists when you overshare a phone number or typo an employment date. No remote build is required for hand HTML; if you generate from Markdown, build locally first—StaticHost will not run Eleventy or Hugo for you.

Product facts worth keeping straight: no forever-free plan after a ~1 day trial; Starter is $9/mo (1 site, 2 GB); Pro $30, Scale $65, Business $130 for larger quotas. No email hosting, no cPanel, no built-in CDN product. nginx uses try_files $uri $uri/ =404 with no SPA index fallback. For a one-page resume, that constraint almost never bites.

Content design that survives skimming

One index.html with:

  • Name and role target near the top
  • Short summary (three to five lines, not a manifesto)
  • Experience sections with clear dates
  • Skills as ordinary lists, not animated tag clouds that need JavaScript
  • Education
  • Links to GitHub, LinkedIn, and email
  • Optional downloadable resume.pdf beside the HTML

Avoid history-mode routers. Avoid carousels. Avoid webfont excess—see lightweight high-performance static hosting. A resume is a document with opinions about spacing, not a product marketing microsite.

Print CSS (@media print) helps when someone prints the page instead of the PDF. Hide navigation chrome in print, keep contrast high, and ensure links still show useful URLs if you care about paper copies.

Example skeleton

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Sam Ortiz — Resume</title>
  <meta name="description" content="Resume for Sam Ortiz, frontend engineer." />
  <link rel="stylesheet" href="resume.css" />
</head>
<body>
  <header>
    <h1>Sam Ortiz</h1>
    <p>Frontend engineer</p>
    <p>
      <a href="mailto:[email protected]">[email protected]</a>
      · <a href="resume.pdf">PDF</a>
    </p>
  </header>
  <section>
    <h2>Experience</h2>
    
  </section>
  <section>
    <h2>Skills</h2>
    <ul>
      <li>HTML, CSS, accessible UI</li>
      <li>TypeScript, testing discipline</li>
    </ul>
  </section>
</body>
</html>

Keep the PDF in sync with the HTML facts. Divergent dates between the two formats are a trust problem, not a hosting problem.

Worked example: publish in one sitting

mkdir resume-site && cd resume-site
# create index.html, resume.css, and drop resume.pdf here
zip -r ../resume.zip index.html resume.css resume.pdf
unzip -l ../resume.zip

Confirm archive root nesting—zip a static site without 404. Upload on Starter ($9/mo) or during trial. Open HTTPS preview. Read the page on your phone. Then attach a domain when ready—HTML website with custom domain.

Optional second page: projects.html with two or three case summaries and links back to index.html. Real files, real links. Do not invent client-only routes for a resume.

Privacy and versions

Job hunting sometimes needs a quieter URL. Options:

  • Keep content generic (city-level location, no street address).
  • Share the HTTPS preview URL for specific applications, then rotate content later.
  • Stage a candidate version on Pro before promoting to the public hostname.

Deploy history helps if you published a phone number you meant to keep off the public web—roll back, edit, redeploy. Do not embed private references’ contact info without permission. Do not upload offer letters or salary screenshots “for safe keeping” on a public static site.

Generators (optional)

Eleventy or Hugo can turn resume.md into HTML—host an Eleventy website, host a Hugo website. Still upload output only. A Markdown source of truth is nice when you regenerate PDF and HTML from shared data; it is unnecessary if you edit HTML twice a year.

When not to build a resume site this way

  • You only ever submit through ATS portals that reject URLs → invest in PDF polish; the site is optional.
  • You need password-gated resumes per employer → StaticHost has no first-class app password gate; use an unlisted URL carefully or an external gate.
  • You want WordPress resume themes with page builders → use a PHP host; this platform will not run WordPress.
  • You are tempted to build it in React “for practice” under time pressure → ship HTML; practice frameworks on a side project—host a React build online is the wrong urgency for tonight’s application.

Related

Broader personal presence: host a personal HTML website. Portfolio with case studies: static portfolio hosting. Students: static hosting for students.

Failure table (resume sites)

SymptomLikely causeFix
PDF link 404sFile omitted from zipInclude resume.pdf at archive root
Email link opens blankMalformed mailto:Use mailto:[email protected] with no spaces
Printout cuts columnsFixed widths / absolute positioningAdd @media print rules; simplify layout
Old role still visible after editCached deploy or you edited the wrong folderRedeploy; confirm preview; roll back if needed
Custom domain not HTTPSDNS not verified yetWait for verification, then certificate—do not force HTTP links

Extra procedure: accessible, printable polish before you share

Spend twenty minutes on preview HTTPS before you paste the URL into applications:

  1. Zoom to 200%—text should still wrap without horizontal doom-scrolling.
  2. Tab through links; focus rings should be visible.
  3. Confirm color contrast for body text on your background.
  4. Open the PDF link; confirm it is the same facts as HTML (dates, titles).
  5. Print preview with @media print—hide decorative nav, keep headings.
  6. Test on your phone; tap mailto: and the PDF.
  7. Only then add resume.yourname.com if you want; DNS verify → certificate. Until then the preview URL is enough for many applications.

If you published a phone number too widely, roll back from deploy history, edit, redeploy. Starter ($9/mo, 1 site, 2 GB) is the usual home for a resume site. Pro ($30) helps if you stage a confidential variant. No forever-free after ~1 day trial; no email product; no cPanel; no built-in CDN; nginx will not SPA-fallback imaginary routes—you do not need them for a resume anyway.

FAQ

Will ATS parse my HTML site?

ATS workflows usually want PDF or DOCX uploads. The site is for humans.

Can I password-protect the resume?

Not as a first-class StaticHost application feature. Prefer unlisted URLs, content discipline, or external gates.

Should I use React for a resume?

Unnecessary for almost everyone. Extra build steps slow updates when you should be editing facts.

How often should I redeploy?

When facts change—new job, new skills, new contact path—not daily vanity tweaks.

Is a subdomain better than a path on my main site?

Either works. A subdomain isolates job-hunt analytics and lets you tear it down later; a path keeps one site on Starter. See also static hosting with a custom domain.