this repo has no description
1## The Idea 2An advent of code for atproto with daily or every other day challenges for users to learn atprotocol. It will not be exactly code challenges, but more so challenges that can be verified automatically. I would like for it to be something we set up and can just enjoy when it goes live without much intervention 3 4## Audience 5This will most likely target somewhat technical users, but mostly beginners. I think we should start with the simplest thing and go with beginners, if we have enough time and people working on the project the challenges could be 2 part. First is no base knowledge of atprotocol is needed, the 2nd one is a bit more challenging 6 7## Venue/Promo/Sign up 8I'm thinking a shared Bluesky account that posts about the challenge when they happen and allows people to talk about it on there. We can do a discord, but if we keep it all on bsky I think people would appreciate that 9 10We host a site that users can sign into and they go there to either verify or view the history of their challenges and if they got it 11 12## Rewards 13* Labeler that puts things like 1/25(solved 1 of 25)? 14* AT Protocol Badges? 15* Possible leaderboard? 16* Easter egg label for a hidden easter egg 17 18## Challenge Ideas 19- Write a lexicon and publish to your repo. (ex. i have `dev.baileytownsend.health.steps`) just have to include the users handle, maybe even have them create `dev.baileytownsend.advent`? 20 - Part 2 could be posting a `com.atproto.lexicon.schema` of the schema to verify along with a dns record? 21- Create a TID from a given time and clock id 22- Post a blob that is an HTML web page 23- find a did's prev handle (explore the plc) 24- Hide a tag or something similar in a bsky post 25- Advance - host a custom feed with a pinned post 26- Advance - host an endpoint to resolve various things handle -> did, did -> handle, public key for user, etc 27- Super easy - do atproto app records. Star a repo on tangled, play a game of at://2048, etc. Help spread awareness of atproto apps 28 29## Challenge flow for user 301. New challenge at 00:00 UTC. Account auto posts it and it's unlocked 312. User goes to the advent site, reads what it is 32 1. Will also include some hints like "maybe read this atproto doc link" 333. Creates a record,dns, record, or enter a value to verify they completed the challenge 344. If successful we write a `app.advent.day.one` record to their pds, and a `app.advent.verified` record to the host account pds that can be used to verified that we did think they completed it 355. user gets a updated label 366. they can share a post that says they completed it 37 38 39## Features 40The minimal features to make sure we get something out there 41* 12 challenges for 1-24 on every other day? 42* Automatic new challenges and verifying so we can enjoy the event 43 * Unlocks at 00:00utc and shows on the site 44 * advent account posts about it 45* Beginner friendly 46* Site to host challenges and backend to verify either manually or via jet stream? 47* labeler 48 49extended features 50* 24-48 challenges 1-2 a day. First is beginner friendly second builds on it and is a bit harder 51* leaderboard of who has the most done and who did it the fastest 52* account post first person daily to do it even if we dont do a leaderboard may be atleast a fun in the middle thing 53 54 55## Technical 56 57* main site - We will be using Rust with axum and host it as a static site with a templating engine. My rust status sphere example has a working oauth login for static sites so it should be plug and play 58* JetStream listener- probably rust too 59* Labeler - i've never made one but i think theres a ts template so may just use it 60 * https://gist.github.com/goeo-/58b75fa8661e54278a7b6274ad021160 61 62 63## Sign ups 64### Backend/Jetstream work 65* oppi.li 66* placeholder 67### Challenge creator 68* placeholder 69* placeholder 70### Frontend designer/creator 71* placeholder 72* placeholder 73## Account admin (someone who posts to the account hyping it up) 74* placeholder 75## Mascot 76* psingletary 77## infra/hosting/ops 78* phil