id.sifa.profile.project
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Record representing a single project.",
"key": "tid",
"record": {
"properties": {
"createdAt": {
"description": "Client-declared timestamp when this record was originally created.",
"format": "datetime",
"type": "string"
},
"description": {
"description": "Description of the project, the user's role, and outcomes.",
"maxGraphemes": 5000,
"maxLength": 50000,
"type": "string"
},
"endedAt": {
"description": "Project end date in YYYY-MM or YYYY-MM-DD format. Omit if ongoing.",
"type": "string"
},
"labels": {
"description": "Self-label values for this project record.",
"refs": [
"com.atproto.label.defs#selfLabels"
],
"type": "union"
},
"members": {
"description": "Other people who worked on this project. Each entry is a claim by the record author and is not self-verifying: the named person supplies the other half by publishing an id.sifa.confirmation record whose subject is this record and whose relation is id.sifa.defs#projectMember. Until they do, consumers must render the entry without their display name, avatar, or profile link. Confirming never puts this record on the named person's profile: it lives in the author's repository and the author can rename it at any time. A named person who wants the project on their profile keeps their own id.sifa.profile.project record and points its projectRef here.",
"items": {
"ref": "id.sifa.defs#projectMemberRef",
"type": "ref"
},
"maxLength": 50,
"type": "array"
},
"name": {
"description": "Project name.",
"maxGraphemes": 256,
"maxLength": 2560,
"minLength": 1,
"type": "string"
},
"position": {
"description": "Reference to the associated id.sifa.profile.position record, if applicable.",
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"projectRef": {
"description": "Reference to the first-class id.sifa.project.self record this personal entry corresponds to, when there is one. A composition link, not a peer one: for the same project recorded on someone else's profile, see sameAs.",
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"sameAs": {
"description": "The same project as recorded on another person's profile. Set when you keep your own entry for work someone else has also recorded, so consumers can tell the two describe one thing rather than showing it twice. Each side stays its own record: the other person cannot edit yours, and yours does not change theirs. Resolve by AT-URI, since they will keep editing their copy.",
"ref": "id.sifa.defs#externalRecordRef",
"type": "ref"
},
"startedAt": {
"description": "Project start date in YYYY-MM or YYYY-MM-DD format.",
"type": "string"
},
"url": {
"description": "URL of the project (website, repository, demo, etc.).",
"format": "uri",
"type": "string"
}
},
"required": [
"name",
"createdAt"
],
"type": "object"
},
"type": "record",
"x-skos:exactMatch": [
"schema:Project",
"foaf:Project"
]
}
},
"description": "A project the user has worked on.",
"id": "id.sifa.profile.project",
"lexicon": 1
}
Metadata
- DID
-
did:plc:2f2ahswozqy4v5lvu676375y - CID
-
bafyreickemi32yi5utiswe3aois6izb72bqjnc36hrzbagpubvtqsnmpda - Indexed At
- 2026-08-06 14:52 UTC
- AT-URI
-
at://did:plc:2f2ahswozqy4v5lvu676375y/com.atproto.lexicon.schema/id.sifa.profile.project
Version History (8 versions)
Referenced Schemas (3)
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
A collaborative project record. Lives in the project creator's PDS. TID-keyed so one user can create multiple projects. Supports multiple owners — the creator is the first owner, and any owner can promote core members.
-
id.sifa.profile.involvement record
Uncompensated involvement with an external project, community, event, or cause the user does not own or run — open-source, community, charity, or civic work. Distinct from paid roles (position), things you own (projec…
-
support.supper.actor.project record
Supper project showcase entry stored on the user's PDS. Creators list the projects they are working on with a title, description, and link.
-
DEPRECATED, never implemented. An invitation to join a project team, written by a project owner in their PDS. Superseded by naming members inline on id.sifa.profile.project and having them affirm it with a generic id.si…
-
social.wips.project record
A wips.social project owned by the repository DID. The project's AT URI is its durable identifier. Protocol ceilings stay generous while keeping worst-case DAG-CBOR size comfortably below the informal 1 MiB network reco…