Resources

The playbook behind the portfolio

The conventions that let fifteen sites ship in a summer. Nothing here is clever — it's the same handful of decisions, made once, applied everywhere.

The deploy stack

Every site in the index ships the same way:

The standard netlify.toml starts here:

[build]
  publish = "."
  command = ""

[[headers]]
  for = "/*"
  [headers.values]
    X-Frame-Options = "SAMEORIGIN"
    X-Content-Type-Options = "nosniff"
    Referrer-Policy = "strict-origin-when-cross-origin"

# Assets change often while iterating — revalidate each load
# (cheap 304 via ETag) so fixes go live immediately.
[[headers]]
  for = "/assets/*"
  [headers.values]
    Cache-Control = "public, max-age=0, must-revalidate"

The launch checklist

SEO plumbing goes in on day one — it takes ten minutes and never has to be retrofitted:

Launching dark, going public

A site running on sample data can be live without being findable. The pattern:

Two hard-won cautions that belong in every deploy review:

DNS patterns

Two patterns cover the whole portfolio:

Either way, HTTPS provisions itself once DNS propagates. Verify with a real request, not the dashboard.

How progress gets captured

Every site in the index has a status page with a timestamped snapshot of its current state, the paths on the table, and a requirements checklist. The data behind those pages lives in one JSON file in the repo. When recommendations get adopted, the review runs again: completed requirements move to the done list, a new dated snapshot lands in the progress log, and the pages regenerate. The index is a build log, not a museum.

← Back to the index