teild
The substrate keeps your digital life in one place and lets software act on it. Messages, mail, calendar, people, tasks, and media go into a single typed graph behind one API, stored in Postgres on machines you run. Assistants read that graph and write back through the same API. It is a working system, built in the open by one person. It is not a product. (teild is the organization it is built under; substrate is the thing itself.)
Substrate
The substrate is the protocol, the service, and the implementation: one typed graph of everything, in a Postgres database you host yourself, read and written by a single API. (Teild is the parent, the organization level; substrate is the thing these pages describe.) The documentation builds one thing, a to-do list, from the first entity to the API call that completes it:
- Introduction: scope, vocabulary, and the running example
- The data model: entities and identity, groups and entity types, property types, traits, and validation
- Schema as entities: the declarable resources, admission, and schema evolution
- Projection: entity mappings, managed properties, and merges
- API: the API (REST, filters, mutations, errors, versioning, tokens), GraphQL and search, changelog and watch
- Extensions: extensions, functions and the SDK, agents, the extensions catalog
- Tools: ssctl, web console
- Reference: built-in entity types
Extensions
Installable capability closures: functions, agents, vocabulary, or a provider integration, applied and removed as one unit. The ones that connect an external provider like Google, Linear, or Beeper carry an Integration badge, and each configured account is a Connection. Every property remembers where it came from.
Agents
Assistants that read the graph and write back through the same API. This is the part that comes next, and it is marked alpha.