> [!tldr] Ideating a unifying digital system design for personal use cases A thing I designed and sort of built, but that's about as far as it went. > [!warning] > This system went through tons of development turbulence until it got reduced down to being so simple that's pretty much not a system at all. It started much more akin to [[Graph Data and Obsidian]]. > It was a case of this sort of thing: > ![[Pasted image 20260721223142.png|427]] # Premise Everything is saved as an entity[^1]. All records have a small set of common metadata that let you do lots of neat stuff. ## Metadata - `_id` - a [[UUID]] (or [[NanoID]] or whatever) - **required** - `_updated` - an [[ISO 8601]] datetime - `_created` - an [[ISO 8601]] datetime - `_tags` - an array of strings you can key on - `_aliases` - an array of strings you might find this entity named as - `_source` - for provenance - `_note` - a place for notes about the thing ### tags as classes I have something specific in mind for "tags" - they function like documentation and semantics, like *classes*. Tags allow function like [[Interface Object-Oriented Definition]]. They would give you hooks to key on. They can carry semantic meaning & have implications you can use to ensure data quality. ## Data Any non-underscore-prefixed keys are data. ### Pointers Any data field in any entity can point to any other entity or asset. ```json { _id: "abc123", file: "axon://asset=myasset.jpg", related: "axon://id=xyz789" //a link to another entity } ``` ### Derived Data Data prefixed with a tilde denote *derived* data. The idea here is that the data can be enriched in place with new, derived fields without creating [[Single Source of Truth|source of truth]] [[Ambiguity]]. ## Assets Assets are any file, basically. Assets just need a unique name, and they all need to live in the same place. Storing assets this way lets you have [[#Pointers]] to your files in records. ## Example ```json { _id: "aaa111", _updated: "2026-07-20T18:32:20", _classes: ["DJ", "Workout"], _source: "Workout automation", timestamp: "2026-07-20T18:32:20", length: 45, type: "strength", name: "Leg day", "~year": 2026, //added by code, for example } ``` # Graph Data vs Object Data This deserves its own note. [[Graph Data and Obsidian]] **** # More ## Source - self - in conversation with Claude [^1]: or record, object, whatever