app.zeens.profile

zeens.app

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Zeens-specific profile extensions. Stored on the user's own PDS so the data is portable — Zeens reads it on top of app.bsky.actor.profile to render extras like social links. The Bluesky profile (name, avatar, banner, bio) remains the canonical identity.",
      "key": "literal:self",
      "record": {
        "properties": {
          "$type": {
            "const": "app.zeens.profile",
            "type": "string"
          },
          "bio": {
            "description": "Zeens-specific bio. Replaces the Bluesky description on Zeens profile pages. Independent from app.bsky.actor.profile.description.",
            "maxGraphemes": 256,
            "maxLength": 2560,
            "type": "string"
          },
          "socials": {
            "description": "Links to the user's profiles on other photo and ATProto-friendly networks. Capped at 6 entries; order is preserved.",
            "items": {
              "ref": "#socialLink",
              "type": "ref"
            },
            "maxLength": 6,
            "type": "array"
          },
          "website": {
            "description": "A single personal website URL. Must be https. Capped at 200 chars.",
            "format": "uri",
            "maxLength": 200,
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "type": "record"
    },
    "socialLink": {
      "properties": {
        "handle": {
          "description": "The user's handle on that platform. For Mastodon/Pixelfed: user@instance. For others: bare username.",
          "maxLength": 100,
          "type": "string"
        },
        "platform": {
          "description": "Identifier for the social network. Zeens maps this to a URL template at render time.",
          "knownValues": [
            "bluesky",
            "mastodon",
            "pixelfed",
            "flickr",
            "glass",
            "vsco",
            "500px",
            "behance",
            "youtube",
            "kofi",
            "patreon",
            "grain",
            "flashes"
          ],
          "type": "string"
        }
      },
      "required": [
        "platform",
        "handle"
      ],
      "type": "object"
    }
  },
  "id": "app.zeens.profile",
  "lexicon": 1
}

Validate Record

Validate a record against app.zeens.profile

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:pwpuqwge6g7xrjmfbw73uycw
CID
bafyreichjiyx2zv6efypnaovzes6nepxgd5cly4krn22emtiaskd7uzocq
Indexed At
2026-10-22 16:31 UTC
AT-URI
at://did:plc:pwpuqwge6g7xrjmfbw73uycw/com.atproto.lexicon.schema/app.zeens.profile

Version History (2 versions)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • A declaration of a Bluesky account profile.

  • Mackinac extended profile. Supplements app.bsky.actor.profile with additional fields.

  • A user or project profile in the Atmosphere registry. Created by the account owner on their PDS; one record per account. Reviews, ratings, moderation, and other social data live in sibling com.atmosphereaccount.registry…

  • How an account shows on knotless, where that differs from its Bluesky profile.

  • A publication profile record. Acts as a signaling record indicating the account hosts a mochott publication.

Lexicon Garden

@