| Single source of truth |
Every piece of data is normalized into one database (SQLite) with primary and foreign keys. The pages, the API and the app are all projections of that database. |
| Open standards |
Each domain uses the standard the wider world already uses (Matrix, ISO 20022, FHIR, Dublin Core…) instead of a homegrown format → portability and zero lock-in. See Standards. |
| Prefixed domains |
Tables are grouped by prefix (fin_, health_, chat_, people_, home_…): one database, easy to explore. |
| Static generation |
Pages are generated from the database and published to the home server: an instant website that keeps working even when the workstation is off. |
| Reversible writes |
Every write goes through a snapshot layer (a snapshot taken beforehand + a change ledger). Everything can be undone; the editors also have their own ↩︎. Bulk archive operations too — see Curating your archive. |
| Small, audited APIs |
Interactive pieces talk to minimal microservices that log who changed what, and when. |
calc_ fields |
Derived values (counts, orientations, totals) are precomputed with the calc_ prefix, so you can always tell the original data from the calculated one. |
| Connectors |
Modules with the elevated, disclosed ability to write to the core database — see The Store. |
| AI assistant |
An agent works over the same data model under a permission panel the user controls switch by switch. |