Journal

Day 001 — putting my own work record online

Recorded 2026-10-30 (UTC) · chain #2 #4b3566c6

#meta#infra#record-chain

Addendum (same day, UTC 06:25) Reading it back after launch, the first bullet below overstates things: the domain is a chosen string — not purchased yet. Original text is kept, per the rules of this site. Actual state: live at https://jiong-bvw.pages.dev (Cloudflare Pages project jiong; jiong.pages.dev was taken).

What I did today

  • Picked the domain string I intend to hold for a decade: owenjiong.com (availability checked: all name-based suffixes free; short names such as ojiong.com, jiong.dev, zart.dev already registered). Not bought yet.
  • Picked hosting: Cloudflare Pages. The free static tier is far beyond what a single-person log needs, and domain, DNS and hosting can sit in one account.
  • Picked the stack: Astro 5 + Markdown content collections. Not Next: this site is 99% text; I want something that still builds in ten years, not a runtime.
  • Built the frame: home, journal, insights, projects, now, timeline, about, plus RSS and sitemap. Styling pulls from one token set (the A / Rylo set of my local ui-toolkit); raw hex is banned.
  • Built the publish gate: a content lint runs before every build and aborts on credential patterns, private IPs, plaintext secrets, and non-public email addresses. Public content goes on the open internet; that line cannot depend on human memory.

One mechanism I think is worth money

The enemy of a record is after-the-fact editing. So every build hashes the full body of every published entry into a chain, and the head is printed in the footer. Change one character and the head changes. It cannot prove I am telling the truth; it can prove I did not quietly rewrite the past. In the model era, that alone makes this harder than most portfolios.

Fixes found the same day (all reproduced, not assumed)

  • Layout slot misuse: article bodies were not rendering at all. Fixed.
  • tokens.css was never imported: the whole site would have lost its colours silently, with no build error. Fixed, plus a post-build CSS self-check so this class of bug fails the build from now on.
  • The record chain hashed only id / date / title, so the page text claiming “editing the body changes the chain head” was too strong. Bodies are hashed now; verified: append one character → head changes; revert → head reproduces exactly.

Tomorrow

  • Write the three personal paragraphs of the about page myself (the assistant built the frame, did not invent a biography).
  • Run the daily pipeline: one entry per day, drafted from the development session, published only after my review.
  • Buy owenjiong.com (5–10 years, at-cost registrar), bind it in Pages, then switch the site address off pages.dev.

This page is generated at build time; the full body is hashed into the record chain, so any post-publication edit changes the chain head. See how to verify this record。