Skip to content
Free Tier Showcase
All stacks

Stack

Personal Portfolio

A portfolio site with a contact form, hosted forever for the price of a domain.

Why this stack
Cloudflare Pages or GitHub Pages hosts the static site. Resend powers the contact form (3,000 emails/mo is more than any portfolio will ever use). Cloudflare Web Analytics tells you which projects people actually click on, without cookies. The trade-off vs. a full Next.js + Vercel setup is that you give up server-side rendering and API routes — but for a portfolio you don't need them. Static + a single email-sending edge function (or Resend's REST API called directly from the form) is all the dynamism a portfolio needs.
Build order

Services in this stack

Numbered in the order they should be set up — earlier items are usually dependencies for later ones.

  1. Cloudflare Pages

    Static + Workers hosting on Cloudflare's edge with unmetered bandwidth.

    Unlimited bandwidth, 500 builds/mo, unlimited sites, Workers 100k req/day

    Hosting2026-05
  2. GitHub Pages

    Free static hosting straight from your repo — zero config for docs sites.

    100 GB bandwidth/mo soft limit, 1 GB site size, 10 builds/hour

    Hosting2026-05
  3. Top pick

    Resend

    Developer-first transactional email with React Email components.

    3k emails/mo, 100/day, 1 verified domain

    Email2026-05
  4. Cloudflare Web Analytics

    Free, privacy-friendly pageview analytics — unmetered.

    Unlimited pageviews, unlimited sites, no event tracking

    Analytics2026-05