Someday, unless someone else does it first, I'm going to create an AtProto lexicon that does the following:
Tracks venues, which can mint
Tracks events, like competitions, video game sessions, escape room excursions — heck, even going to the symphony.
Associates badges with those events.
Associates stats with those events.
That's it*.
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.
You can see from the date at the bottom that I've been wanting this for a long time.
Talking with a friend, we realized it could apply to so many other venues and use-cases, both online and IRL.
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.
I'm sure there are lots of other opportunities for using this data in interesting ways.
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.
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.
I'm sure I'm missing something, but the basic idea is there.
* 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.