KSN-01 — Personal Web annotation/link layer
Add persistent personal links to text on any webpage without changing the page itself.
Principles:
- Human/individual scale: Share with people you trust, not a faceless audience.
- No application. No database. No telemetry subsystem. Just HTTP doing what HTTP already does.
- Files are the durable artifact; software is a replaceable interpreter.
- Prefer static files and standard protocols until complexity earns its way in
- Keep the source page untouched; render the user’s layer at read time
- Deterministic input should produce deterministic lookup and rendering
- Build the smallest brick that proves the behavior before designing the system around it
- No VCs, no PE
Features:
- Make URL normalization a replaceable function, not infrastructure
- Hash canonical identity, not incidental request state
- Preserve raw inputs for observability without making them part of identity.
Example
Either:
-
Install extension.
- Open the extensions page:
chrome://extensions,vivaldi://extensions,brave://extensions, etc. - Enable Developer mode.
- Click Load unpacked.
- Select:
- Open the extensions page:
dist/public/extension/
(Use dist/local/extension/ when developing against cx22.localhost.)
Example page: https://ojas.net/nsx/juggernauts, notice "impossible dream" is a link. It's just plain text w/o pw.js
Development
src/pw.js is the single source of truth. It defaults to:
const PW_BASE_URL = "http://localhost:8000/";
so the repo can be served directly with:
cd pw
python3 -m http.server
build.py generates environment-specific projections for:
https://cx22.localhost/cygnus_x1/labs/KSN-01/https://cx22.ns-x.net/cygnus_x1/labs/KSN-01/
Outputs include bookmarklet and browser-extension builds under dist/.
The bookmarklet build is a simple newline-flattened projection, not a regex-based JavaScript minifier. dist/ is disposable; edit only src/pw.js.
<!--
**My pick: KASANE / KSN** — 重ね (*kasane*), “layering / overlaying / placing one thing upon another.”
It fits Personal Web unusually well: the source page remains untouched, while your personal link/highlight layer is applied at read time. It also feels like Honda internal nomenclature rather than a startup brand.
I’d use:
**KSN-01 — Personal Web annotation/link layer**
Other strong candidates:
* **KIZUNA / KZN** — 絆, bond/connection; emphasizes trusted human links.
* **SHIORI / SHR** — 栞, bookmark; elegant, but a little too literal.
* **TSUGI / TSG** — 継ぎ, joining/splicing; good for linking pieces of the web.
* **KASUMI / KSM** — 霞, haze/veil; evocative overlay, but less precise.
* **EN / EN-01** — 縁, connection/affinity/fateful relation; philosophically excellent, maybe too minimal.
For the actual architecture, **KASANE / KSN** is the cleanest match.
-->