I'm one person shipping Super Notch in public. A journal is more useful than a changelog if it stays specific: what I touched, what broke, what I'd tell myself tomorrow.
So I built one on the existing graphite storefront. Static HTML, the same v3.css tokens. Railway still just serves files.
The blog shouldn't need JavaScript
I was tempted to render markdown in the browser so there'd be no build step. I rejected it. RSS and link previews should work with JavaScript off.
Instead there's a tiny Node generator with no extra packages. Markdown in posts/ becomes HTML plus RSS. Caddy file_server stays unchanged.
A Cursor Cloud Agent built it with me.
Small surface, on purpose
You get a blog index, newest first. You get this starter post, which is the format Firstmate should copy.
And there's a quiet Journal link in the landing nav, with the same link in the footer.
The landing page stayed put
No redesign. The Download CTA and the honest Talk copy stayed where they were. No Buy button.
Adding a post takes one command
Drop a new file in website/blog/posts/ as YYYY-MM-DD-slug.md, then run node website/blog/build.mjs. Commit the markdown and the generated HTML together.
That's the whole system. Each morning Firstmate can drop in yesterday's markdown, and I get a record of what I actually did instead of what I meant to do.