Make a personal website by publishing one page, not by starting a project.

A personal website used to mean hosting, a theme, and a weekend. For most people it means a name, the work, and a URL. That is the version this guide builds.

1. Write the sentence before you touch a template

“I design small languages and the CLIs that keep them honest.” That is Alex Chen’s headline, and Alex is fictional, but the standard is real. If the sentence could introduce anyone in your field, it is not done. The personal website builderwill not invent it for you.

2. Claim the name

sayhi.page/yourname. Lowercase, short, something you can say out loud. Custom domains are not available, so this URL is the product, not a placeholder.

3. Pick a template from the work

Role pages exist if you want the choice made from the work rather than from a gallery:developers, designers, photographers, and the rest.

4. Replace the demo

Keep the bones. Change the name, the bio, the projects, and the links. Upload your own images. Three projects, or six pictures, or one clear description of a practice. Then stop.

Portrait of Alex Chen

Alex Chen

Languages, tools, and the notes between them

I design small languages and the CLIs that keep them honest. Currently at Harbor Labs, previously on the typechecker for a research notebook that got out of hand in the best way.

San Francisco

Now

Building Ink, a typed notebook format for people who write with code sitting next to the sentence. Harbor is the CLI around it — evals, snapshots, and a boringly reliable local workflow.

GitHub

harbor-labs/ink

A typed notebook format. Prose, code, and tests in one file that still diffs like a human wrote it.

TypeScript · local-first

GitHub

harbor-labs/harbor

The CLI for Ink: run, snapshot, and compare notebooks without standing up a service.

Rust · CLI
Types as documentation — Northshore ConfTalk notes and slides

Writing

Occasional notes on type systems that stay out of the way, local-first tools, and why most developer portfolios look like résumé PDFs with extra steps.

Write to AlexSlow email, real replies.

Work with me

Tell me about the project. I read every note.

Alex’s page is a useful shape for a developer: current work, two repositories described in his own words, a note, a contact form. Study the set onpersonal website examples before you copy the density. The people are fictional.

5. Add a way to reply

An email link or the contact form. The form takes a name, an email, and a message. Company is optional. If you do not want messages, do not put a form on the page to look complete.

6. Publish, then put the URL where you already send people

A social profile, a résumé, a GitHub website field, the footer of a deck. One address. If the page is really a portfolio, the next guide ishow to build a one-page portfolio, and the product page is the portfolio builder.

What to skip

Questions

Do I need to know how to code?

No. You edit blocks in the studio: text, projects, images, links, and a contact form. The published page is HTML, but you do not write it.

Can I use my own domain?

Not yet. The address is sayhi.page/yourname. Choose a username you would put on a card.

What if I need a blog and a shop?

Then you need a different product. SayHi is one public page. You can link out to a shop or a longer essay you host elsewhere.

Continue