Thread

Zero-JS Hypermedia Browser

Relays: 5
Replies: 143
Generated: 19:51:48
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, nostr:nprofile1qqsr7acdvhf6we9fch94qwhpy0nza36e3tgrtkpku25ppuu80f69kfq9q9kky 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, https://github.com/Spl0itable/nosflare , by nostr:nprofile1qqsdfx5syw3pmwsm8jpsdj3kn0ejg0vtgju0pdk3r9nq0aasny863hcpf4nss 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 nostr:nprofile1qqsdfx5syw3pmwsm8jpsdj3kn0ejg0vtgju0pdk3r9nq0aasny863hcpf4nss 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 https://github.com/andotherstuff/otherstuff-relay by nostr:nprofile1qqsqgc0uhmxycvm5gwvn944c7yfxnnxm0nyh8tt62zhrvtd3xkj8fhggpt7fy 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 nostr:nprofile1qqsdpg0lhpmph96va39rh6xtevhfdfcfph85vhl74jpe4fx2yry6t8s4rw4p8 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: https://vine-six-seconds-that.captivate.fm/ and I talked to people about this social media platform that was shutdown when nostr:nprofile1qqsd96tlwvs92nsnq6235l9whcx9493vgex32yeyajtqv4dna2dy6xc66zx6m was trying to save Twitter when he returned as CEO. I thought, well Vine is cool, I know folks like nostr:nprofile1qqs04xzt6ldm9qhs0ctw0t58kf4z57umjzmjg6jywu0seadwtqqc75s8fsrrg 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: https://github.com/rabble/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: https://wiki.archiveteam.org/index.php/Vine 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 nostr:nprofile1qqsr9cvzwc652r4m83d86ykplrnm9dg5gwdvzzn8ameanlvut35wy3g4h5cp7 and also to interview nostr:nprofile1qqszrptd47zv9e89q55savj7xzpmq4zm3sp749acnqc3zl8lp8ad7rgh59grd 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: https://www.tiktok.com/search?q=divine 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 nostr:nprofile1qqs8sxs4yuz47axp7uprpugrs3sfkdz5379tdg9xe2n5qfvz070a4egc9mrhy and nostr:nprofile1qqsfln36agetx43hsw8mgkm4hce9j46zu94m8er59nyzhv74p7gg0esdgpa8a 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... https://github.com/nostr-protocol/nips/pull/2072/files we've got the proofmode verification spec i proposed: https://github.com/nostr-protocol/nips/pull/2109 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: https://github.com/rabble/nosflare 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.
2025-11-16 15:43:29 from 1 relay(s) 65 replies ↓
Login to reply

Replies (143)

