Inspiration
I've been a fan of Arweave for some time, dating back to the beginning of 2022 when I used it for NFT asset hosting. I've written a few tutorials on Mirror and followed the community since then. When the bounties came up for the hackathon, I was drawn to the Permaweb Mail notification system. Mostly because it involves infrastructure and several moving parts, it seemed like an interesting integration wit3h the Arweave platform.
What it does
I've built a service (https://www.weavewatch.xyz) that allows users to register, login, and manage any number of subscriptions and notification end points.
Notification types includes email and web hooks, but could be extended to allow for SMS, Slack, Discord, etc.
The subscriptions allow users to specify what kind of Arweave transactions they want to be notified about, based on a combination of address recipient and any number of meta tags that match, either directly or by regexp.
This is especially useful for Permamail users, and the UI makes specific shortcuts available for people who simply want to subscribe for notifications of incoming messages, by tracking the appropriate Permamail protocol meta tag.
How we built it
It's a Rails API on the backend, and a Nuxt app on the front end. The Arweave scanner runs as a cron, tracking new transactions on the current block and comparing them to store of subscription configurations. The TX hashes are cached in Redis to avoid duplicative work.
Challenges we ran into
I would have preferred using an existing system to track transactions as they appear, rather than polling the gateway. However running either a customized node or the Warp Syncer app provide too complex for what time allowed.
Accomplishments that we're proud of
I still built a reasonably full featured platform for managing notifications and subscriptions to topics on Arweave! Live scans of TXs, it's performant, and useful.
What we learned
I learned about metatags and protocols. Previously my understanding was that Arweave was a simple file storage system, but getting into the protocols and the way a simple thing like meta tags can be leveraged was really interesting.
What's next for Weave Watch
If there's interest in it being a real service, I'd add the following:
- More notification options (SMS, etc)
- Richer UI
- Proper TX scanning (via Warp Syncer)
- The option for users to specify full graphql queries as subscription triggers, not just sets of meta tags
Built With
- nuxt
- ruby-on-rails
- vue
Log in or sign up for Devpost to join the conversation.