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 living system 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 name pulled out into a config. Fork 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 — name, accent colors, fonts, and links live in one clearly-marked section. 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 layer —
llms.txt,humans.txt, sitemap and RSS scaffolds, so humans and AI agents can read and cite your work. - A README that walks you from "git clone" to "live on your own domain" — the five steps below, written down.
It's static — HTML, CSS, a little vanilla JS. It loads instantly and reads clean to every crawler on the internet, including the LLM ones. No React, no dependencies, nothing to maintain but your own words.
Five steps to live
.dev, .io, or .com that fits your identity.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 — and it's the same five steps that ship a product, not just a portfolio. Domain, repo, host, prompt, ship. Your portfolio site is your first rep. The second one ships something real.
Fork it
The starter lives in this repo under /kit/starter/ — copy that folder and you have the box. (It's built to lift cleanly into its own repository when you want one.) The voice is the default, not the rule: change every value in the identity block and the only thing that survives is the craft. That's the point.
Read the README → See it in the wild →