Developers

A page for the work, not a résumé in a hoodie.

Projects, the repositories you actually want someone to open, a paragraph of context, and a way to write to you. That is a developer portfolio website when it is still one page.

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.

What belongs on the page

A stranger from a GitHub README or a conference Slack has about a minute.

01

Projects with a sentence

A project block is a title, a year, a summary, and optional tags. It is the work, not a logo wall.

02

Repositories you describe yourself

The GitHub block is a card: name, one sentence, a link, and a line of meta you write. SayHi does not pull stars, forks, or languages from GitHub.

03

The stack, said once

Put the tools in the sentence under the project. A separate “tech stack” badge row rarely tells anyone whether you can do the job.

04

A note and a way back

A text block for what you are doing now, then email or the contact form: name, email, message, and an optional company field.

A GitHub profile is a directory. A personal page is a point of view.

GitHub profile

Useful, public, and shaped like a contribution graph. Fine for the code. Thin for the reason the code exists.

SayHi page

You choose three projects, say what they are, and leave a door. The URL can sit in a bio, a résumé PDF, or the GitHub website field.

Templates for this work

Minimal

Type, space, and a few true things. This is the layout on Alex’s page.

Studio

The same blocks, darker, if the work is closer to tools and talks than to a blog.

Make it yours

Start from Alex, then delete him

Open the Minimal template in the studio with the developer demo loaded. Replace the name, the projects, and the links.

Keep the page short

Three projects beat twelve. If a repo needs a manual, link to the repository. Do not paste the README.

Publish sayhi.page/yourname

Custom domains are not available. The public address is the username URL. Put that in the GitHub website field and anywhere else that asks for one link.

Remix this developers pageOpen the live demo

Questions

Does the GitHub block sync with my repositories?

No. You write the repository name, a description, and the link. SayHi does not connect a GitHub account or display live stars.

Can I add a contact form?

Yes. The contact block asks for a name, email, and message. Company and phone are optional fields you can turn on.

Is this a résumé site builder?

It is a one-page personal site. You can link a PDF, but the page itself is projects and a bio, not an employment history.

Continue