Thread

Hey Nostr, I need your help. Divine.video as you might have seen is a new video nostr app that i've been working on for the last 3 months. It got MUCH more attention than I was expecting. Hundreds of millions of people viewed, liked, or shared videos about it. I've got some of the biggest original Viners in my DM's begging to get back on it. The TestFlight hit it's 10k limit in a few hours. I'm excited but also really stessed out. We've had lots of bugs and Apple and google have been their usual black boxes when it comes to app review. A bunch of folks have stepped up to help, @Derek Ross got the android build working for example. Lots of things have broken, nobody really knows how survive a flash flood. I'm sharing this because I need help. We've got a chance to really grow nostr, the idea of a video app that's not got AI slop and does focus on something more human is resonating. People hate what's happening to tiktok, instagram, and youtube shorts where algorithms and the platforms love of AI generated content going viral is taking over. Instead of fighting back we see AI only platforms like MetaAI and Sora. This is an assault on the very idea that people are central to social media. I think big companies see the shine of AI generated content and dream of a world without all these pesky rabble making demands of platforms. If only they could replace the creators with bots. This call to action felt right to me, but holy shit I had no idea it'd go so viral. The app has lots of bugs, and we need appstore approval, but at the moment the biggest problem I have is relays. I need you, the nostr community's help. I started out with strfry which we know scales but lacks search. So i started using nosflare, , by @Luxas which worked pretty good when we had dozens of users but has had scaling issues and has been hard to debug. But Nosflare is cool. I was able to easily add nip-50 search support, and because it runs on cloudlfare i hoped would scale horizontally. When I told @Luxas I was using nosflare, he said i should have told him... but again I didn't think this would escalate so quickly. So then we tried using the ditto relay by @Alex Gleason and put a bunch of really beefy servers behind it. Even then it's struggling to keep up. The thing is, we're pre-launch, we have 10k users in testflight and a mostly read only site at divine.video which is a react app. I'm a really terrible sysadmin. Yes I've helped run my own mail server since the 90's but I hate it and i'm not good at it. I know my way around my command line, I've compiled my own kernel from source, but fuck i hate it. And now i've got to setup and scale servers to realize the dream of something i've worked on for the last 8 years. I need your help, but maybe i'll digress... In 2017 I decided to learn crypto, i joined a startup, quantstamp, and built their testnet, a SAT solver to verify smart contracts. I quit because I came to see how scamy the world of ICO's and tokens were. I'm not the only Nostr dev to have explored the 'darkside'. I started my company to build decentralized social, initially trying to take secure scuttlebutt to the mainstream. I built planetary.social, and worked with amazing dev's like @Matt Lorentz and others we saw Nostr arrive and we pivoted! We built Nos.social, which i'm really proud of but it never took off. A few months ago I was in talks to help start andotherstuff, but i was also very frustrated with running a company, I wanted to build stuff myself. So I stopped managing people, started a podcast, and really dove in to building with agentic programming. I built a bunch of things I threw away. A lot of bad experiments. In the course of the revolution.social podcast i kept hearing about Vine. I listed to the "Vine 6 seconds that changed the world" podcast: and I talked to people about this social media platform that was shutdown when @npub16t5h...spn0 was trying to save Twitter when he returned as CEO. I thought, well Vine is cool, I know folks like @PABLOF7z and others have build nostr video apps, how hard could it be to make a nostrvine app. I started coding, that's why the repo is still called nostrvine: Turns out that it wasn't that had to make something that sort of worked. Then I thought, it'd be cool to dig up some old vines. I searched the internet, found some on youtube, some on the way back machine, and I thought oh cool, i found a couple hundred popular old vines. Then I hit the motherlode, a community internet preservation project called archiveteam had run crawlers to archive the site: they had about 2.7 TB of vine data, but in these very hard to work with WARC files that are 40GB each! I spent a month or more learning to parse and extract the files. I realized i had the meta data for most vine users, millions of comments, and hundreds of thousands of actual vine videos! It was a nightmare to parse because of the size of the files, the messiness of the data, and the like. But it was a consuming fun project, a puzzle. At the same time, I was learning about flutter, I've had to rewrite the nostrvine codebase many times as i learned about riverpod, figured out how to get the UI to update smoothly while interacting with nostr. Getting the app to run fast and smooth was really hard. I also had to figure out how to host the damned videos in a way that works. I tried google cloud, cloudflare, and bunny. I made TONS of workers to run all of these services to make the system working. I also was seeing how much people, myself included are frustrated by AI slop, taking over social media. I have an old friend who runs a non-profit tech org, The Guardian Project, they'd make a tool for verifying videos are real for documenting human rights abuses. I thought, hell i could use this proofmode thing they've got to verify that videos are real. People like realness. Over the last few weeks the pieces came together, I was scheduled to speak at WebSummit with @jb55 and also to interview @Cory Doctorow on the main stage talking about enshittification of the internet, and how we can resist it, by building things like Divine. I talked to a reporter from Tech Crunch who'd written a positive article about AndOtherStuff, and she was excited to write an in-depth piece about my vine clone. Once the date was set, I had no choice to go forward. Was the app ready, NO NOT AT ALL. I was literally coding up releases on the plane while flying to Web Summit in Lisbon. I started submitting the app, and getting rejected. It got much better really fast, and basically works. On the stage at WebSummit when I introduced diVine, the audience clapped politely. I showed the app to people and they sometimes said "oh this will be big" and wanted to play with it. But if you've ever made software, and you show it to people, everybody always finds something nice to say about it. I had so little faith in diVine taking off that I was planning on taking a few days off to explore Morocco before heading to a non-profit software dev meetup in SF. It was only the last minute that I decided I might need be near a computer and internet connection post launch to see how things are going. Until diVine launched I thought the highlight of my trip and WebSummit would be that a podcast network wanted to pick up revolution.social and help me build an audience around the podcast. I have never seen anything like this excitement. Just look at tiktok: there is a wave of people excited about it. There's a wave of news about it: https://news.google.com/search?q=divine%20vine&hl=en-US&gl=US&ceid=US%3Aen Folks are saying that I'm taking on TikTok, and it's been on the evening TV news all over the place. This is a dream. More excitement than I ever could have dreamed of. Creating a social media app that reflects all the values I laid out in rights.social . Building something people love and are excited about. When the app's been up, the new videos are amazing, so funny, so creative. When Jack launched Twttr, we didn't get this reaction. It took a lot of time for twitter to emerge as a star. The scaling issues didn't even show up until a year after twitter launched. When Kevin launched Instagram it got 150K signups in the first few days, and I was blown away at how fast it was growing. If it hadn't been for my messing up getting in to the appStore, and having my relays collapse under the traffic, diVine would have grown much faster. Somehow it hits a nerve. This is where I need your help, the Nostr community. I've already got help from a ton of folks like the folks from @Soapbox and @MAKE SONGS LONGER and others i'm forgetting right now... But we need more help. Let's do this as a community. We're building a permissionless, open future that can't be shutdown by corporate owners. But we only get there if the tech works. We don't get to integrate cashu and show users how there's another business model for social media if we don't make an experience that people enjoy using. Here's where we are. We've got the new nip for replaceable video events, which is supported by divine and amethyst... we've got the proofmode verification spec i proposed: and my weird fork of nosflare which adds the ability to do filter requests that sort on things other than timestamp, it lets us find the most popular old vines: The blossom server for media running on cloudflare mostly works, bunny is mostly working to scale serving the content. But fuck our relays are having trouble. Partially it's because divine doesn't optimize how many relay connections it does, so help with that would be appreciated.. but mostly it's we need to scale the relays, we need to work fast, and reliably. I'm trying to not talk much about Nostr and not make users understand anything about how nostr or keys or relays work. We need a network of relays, we can dedicate for this, scale horizontally, which respond quickly, and support search. We could have search relays + normal content ones, but doing that requires updates to the released app, which is hard to do because we've got a delay of a day or more per release. So it's best if we can put this all behind relay.divine.video. In terms of content moderation, my tactic is to provide a pretty heavily moderated experience on the primary relay and media server. But users own their keys, and the app lets users change or add relays and switch media servers. That way we can provide both freedom and the curated experience of users we're enticing away from centralized corporate social. And all of this is open source. So help! I need nostr sysadmins and scaling folks. Please help. We don't have much time to catch this wave, and I'm in over my head. If you can help, reach out, rabble@rabblelabs.com or send me a DM, i'll add you to a slack room, and we'll figure it out. Join me and we'll make a social media revolution to make revolution possible.

