Is this Nip 52?
NostrCal for Android is on Zapstore!
I just published the first version of nostrcal for android to Zapstore. This version doesn't yet include private events but does let you see your public calendar events on the calendar + search for public events you may want to RSVP to.
It's nothing special yet but hope to continue to build from here! Thank you nostr:npub1wf4pufsucer5va8g9p0rj5dnhvfeh6d8w0g6eayaep5dhps6rsgs43dgh9 for making this possible with #purplestack. There's no way I could have built this myself without your tooling!
Discussion
Never mind, checking out the web app now. Fantastic stuff brother!
It is indeed! Web app will primarily save NIP-52 as gift wraps to ensure privacy but those same features will eventually make it to mobile as well.
Sweet! Is it on GitHub? Nice to see it get some privacy features, I know this wasn’t part of the original NIP
The main site's repo is https://github.com/patrickulrich/nostrcal and the android version is https://github.com/patrickulrich/nostrcal-android. It's still the same NIP-52 events, even for private events, they're just being wrapped via NIP-59 gift wraps.
The project originated as a calendar booking service, like Calendly, and by necessity morphed into a wider calendar project. Since it's original method was around booking I handle the gift wraps very similar to NIP-17 DM messages. I've also used kind 31926 and 31927 to address availability. 31926 let's you set your availability template for calendar booking while 31927 is to allow you to publish a "busy" time. This is primarily intended to serve as ways of blocking time against gift wrapped 31923s but can be used just to indicate busy blocks. https://github.com/patrickulrich/nips/blob/master/52.md
Yes, the calendar event models are based on NIP-52
Yes very cool. Can you tell me more about purple stack? I’ve been using Claude with vs code and just referencing different Nostr repos/projects but would love to try something more integrated
It's a very opinionated stack, built on a nostr library I designed (purplebase) and models, which exposes nostr NIPs as domain models. I am using it to build Zapstore and other apps and improving it as I go along.
Are you taking bribes on what models you work on? 😁
Lol the stack is prepared to create and registered new models from new kinds. Should work.
I actually started work on integrating my custom 31926 and 31927 already but then shied away when I was having issues getting 59 events to decrypt. I need to dig back in again!
What are these custom events? If it's improving NIP-52 in models, I'd gladly take a PR
On my todo is to create a PR to 52 for these. 926 is to create availability lists to show when you want to accept booking requests and 927 is just a public busy time that I create when users create gift wrapped 393 so that the booking can still see the user as busy without knowing why.
I will definitely send a PR when I have them working well. I slid away from the android side for a few days and started putting some focus on another project but will definitely get it over.
Ugh I got lost already 😅 sure man. Welcome
Can I try it?
It's on stacks or just clone https://github.com/purplebase/purplestack
I'd be interested in your feedback
I’ll check it out for sure. My project is next js and using NDK but I have something else I wanted to build in the near future. Thanks!