This garden, and how it’s built
This is the note the whole site points back to: a garden about the making of the garden. Everything here is genuinely part of building Wei Jie’s Digital Garden — the tools I reached for, the pieces I wrote, and the decisions I’m still turning over. If you want the honest version of “what is this and why does it work the way it does”, start here and follow the links out.
One garden, two lenses
It isn’t a blog and it isn’t a portfolio. It’s a single set of connected notes, and the two lenses are just different ways of looking at the same garden rather than two separate silos.
| Lens | What it collects |
|---|---|
| Experience | The professional record — things I’m working to understand, projects shipped, and milestones reached. The notes on the technologies underneath this site live here. |
| Tinkering | Experiments and things I’m building, including this garden itself, which is why this note carries the tinkering lens. |
How a note becomes a page
There is no CMS and no admin screen. The entire authoring contract is
“put a file in the repo”. A build-time step reads
content/ and produces the JSON the app reads — I wrote
up how that works in the
content compiler note, and the same story as
A content compiler that runs at build time shows up wherever I link it by wikilink.
- Drop an
.htmlor.mdfile intocontent/. - Cross-link notes with
[[wikilinks]]; backlinks are worked out for me. - Record a change of mind inline with a curated update element.
- Push to
mainand the site rebuilds.
The metadata a note declares is deliberately small:
content/first-seedling.md
---
type: experience # experience | tinkering
status: seed # seed | growing | evergreen | draft
tags: [vite, react]
date: 2026-08-23
---
The body starts here.
What’s underneath
The stack was a deliberate set of choices: Vite, React 19 and shadcn on Tailwind v4 for the build, and the spec-driven way I’m steering the whole thing in Spec-driven development with OpenSpec and AI agents. The more speculative thread is a Reaching for React Three Fiber for a knowledge graph — still an idea I’m poking at, not a finished feature. Pulling it all together is assembling the first version.
I’d left open whether this would live on a custom domain or stay on
its build URL. That’s settled now: it lives at
ng-weijie.com.