Vol. II — Craft

Portfolio in a box

Most portfolio templates make you sound like everyone who used the same template. This one is the opposite bet: a site with a voice baked in — and an identity you swap out in one file.

LinkedIn caps your story at a headline. GitHub hides your best work behind private repos. If you're building with AI — shipping products, writing things, running experiments — you've already outgrown both. A personal site is your homepage on the internet — not a résumé, a page that shows how you think and what you're available for. Mine runs here, built with Claude over a couple of months with zero frontend experience going in.

So I packaged the bones of it. Not a theme marketplace, not a no-code builder — the actual files this site is made of, with the personality intact and the palette pulled up into one block at the top of the stylesheet. Unpack it, swap your identity, and you have a site that reads like a person on day one. Then you make it weird in your own direction.

What's in the box

The starter

  • One stylesheet, tokens.css — the whole look in a single file: palette, type law, the grain-and-lamplight ambient layer, and the shared chrome. Editing the top of it re-skins everything.
  • An identity block — the fonts and the whole palette live in one marked section at the top of tokens.css. Change those; keep the craft.
  • Clean templates — a home page and an essay page, already wired to the spine. No build step, no framework, no node_modules.
  • The discovery layerllms.txt and humans.txt, so humans and AI agents can read and cite your work.
  • A README that walks you from the unzipped folder to "live on your own domain" — the five steps below, written down.

It's static — HTML, CSS, a little vanilla JS. It reads clean to crawlers, including the LLM ones. No React, no build step, nothing to maintain but your own words — the one thing it pulls from another host is the Google Fonts stylesheet at the top of tokens.css, and you can drop that too.

Five steps to live

Buy a domain (~$10/yr). A .dev, .io, or .com that fits your identity.
Download the starter, unzip it, and put the files in a GitHub repo. Static source is already visible via View Source, so public costs you nothing — go private only if you add API keys.
Pick free hosting. Vercel (my choice), Netlify, Cloudflare Pages, or GitHub Pages — all deploy a static site free, with SSL.
Point your domain. Two DNS records, five minutes.
Make it yours. Swap the identity block, rewrite the copy in your voice, and let Claude help you grow it from there.

The art of prompting it forward

Once the box is live, you grow it by conversation. Don't ask for "a portfolio" — give it identity, then keep asking for what you want. You don't need the technical terms; describe the outcome:

"I'm a [role] with [X years] in [domain]. Keep the bark-and-lamplight look but make the accent cooler. Add a writing section that reads like a field journal, and a projects shelf with status pills."

You say what you want to happen; Claude figures out how to build it. That's the whole trick. Domain, repo, host, prompt, ship — and you have a site you can keep growing by conversation instead of by tutorial.

Get the box

Download the starter as a zip, unpack it, and you have the box. It is built to lift cleanly into its own repository when you want one. Change every value in the identity block and my palette and fonts are gone. The layout, the type rules, the grain and the lamplight stay.

Download the starter (.zip) → Read the README →

← the journal about the lab the studio github