Proposal to redesign the til taxonomy
I surveyed the major academic classification systems (DDC / LCC / UDC / NDC / Bloom / OECD FOS / Wikipedia) and organised what could be borrowed for til. No implementation. Whether to adopt is Niki's call.
The 3 study notes are under knowledge/:
knowledge/taxonomy-basics.mdknowledge/dewey-ndc-comparison.mdknowledge/folksonomy-vs-hierarchy.md
1. Current diagnosis
Currently (as of 2026-05-20, 18 notes):
| Category | Count | State |
|---|---|---|
| engineering | 3 | healthy |
| ai | 3 | healthy |
| design | 4 | healthy |
| product | 1 | thin |
| mind | 7 | heavy |
| life | 0 | empty |
Tags (top):
認知科学7 /学習理論6 (a split between synonymous tags)Claude Code5 (spans ai and design)エージェント3,デザインシステム4,メタ認知3
Problems:
liferemains empty. With a scope as broad as "health, money, habits, language, culture, food, books, political economy, international affairs, natural science", it has become a box that inspires no motivation to write.productis thin. Cramming SEO/GEO, strategy, growth, business and PdM into one box forces a second cut by internal tags.mindis heavy. All 7 notes carry the "cognitive science" tag. Philosophy, leadership theory and the art of war are still at zero. The scope and the contents are misaligned.- The boundary between AI and engineering is fuzzy.
Claude Codeappears in both. - There is no "generalia (meta)". There is no place to write about til's own operation, classification and tag management. Even this proposal has to be placed in
docs/. - There is no synonym control for tags.
認知科学and学習理論share the exact same 6 notes = effectively synonyms. - Tag granularity is mixed.
Git(a tool) sits alongsideバージョン管理(a concept).
2. Design principles worth borrowing from academia
The conclusion of the survey is that 3 principles work for til:
- A cap of around ten at the top. DDC, UDC and NDC all adopt this. It is the limit of the human overview.
- The necessity of "generalia (class 0)". A refuge for information science, classification theory and metadata.
- A two-layer structure of enumerative + narrow folksonomy. The hierarchy is the stable skeleton; tags are the living flesh. The same philosophy as Wikipedia categories.
- Facets are still premature. At til's scale (under ~100 notes), UDC-style facets are over-engineering.
3. Proposal A: keep the 6 categories and "tidy the contents" (minimal-change option)
Change nothing. Instead:
- Freeze
lifefor 3 months → if nothing is written, merge it intomind(mind = thinking, cognition, culture) or rename it. - Broaden the scope of
productto "business, growth, economy". - Write the tag-control rules into the README (canonical synonyms, how to align granularity).
- When the urge arises to write about "meta / site operations", place a
meta/subtree insideengineering.
Pros: almost no work. Existing URLs unchanged.
Cons: the structural distortions (the empty life, the AI/engineering boundary) remain.
4. Proposal B: NDC-style 10 classes (medium-change option)
Borrowing the wisdom of DDC/NDC, expand the top to 10 classes.
| No. | Category | Scope | Destination of the existing 18 notes |
|---|---|---|---|
| 0 | meta / generalia | site operations, classification theory, information organisation | (new; this proposal etc.) |
| 1 | mind / thinking & cognition | cognitive science, learning, psychology, philosophy | mind/* 7 notes |
| 2 | history / history & people | history of technology, biographies, background | (future SakanaAI/people) |
| 3 | business / business & society | marketing, economics, organisation, SEO/GEO | product/visitor-analytics |
| 4 | science / natural science | maths, physics, biology, statistics | (future) |
| 5 | engineering / technology | code, infrastructure, CLI, operations | engineering/* 3 notes |
| 6 | ai / artificial intelligence | LLM, agents, MLOps | ai/* 3 notes |
| 7 | design / expression | UI/UX, design systems, typography | design/* 4 notes |
| 8 | language / language | programming languages, natural language | (future) |
| 9 | life / life & culture | health, money, habits, food, books | (future) |
Key points:
- Make AI an independent class 6. NDC was designed in 1929, so it has no AI class. til's centre of gravity is AI/engineering = it is rational to allocate a class to the centre of gravity.
- Establish a new history class 2. A home for biographical and background notes such as the Sakana AI / people line.
- Consolidate into business class 3. Broaden
productand rename it "business". - language class 8 holds both programming languages and natural language as a dual-purpose box (a fusion of NDC 8 and DDC 4).
Pros: rides the academic consensus (top 10). The boxes match the centre of gravity of the contents. The life problem is resolved (if you are still not going to write it, you can resolve to leave class 9 empty).
Cons: existing URLs may change from /engineering/... to /05-engineering/... etc. Redirect handling is essential. Requires reworking build-articles-tree.mjs and taxonomy.json.
5. Proposal C: 6 + facet axes (large-change option)
Faceted classification (UDC-style). The categories stay at the current 6, with tags split into 4 axes:
| Facet | Example |
|---|---|
topic: | topic:Git, topic:LLM, topic:認知科学 |
form: | form:tutorial, form:reference, form:opinion |
tool: | tool:Claude-Code, tool:Jekyll |
level: | level:basics, level:advanced (Bloom-style) |
Pros: search precision rises. The synonym problem is eased (controlled via topic:認知科学).
Cons: the cost to the writer spikes. Overkill at til's scale. Reconsider once it exceeds 100 notes.
6. Recommendation
Proposal B (NDC-style 10 classes) is recommended. Reasons:
- It fundamentally resolves the structural distortions (empty
life, thinproduct, AI/engineering boundary). - It rides 100 years of academic knowledge (the top 10).
- It legitimises til's centre of gravity (AI/engineering) as independent classes.
- The migration cost is moderate. It is done with just redirects and reworking
_data.
That said, the following are Niki's calls:
- How to treat
life(keep it as class 9 / delete / rename) - Whether to expose the numbered prefix in the URL (
/05-engineering/or/engineering/) - The timing of the migration (now, under 50 notes / after exceeding 100 notes)
7. Migration plan (outline if Proposal B is adopted)
No implementation, outline only:
- Rewrite
_data/taxonomy.jsonto 10 classes (new structure) — handled by a separate agent - Map the frontmatter
category:of the existing 18 notes to the new category IDs — handled by a separate agent - Update the category-validation logic of
build-articles-tree.mjs— handled by a separate agent - Expand the per-category colour tokens in
_sass/to 10 colours — handled by a separate agent - Make the navigation in
default.htmlsupport 10 classes — handled by a separate agent - Redirect old URLs (
/engineering/...→/05-engineering/...) — Cloudflare / Jekyll redirect plugin - Update the Taxonomy table in the README
Proposed mapping of the existing 18 notes:
| Old path | Old cat | New cat |
|---|---|---|
| engineering/git-history.md + 3 others | engineering | 5 engineering |
| ai/claude-agents-spec.md + 3 others | ai | 6 ai |
| design/* 4 notes | design | 7 design |
| product/visitor-analytics-and-email-capture.md | product | 3 business |
| mind/* 7 notes | mind | 1 mind |
New (future):
- Sakana AI introduction → 2 history (people, organisation biographies)
- niki-nakamura.md line → 2 history or 0 meta
8. Options for a no-adoption decision
Alternatives if not adopted:
- Do nothing: at a scale of 18 notes, the current setup functions well enough.
- Adopt only Proposal A: carry out just tag control and the
lifefreeze. Minimal cost. - Re-evaluate in six months: decide again at some point when the note count reaches 50 / 100 / 200.
References and sources
- See the references of the 3 study notes (
knowledge/taxonomy-basics.md,dewey-ndc-comparison.md,folksonomy-vs-hierarchy.md). - Wikipedia: Dewey Decimal Classification
- Wikipedia: 日本十進分類法
- Wikipedia: Universal Decimal Classification
- Wikipedia: Folksonomy
- Wikipedia: Bloom's taxonomy
- til current state:
_data/taxonomy.json,_data/articles.json(2026-05-20 snapshot)