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
- Minimal when the page is mostly sentences and projects.
- Editorial orPortfolio when pictures lead.
- Bento when the work is a set of different-sized pieces.
- Elegant when the page is a practice someone might hire.
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.

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.
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.
GitHub
harbor-labs/harbor
The CLI for Ink: run, snapshot, and compare notebooks without standing up a service.
Types as documentation — Northshore ConfTalk notes and slidesWriting
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.
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
- A blog with no essays.
- A logo wall instead of a project.
- A second page you will not maintain.
- Any sentence that starts by announcing the importance of the internet.
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.