Just saying you've linked to the wrong nostr:nprofile1qqsgydql3q4ka27d9wnlrmus4tvkrnc8ftc4h8h5fgyln54gl0a7dgsppemhxue69uhkummn9ekx7mp0qythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qyt8wumn8ghj7un9d3shjtnddaehgu3wwp6kytc79p4zh And also best of luck with everything. Unfortunately I cannot help, but hope you succeed
2025-11-16 15:56:14 from 1 relay(s) ↑ Parent Reply
I would say mostly. For something of this scale I or anyone else can’t certainly comment until it is tried. The 2.1 release is pretty close to being done, the problem is some edge cases. The main bottleneck for performance on 2.1 is the clients which try to work around outdated restrictions like filters active at any time by horrendously batching requests. A lot more can be done relay side if clients could signal better what they want.
2025-11-16 16:20:50 from 1 relay(s) ↑ Parent 1 replies ↓ Reply
Also nostr:nprofile1qqsqxefne258ydmfgm2wfl02fsdqgs0d5wx29kweg9amxcqxew4t7kqpzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtcpzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcprdmhxue69uhhg6r9vehhyetnwshxummnw3erztnrdakj7pvj5mv, sounds like they will be needing hardware fast or the soon to be biggest Nostr client will be running on Big Tech cloud providers.
2025-11-16 16:26:58 from 1 relay(s) ↑ Parent 1 replies ↓ Reply
🚨 ALL HANDS ON DECK 🚨 BOOST, and tag in all developer friends! This is a MASSIVE opportunity for Nostr adoption - it's up to us to make the most of it! 👇 nostr:nevent1qvzqqqqqqypzqak8r2hr5jglrk0wc37t59lz98x6gyf6pwaku6hpwakhvslznjh6qqs2ztln6vaff7jq34c7ys67vwp8qpj87rxncrqf64hv9nry65tykscyk2fj4
2025-11-16 17:34:06 from 1 relay(s) ↑ Parent Reply
We need beta testers and QA, for the website, for posting videos, for all the features of the apps, mac, ios, android, and web.... Please don't pitch bitcoin at folks, we're going to add a cashu wallet and zaps eventually, but we don't want to scare them away... ;-D
2025-11-16 17:48:01 from 1 relay(s) ↑ Parent 8 replies ↓ Reply
This also sounds like it could easily be contracted as relay for hire and make more business sense. Id have to think some more about it. Probably better than hiring a sysadmin (paying those wages) and the company itself being a single point of failure.
2025-11-16 18:03:40 from 1 relay(s) ↑ Parent 1 replies ↓ Reply
relays scale well. we’re dealing with small json blobs and read heavy workloads. this lends extremely will to caching and horizontal scaling. the hard part is the clients. in a permissionless network, clients will be bad actors. for your client to work well it must use sane data access patterns. concretely: - get the client’s websocket connection mgmt in order - get the client’s data access patterns in order. batch queries, cache locally, etc - harden your relays with rate limiting for stomping out bad clients - implement good caching for your clients needs nostr:nevent1qqs2ztln6vaff7jq34c7ys67vwp8qpj87rxncrqf64hv9nry65tykscpr9mhxue69uhk2umsv4kxsmewva5hy6twduhx7un89ujnp7pf
2025-11-16 18:19:44 from 1 relay(s) ↑ Parent 3 replies ↓ Reply
Humble pleb here ✋ responding to your call. Count with me and nostr:nprofile1qqs254dy0xkkjdxsl4u08k7cs52u689q67s3pqfwwyfcp4va7avcjdgpz4mhxue69uhk2er9dchxummnw3ezumrpdejqzxrhwden5te0d35kw6r5de5kuemjv4kxz7fwvdhk6xgwwgl 's help for this 🖖🤙
2025-11-16 19:05:52 from 1 relay(s) ↑ Parent Reply
Yeah, I think what he needs is an experienced relay admin who is overseeing their own setup. They are also good at QCing the relay interactions. I'd suggest just ponying up the cash and hiring nostr:npub12262qa4uhw7u8gdwlgmntqtv7aye8vdcmvszkqwgs0zchel6mz7s6cgrkj, TBH. His stuff is the most scalable and his search is the most advanced. If he's interested.
2025-11-16 19:08:47 from 1 relay(s) ↑ Parent 2 replies ↓ Reply
You nailed my thoughts exactly. Possibly cheaper in the long run, assuming the app is modeled to generate sustainable revenue.
2025-11-16 19:11:44 from 1 relay(s) ↑ Parent Reply
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 🤙💜
2025-11-16 19:14:09 from 1 relay(s) ↑ Parent Reply
nostr:nprofile1qqs8d3c64cayj8canmky0jap0c3fekjpzwsthdhx4cthd4my8c5u47spp4mhxue69uhkummn9ekx7mqpzpmhxue69uhkummnw3ezumrpdejqna7ea3 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.
2025-11-16 19:16:58 from 1 relay(s) ↑ Parent Reply
The desire for Vine and non AI content broke Nostr.com 🤣 Humans will win! nostr:nprofile1qqsr7acdvhf6we9fch94qwhpy0nza36e3tgrtkpku25ppuu80f69kfqpz9mhxue69uhkummnw3ezuamfdejj7qgnwaehxw309amk7apww468smewdahx2tcjeqljc I am inspecting your vine post https://divine.video/video/794e4b16a040e773efedd6af23b47fca411e0b6fa274a9180e5043faaacde1ba I am seeing kind of 34236 in Nostr Debug Tool and found it in NostrHub https://nostrhub.io/naddr1qvzqqqrcvypzp4mt8lnqzkn3tap6g00r5ps045fvvd84m0x0ql78q9g0plc8gsxuqyt8wumn8ghj7un9d3shjtnswf5k6ctv9ehx2aqqp9hxjupdxucj6mm8qe2f66 How is this going to be supported in other native clients. I have been showing all my Normie friends that use Instagram and TickTock Olas but it is so buggy. It looks like Nostur is recommending Olas and I can’t find the sha on Primal. I did see where you posted about the Android app. I am using an iPhone but also downloaded the apk on my Android as well that nostr:nprofile1qqs8d3c64cayj8canmky0jap0c3fekjpzwsthdhx4cthd4my8c5u47spzpmhxue69uhkummnw3ezuamfdejsz9rhwden5te0wfjkccte9ejxzmt4wvhxjmchdudwt shared but all it showed was a divine logo. Is there an APK I am missing? I also found the blossom video and it is in this post. I am just wondering how it can span across the media of primal and other already built native apps for more interactive content. This will be a huge win to get not tech folks into Nostr and dominate open provable social media. 🙌 I am wanting to join the efforts and have some ideas around https://NationLocal.com as well. image https://cdn.divine.video/cdb1ffa4c946dab07ae27629719e315e1875ce49b19d6f61efd93561c85d66ae.mp4 https://cdn.divine.video/cdb1ffa4c946dab07ae27629719e315e1875ce49b19d6f61efd93561c85d66ae.mp4 https://cdn.divine.video/cdb1ffa4c946dab07ae27629719e315e1875ce49b19d6f61efd93561c85d66ae.mp4 https://cdn.divine.video/cdb1ffa4c946dab07ae27629719e315e1875ce49b19d6f61efd93561c85d66ae.mp4 https://cdn.divine.video/cdb1ffa4c946dab07ae27629719e315e1875ce49b19d6f61efd93561c85d66ae.mp4 https://cdn.divine.video/cdb1ffa4c946dab07ae27629719e315e1875ce49b19d6f61efd93561c85d66ae.mp4 nostr:nevent1qqs2ztln6vaff7jq34c7ys67vwp8qpj87rxncrqf64hv9nry65tykscpr9mhxue69uhk2umsv4kxsmewva5hy6twduhx7un89ujnp7pf
2025-11-16 20:10:07 from 1 relay(s) ↑ Parent Reply
📌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 🤙💜🫡 nostr:nevent1qqs2ztln6vaff7jq34c7ys67vwp8qpj87rxncrqf64hv9nry65tykscpr9mhxue69uhk2umsv4kxsmewva5hy6twduhx7un89ujnp7pf
2025-11-16 20:14:41 from 1 relay(s) ↑ Parent Reply
Incredible to see the response… while I cannot help on the technical side I will gladly help on the podcast/spreading-the-message side. If/when you have time and want to come talk about what you’re building and how people can get involved just let me know. Happy to host you on both nostr:npub10qrssqjsydd38j8mv7h27dq0ynpns3djgu88mhr7cr2qcqrgyezspkxqj8 and my weekly livestream on Roxom.
2025-11-16 20:30:08 from 1 relay(s) ↑ Parent 2 replies ↓ Reply
I've already explored the website but I didn't try to sign in. I've seen lots references to sign-ins not working and there's no option to create a new account. I did read a bunch & watch some videos & follow links & submit a pr for a typo fix on a broken link to Shakespeare, on the Andotherstuff website 😅 I don't know what else I could do, at this point.
2025-11-16 20:42:26 from 1 relay(s) ↑ Parent 2 replies ↓ Reply
When Derek mentioned there were some performance issues, I started tracking the messages returned by the server and saw it mentioned database error on a few REQs. Do you know if when you built and deployed it manually had you enabled read replica support in D1? It also seemed to be edited a bit to support some new filters/tags? I see you’ve since switched to a different implementation now, that’s fine. In Cloudflare, you can add “members” that can view a particular project, but don’t have admin privs. If you’d like, I’d love to check the logs of the worker and the original config. Happy to help any way. Maybe there’s still some use for Nosflare in the future. Cheers 🤙
2025-11-16 20:42:27 from 1 relay(s) ↑ Parent 1 replies ↓ Reply
Second this! nostr:nprofile1qyxhwumn8ghj7mn0wvhxcmmvqyg8wumn8ghj7mn0wd68ytnvv9hxgqpqwmr34t36fy03m8hvgl96zl3znndyzyaqhwmwdtshwmtkg03fetaqxcksue nostr:nprofile1qy88wumn8ghj7mn0wvhxcmmv9uq37amnwvaz7tmwdaehgu3dwfjkccte9ejx2un9ddex7umn9ekk2tcqyqlhwrt96wnkf2w9edgr4cfruchvwkv26q6asdhz4qg08pm6w3djg3c8m4j nostr:nprofile1qyxhwumn8ghj7mn0wvhxcmmvqywhwumn8ghj7mn0wd68yttsw43zuam9d3kx7unyv4ezumn9wsqzp87w8t4r9v6kx7pcldzmwklryk2hgtskhvlywskvs2an658epplxwsm38g + everyone else involved, HMU if you could use a break from the coding trenches for a chill conversation and call-to-action for the nostrich army! (I could even make time in the next few days)
2025-11-16 20:44:51 from 1 relay(s) ↑ Parent Reply
Amazing that you've been able to get this attention! Just keep building, it will never be perfect or scale easily to begin with. Just keep improving and I'm sure users will keep coming back. I added support for the new video types in nostr:nprofile1qqsdr0fnxvmn8hxyz8cwazfm8zu9yt7qmc38ll69nkvsgn8dnej4sxckxm0xe ProofMode is the next feature, which looks very interesting. I have plenty of experience building cloud scale solutions, I might be able to contribute some on architecture and code, if there is issues on GitHub written for tasks, etc?
2025-11-16 20:47:42 from 1 relay(s) ↑ Parent Reply
I stopped doing systems stuff a while back and focused on network security and increasingly more DevOps as time goes on. Almost certainly better resources out there for this, but I’m here if I can add value.
2025-11-16 21:27:14 from 1 relay(s) ↑ Parent Reply
I am a python dev and probably can’t offer much support (also very busy at work), but am glad to beta test, raise issues, and generally help with GitHub management like reviewing issues in the free time I can find. Probably no more than a few hours a week. Let me know if any of that sounds useful!
2025-11-16 22:03:31 from 1 relay(s) ↑ Parent Reply
Hop on Airchat and we’ll talk about nostr:nprofile1qqsth3eu4eq4qtw667jpzfvxmjh5gg5pp4s25j6hccmue5d8g6c8s3qpp4mhxue69uhkummn9ekx7mqpzemhxue69uhhyetvv9ujuurjd9kkzmpwdejhgjfvvk8 we’ve been preparing for this for years. We have NudeNet to detect porn (it doesn’t have a perfect hit rate but it can help ease the burden for moderation-heavy node operators). Airchat runs on nostr:nprofile1qqsth3eu4eq4qtw667jpzfvxmjh5gg5pp4s25j6hccmue5d8g6c8s3qpp4mhxue69uhkummn9ekx7mqpzemhxue69uhhyetvv9ujuurjd9kkzmpwdejhgjfvvk8
2025-11-16 23:34:43 from 1 relay(s) ↑ Parent Reply
Than it will be all fine🤙. He is the man who kept me trying Shakespeare because of his good communication. Its an unique point of him because most dev don’t communicate that good to content creators 🙏
2025-11-16 23:46:05 from 1 relay(s) ↑ Parent 2 replies ↓ Reply
This was the best market research ever for video on #nostr Thank you nostr:nprofile1qqs8d3c64cayj8canmky0jap0c3fekjpzwsthdhx4cthd4my8c5u47spp4mhxue69uhkummn9ekx7mqpzpmhxue69uhkummnw3ezumrpdejqna7ea3 !!! nostr:nevent1qqs2ztln6vaff7jq34c7ys67vwp8qpj87rxncrqf64hv9nry65tykscpr9mhxue69uhk2umsv4kxsmewva5hy6twduhx7un89upzqak8r2hr5jglrk0wc37t59lz98x6gyf6pwaku6hpwakhvslznjh6qvzqqqqqqy550vld
2025-11-17 00:28:50 from 1 relay(s) ↑ Parent Reply
The bottleneck seemed to be the D1 database. Replication was enabled. But how could sqlite ever possibly support such a high level of traffic? After a certain number of events were filled in it, it would slow down and eventually stop working (unless the D1 instance was nuked and restarted)
2025-11-17 02:17:21 from 1 relay(s) ↑ Parent 2 replies ↓ Reply
Yes, in terms of writes, it should have theoretically sustained about 50k concurrents or maybe 1000/sec events. That’s of course all theory. But with read replicas it should be able to sustain much more overall traffic with regards to REQs. I wonder if it could be rebuilt to use Cloudflare’s Hyperdrive with an external DB. Tried to benchmark it all, but obviously have no insight into what amount of traffic were actually hammering the relay from the web and apps. In all honesty, I think they might need a multi-relay setup and break up certain parts handled by different relays in order to support a level of traffic a centralized system like TikTok or IG would handle.
2025-11-17 02:33:16 from 1 relay(s) ↑ Parent 1 replies ↓ Reply
nostr:nprofile1qqs8d3c64cayj8canmky0jap0c3fekjpzwsthdhx4cthd4my8c5u47spp4mhxue69uhkummn9ekx7mqpzpmhxue69uhkummnw3ezumrpdejqna7ea3 I don't code But I can help with marketing online ☺️ Also nostr:nprofile1qqsqdqc0dj6eyk7c9n99n0dgfrcq2enxmlcyd3fc9936n9azxndyp3gpramhxue69uhky6t5vdhkjmndv9uxjmtpd35hxarn9ehkumrfdejszrthwden5te0dehhxtnvdakq08y7an I'd recommend him he's a good dev can help you test it out 🙂 Otherwise great job Sir 💯😉
2025-11-17 04:07:34 from 1 relay(s) ↑ Parent Reply
nostr:nprofile1qqsglv2qkn5dmmuhee9cy8fywfu2rfp4xd3xy0myqg2gfvmjl9yqqrqpr3mhxue69uhhxun5wfjkccte9e3j6um5v4kxcctj9ehx2aqpp4mhxue69uhkummn9ekx7mqca2vec what’s the best way to filter porn/CSAM/unfavorable content? I recall you have automated processes for this in Nostr.build Is there a repo to reference?
2025-11-17 05:15:08 from 1 relay(s) ↑ Parent 1 replies ↓ Reply
Under a single-writer ceiling how could there be any chance? This multi-relay/specialised-types would be a neat but at some point though you have to question why nostr in the first place. There's a limit to the number of nostr qualities you can sacrifice before you get to the point where you're in a worst of both worlds situation, what could have been a performant centralised architecture is held back by a bunch of nostr tech debt that isn't enabling anything nostr-like in the first place.
2025-11-17 05:26:26 from 1 relay(s) ↑ Parent Reply
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.
2025-11-17 09:18:29 from 1 relay(s) ↑ Parent Reply
I’ve already tried explaining the problem to seemingly reasonable people, but it will probably take some time before they understand. Good luck. nostr:nevent1qvzqqqqqqypzpvfw9zv3at5q34qgyzr58uuzmxdhwlz33pegd3sqyfvtt0kem8ytqqsdww9jmh0ec08cva7cuxnhjmegf04vangh3vf2nwey7ncdd7s4jqcx7d5hw
2025-11-17 11:25:25 from 1 relay(s) ↑ Parent Reply
Yes, am already using SQLite-in-DO for subscription management with the Websocket Hibernation API. As visitors are geo-steered towards a regional DO. But I haven’t tested trying to handle the data independently across all of the DOs instead of a single D1, but I think that would add some serious latency and make it unnecessarily complex. I did just rollout an update that adds Cloudflare Queues to all EVENT messages, which should help write throughout and handle burst up to 5000/sec.
2025-11-17 11:52:44 from 1 relay(s) ↑ Parent 2 replies ↓ Reply
Cloudflare , actually I don’t know about this until I read this. The idea was great during hibernate period like me in the winter ( sleep a lot) still be able to allowing JavaScript to run Those durable object ( DO) taking from memory . How can I help ?
2025-11-17 12:52:24 from 1 relay(s) ↑ Parent Reply
I'd be curious to see how this runs on a bare metal VPS - I would expect way way higher throughput. Another thing to try would be to batch writes - instead of writing every time something happens you collect writes in a queue and write every 50ms in one big transaction. This should help a lot with write throughput. Reading can be done in the same way. If you want to avoid parameter limits you can use JSON1. Last but not least, analyze the queries using `EXPLAIN QUERY PLAN` to make sure your indices are correctly used.
2025-11-17 13:21:10 from 1 relay(s) ↑ Parent 1 replies ↓ Reply
Using a VPS is sort of antithetical to what I was trying to build 😅. By being entirely “serverless” it wouldn’t have a single-point of failure or other downsides such as needing to ensure you harden it, manage updates, fault tolerance, smalllr resource ceilings, etc. There’s none of the traditional nuisances with Cloudflare Workers, etc. Everything is managed. With adding Cloudflare Queues, the write throughput is now 5x better and it does batches of 100 to the D1. The next thing on my list is to ensure further optimizing the handling of all queries and improve read performance even more efficiently than just with indices and read replicas.
2025-11-17 20:38:23 from 1 relay(s) ↑ Parent 1 replies ↓ Reply
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.
2025-11-18 04:00:07 from 1 relay(s) ↑ Parent 1 replies ↓ Reply
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.
2025-11-18 05:28:06 from 1 relay(s) ↑ Parent Reply
strfry/nostrdb model is the only thing that has worked. lmdb + indexes that cover common use cases: - created - pubkeyKindCreated - kindCreated - tagKindCreated Bonus points for storing json string and flatbuffer version of the note for optimal performance
2025-11-18 12:57:26 from 1 relay(s) ↑ Parent 2 replies ↓ Reply
nostr:nprofile1qqsp7fxsmxnahv3pkqsx4pn9pqm5739sp4cy5d8gkxelex5tc9qrspspzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcprpmhxue69uhhyetvv9ujumrpwaskcmr9wshxzu30e0c9gz you are the smartest devs I know 🤫😘
2025-11-18 14:36:37 from 1 relay(s) ↑ Parent Reply
Thanks! I've also been working on a non-SQL version as well. Will is right and wrong about SQL for Nostr. At scale, SQL does start to crumble. With a medium sized relay (or even semi high trafficked), it's completely fine when indices are used. But at the scale of what diVine was trying to do it wouldn't be the best performance. There were also a lot of things wrong from the beginning too where customizations were added, but accompanying indices not built for the filters/tags that would be used for every REQ.
2025-11-18 21:13:15 from 1 relay(s) ↑ Parent 1 replies ↓ Reply
I built a working Postgres relay (Ditto) but the only way tag queries would work was with a jsonb column on nostr_events table with a gin index. I have never seen tag queries work correctly if the tags table is separate and needs a join. It only works if the data is together in the same table.
2025-11-18 21:53:07 from 1 relay(s) ↑ Parent Reply
Hi nostr:nprofile1qqs8d3c64cayj8canmky0jap0c3fekjpzwsthdhx4cthd4my8c5u47spp4mhxue69uhkummn9ekx7mqpzemhxue69uhhyetvv9ujumn0wvh8xmmrd9skclspxag I’m available for beta-testing ~ can jump right in & help with growth adoption. Holla back.
2025-11-18 22:17:19 from 1 relay(s) ↑ Parent Reply
First, thanks to everyone who's currently involved in this project; you're making history, guys! 💜 nostr:npub1wmr34t36fy03m8hvgl96zl3znndyzyaqhwmwdtshwmtkg03fetaqhjg240 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 https://joinpeertube.org/news/stress-test-2023 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 https://github.com/Novage/p2p-media-loader 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), https://github.com/vidstack/player as player, https://github.com/greatest-ape/aquatic 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.
2025-11-19 10:16:35 from 1 relay(s) ↑ Parent 1 replies ↓ Reply
I was using messagepack in my rebuild (before the debacle I had an experimental version of Nosflare I was building since I first created its initial inception using KV almost 2yrs ago) and I will look into using flatbuffers instead
2025-11-19 22:21:42 from 1 relay(s) ↑ Parent Reply
Good luck. Hopefully this can push nostr user base into a state where I'm not *only* here because of my like of the protocol from a technical perspective vs the others. Would test Android as view only if you put up an apk on zap store or something.
2025-11-21 19:16:29 from 1 relay(s) ↑ Parent Reply
I wouldn't mind building a relay that just runs the specific nips you need. Something specific for Devine. I'm always up for trying to build something new. Just let me know specifics you would want or need.
2025-11-23 12:20:29 from 1 relay(s) ↑ Parent Reply