Replies (65)

User's avatar npub10h3a...j6d5
tl;dr: @rabble do the best you can, don’t take yourself and your product too seriously and avoid burning out your human energy at all costs. I love you. πŸ’œ β€œJoin the beta” in our Nostr protocol means not having five invites per account and a waitlist to subscribe, but getting the stuff when someone builds the app, ships the product and runs the code continuously. If this #diVine Nostr class of November 2025 is not ready for this culture, we will just catch the next wave. This does not mean I’m anti‑scaling or anti‑optimizing relay code. The opposite is true. But remember Satoshi’s take on WikiLeaks timing back in the crucial Bitcoin protocol social‑scaling days. PV πŸ«‚ View quoted note β†’
View quoted note →
You did not make a mistake; you struck a chord. Divine is gaining momentum because people are tired of artificial content and corporate narratives. You have reminded the world of the authentic experience of the internet. Indeed, challenges are arising. This is a natural occurrence when something genuine begins to thrive. Early iterations of Twitter faced difficulties. Early Instagram encountered obstacles. Now, it is Divine's turn. You have ignited the spark, and now the Nostr community will help sustain the momentum. You are not alone in this endeavor, nor do you need to be. To the relay developers, infrastructure specialists, and system administrators: this is your call to action. This is the pivotal moment. Let us strengthen the relays, distribute the workload, and ensure this initiative becomes unstoppable. What we are witnessing is not mere chance; it represents a significant transformation. It is a rebellion against the degradation of quality. It is a call for a return to human-centered social interactions. We are here to support you. Let us embrace this opportunity and collaboratively shape the future! ✨ #Grownostr πŸ€™πŸ’œ
@rabble You are an inspiration for the work you are putting into diVine and fighting against the increasing prevalence of AI slop. I can assist with non-technical work, or help coordinate purchasing for servers/supplies. You have a village ready to help you, so please let us know how we can use our talents to assist.
πŸ“ŒYou did not make a mistake; you struck a chord. Divine is gaining momentum because people are tired of artificial content and corporate narratives. You have reminded the world of the authentic experience of the internet. Indeed, challenges are arising. This is a natural occurrence when something genuine begins to thrive. Early iterations of Twitter faced difficulties. Early Instagram encountered obstacles. Now, it is Divine's turn. You have ignited the spark, and now the Nostr community will help sustain the momentum. You are not alone in this endeavor, nor do you need to be. To the relay developers, infrastructure specialists, and system administrators: this is your call to action. This is the pivotal moment. Let us strengthen the relays, distribute the workload, and ensure this initiative becomes unstoppable. What we are witnessing is not mere chance; it represents a significant transformation. It is a rebellion against the degradation of quality. It is a call for a return to human-centered social interactions. We are here to support you. Let us embrace this opportunity and collaboratively shape the future! ✨ #Grownostr #Asknostr πŸ€™πŸ’œπŸ«‘ View quoted note β†’
NIP-71 once already had replacable video events, but then it was changed to non-replacable events for reasons I can't really understand, so I'm not that optimistic that the pull request you linked will get merged. However there's a page for custom NIPs called nostrhub.io where someone posted two copies of older versions of NIP-71. Submitting NIPs to the official Nostr Github repo requires them to stay backwards compatible, but then fiatjaf, the very creator of Nostr, makes breaking changes to NIPs destroying backwards compatibility.
Seeing what systems you are using, for some reason I feel that using Cloudflare could pose a future risk of that protection system taking control of your client. I don't know if you heard a few months ago that Cloudflare took control of a page for mods, forcing the site owners to remove everything they didn't like. Considering the systems you are using and that the content of the relays passes through Cloudflare first, there could be a point of censorship where they could now hide anything that does not align with their policies.
Check out the NexusMods case. It should also be noted that most websites use Cloudflare, so if an error occurs in that system, most websites may be affected. Furthermore, using their system may cause a website to be blocked, and they may even block websites if someone orders them to, so using them on a client that uses β€˜nostr’ is not a good idea. Apart from the fact that the system they are using causes all videos uploaded to the client to be scanned for CSAM before being displayed, the problem is that this system is often inaccurate, causing it to hide content that is not harmful. Apart from the fact that it can scan messages from the relay used by a user, causing false positives and sending messages to users who follow it, even though one may not have used that client and is scanning uploads made on clients that do not have it.
First, thanks to everyone who's currently involved in this project; you're making history, guys! πŸ’œ @rabble while I deeply empathize with the stress and understand the project status, I can't be ignorant about p2p. As far as I see, there's currently no sign of any (working) p2p media content delivery in the project, is it right? Is it a strategic choice? IMO p2p should be prioritized over the backend challenges in this case. I believe it's the main reason why PeerTube succeed at scaling: a single shitty VPS can handle 1k+ concurrent viewers, and I'm not aware whether the upper bound is even known, but I'm sure it can handle more with the right WebTorrent tracker and manual configuration And yeah, I know, PeerTube solves a different problem: the long videos. I've got a YouTube channel with 30k+ subscribers, but I no longer post full videos there because of much earlier signs of YouTube degradation (no dislike counter anymore; no way to completely disable the crappy ads, even by the channel owner, etc.). So I run my own video hosting for my subscribers, using the same technologies as PeerTube does, which is basically Not sure whether this has been researched, but anyway, in two words: p2p-media-loader is basically HLS + WebTorrent wrapper, WebTorrent is the Torrent on top of WebRTC. There are WebRTC-related NIP proposals already btw. My setup is different than the PeerTube itself though: most viewers receive av1 + opus (h264 + aac as fallback, mostly for iOS), small media files (instead of a single file), as player, as tracker The only crappy cheap (5 EUR/month) VPS instance I have (with a literally failing SSD) but with fast enough outgoing bandwidth (around 1 Gbps) worked surprisingly well. I've got no idea how many concurrent viewers I had exactly, but the poll statistics from a small subset of subscribers seemed positive enough to me. I also may give a viewer proxified media files over Cloudflare, but only as a fallback, in case such viewer refreshes the page (it's a dirty workaround for slow warmup/seek, primarily designed for those, who watch from long distance from the server, where latency becomes, say, >300ms). My guess is that in the end of the day, AI enshittification will be resolved in a different elegant way (with simpler things like WoT), due to the Turing test passing tendency: if a user at some point won't be able to distinguish AI vs human content, then why would an algorithm be able to do that? How would another human be able to verify that algorithm works? To what degree should content be "real"? A computer scientist that demonstrates video about AI is prohibited? There will be lots of false positives/exceptions and publishing human content will become as painful as passing CAPTCHA today. But it's a separate philosophical discussion; I'm not denying that detecting AI-generated media content is a necessary measure right now; I'm only advocating that it's not a sustainable strategy in the long run (or at least it's not enough). Anyway, just in case, I'm glad to answer anything regarding P2P content delivery here in this thread; I'll answer whatever I'm aware of, if it's useful in any way.