{
  "path": "/3mejeqjzhnc2m",
  "site": "at://did:plc:yltnuhmi5446q5gixfz277lu/site.standard.publication/3mbm2gtkoz225",
  "tags": [],
  "$type": "site.standard.document",
  "title": "Free AtProto Idea: Achievements and Stats",
  "content": {
    "$type": "pub.leaflet.content",
    "pages": [
      {
        "id": "019c483c-4503-711c-9e9c-8bface157b90",
        "$type": "pub.leaflet.pages.linearDocument",
        "blocks": [
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Someday, unless someone else does it first, I'm going to create an AtProto lexicon that does the following:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.unorderedList",
              "children": [
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "Tracks venues, which can mint "
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "Tracks events, like competitions, video game sessions, escape room excursions — heck, even going to the symphony."
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "Associates badges with those events."
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "Associates stats with those events."
                  },
                  "children": []
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "That's it*."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "I originally had this idea for my spaceship game, where you could log your missions, collect badges for those missions, and then use your stats to generate a bento page like this for sharing on social media."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.image",
              "image": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreicsgli32zjdak6jcl3vxlf7bvjxvhrnyxro3rt3zqcnwdim5pmrty"
                },
                "mimeType": "image/jpeg",
                "size": 334768
              },
              "aspectRatio": {
                "width": 2402,
                "height": 1266
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "You can see from the date at the bottom that I've been wanting this for a long time."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Talking with a friend, we realized it could apply to so many other venues and use-cases, both online and IRL. "
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "And if venues wanted to, they could work together to create a \"rainbow road\" of sorts, a series of events that patrons can do as a sort of scavenger hunt, getting badges along the way culminating in a big badge at the end."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "I'm sure there are lots of other opportunities for using this data in interesting ways."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "And naturally, having this on AtProto means the data, achievements, badges, stats — everything is portable, and multiple apps can take advantage of the same data."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "One problem that I can imagine is users forging badges and stats. It probably would require some kind of cryptographic signature that the venue applies to events with a private key that can be verified by a public key on the venue's record."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "I'm sure I'm missing something, but the basic idea is there."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.horizontalRule"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "* It might be necessary to have more definition around what an achievement means or what a stat means. It could be free-form, but it might be useful if there were an easy way to categorize or identify individual achievements or stats."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": ""
            }
          }
        ]
      }
    ]
  },
  "bskyPostRef": {
    "cid": "bafyreifoomqwmxo75aei676gmljhi3trwtvy7c5jxpsy36evm5wd3tc4ku",
    "uri": "at://did:plc:yltnuhmi5446q5gixfz277lu/app.bsky.feed.post/3mejeqodmk22m",
    "commit": {
      "cid": "bafyreiaxkgeiypx4gr4ep5j22iwlbvihohfkgjrvl3xksk3gqtotbpmkcm",
      "rev": "3mejeqohgyn2l"
    },
    "validationStatus": "valid"
  },
  "publishedAt": "2026-02-10T16:23:26.087Z"
}