Why did I vibe code Zappix? Because I've been saying since the TikTok ban threats that Nostr needs a viable TikTok alternative. I also think we need a viable Instagram alternative. Every single day more people get banned from these two platforms and start looking elsewhere. 😩 Where are they looking? BlueSky alternatives! That honestly upsets me. I feel like Nostr is missing out on mass user migrations again and again. We might be the better protocol, but it doesn't matter if we don't have the tools to showcase it. The masses don't want web apps though. They don't care about PWAs. They want native applications. I can't vibe code that... Yet. 👀 We have some current solutions, but they're all alpha at best. I have incredible high hopes for Olas from @PABLOF7z. I have incredible high hopes for Freeflow from @Kieran. These guys are talented developers that have deep understandings of Nostr and application development. Maybe they need more time, resources, or fires. 🔥 Therefore, it's my hope that @npub1dyej...nrtm is able to stir up interest in these media formats and get more people using them and talking about them. Its my hope that new interests spark and help drive the narratives for native apps. That's what the masses want. Apparently @rabble is on the path already with Nostr Vine. I love that we're on the same wavelength here. I can't wait to see it when it's ready. Keep building. Keep vibing.

Replies (48)

All I want is a tiktok style/xiǎohóngshū style nostr app. I tried and failed to vibe code it myself. I managed to make a video viewing app, but instead of nostr videos, it played the YouTube videos of the links that were shared to nostr. I spent about 4 hours arguing with this AI that kept gaslighting me and gave up because it just refused to do what I was asking it to do but kept telling me it had done it. That was my only attempt to vibe code. Shit was too frustrating
Have you tried Zappix? The Flix tab about be basically like TikTok, minus the algorithm, and comments/likes overlay. Maybe I can add that 👀
Ryan Matta's avatar
Ryan Matta 6 months ago
Derek, if you can get a shorts feature built into Primal that would be off the hook. If I could just filter my post by vertical videos. Bro that would be epic. I hope one app like Primal makes it happen. Imagine one app that you could click one button and it would turn your feed from Twitter which is everything you post, then being able to click a button and your feed switches from X to TikTok, vertical videos only. Then you click another bottom and your feed transforms from TikTok to Youtube. Horizontal videos only. Then add a playlist feature. It would combine every social media platform into one and it would be unstoppable. We also need a live stream feature with pop out chats, and the same user experience as YouTube for live streaming. live view counter, it would be sick to to have an option to put zap chats on the screen so everytime someone zaps you it would show their comments on your screen. I could go on for hours. Hope yall code something bad ace, I can’t wait to see what yall got cooking I would say that Instagram vs YouTube wouldn’t be worth it. I’d say # Twitter # TikTok # YouTube # Live Streaming. #6 Ingram but I don’t really see a need when the TikTok feature would almost be identical. Also having TikTok style thumbnails that show you a preview would be massive
Derek, if you can get a shorts feature built into Primal that would be off the hook. If I could just filter my post by vertical videos. Bro that would be epic. I hope one app like Primal makes it happen. Imagine one app that you could click one button and it would turn your feed from Twitter which is everything you post, then being able to click a button and your feed switches from X to TikTok, vertical videos only. Then you click another bottom and your feed transforms from TikTok to Youtube. Horizontal videos only. Then add a playlist feature. It would combine every social media platform into one and it would be unstoppable. We also need a live stream feature with pop out chats, and the same user experience as YouTube for live streaming. live view counter, it would be sick to to have an option to put zap chats on the screen so everytime someone zaps you it would show their comments on your screen. I could go on for hours. Hope yall code something bad ace, I can’t wait to see what yall got cooking I would say that Instagram vs YouTube wouldn’t be worth it. I’d say # Twitter # TikTok # YouTube # Live Streaming. #6 Ingram but I don’t really see a need when the TikTok feature would almost be identical. Also having TikTok style thumbnails that show you a preview would be massive
We need a way to do algorithms which learn from user interactions. Ideally an open system, that users can choose where to give their interaction data and what their algorithms are optimized for. But we can't just put our heads in the sand and ignore their existence. All of the A/B studies where users were given chronological timelines show they'll switch their time to other apps / services that do provide an algorithmic timeline. The question is how do we do it in an open, nostrway... If we don't then we get a social network owned and run by Sam Altman... which honestly is terrifying. He'd make Elon and Mark seem like balanced stewards in comparison.
It often becomes a case of complexity making openness irrelevant though. I don't know how you get around that, besides trying your best to keep the algos simple (which can defeat the purpose) or letting users choose between different back boxes.
Then there are those of us who think the opposite. I'd prefer a filter for text only, to filter out mindless videos and pictures.
I believe that algorithms aren't evil and can be useful and good, if they're open and allow for user choice. I feel that Nostr way is the fabled "algo marketplace" allowing users to explore and enable (and purchase) various algos. Apps could choose a default one or via on-boarding allow users to choose one that fits their needs.
richard's avatar
richard 6 months ago
why don't we have algorithms when we step outside? maybe because we are not designed to work with algorithms. there is no algorithm in real life that tells you what to look at or do. and i believe we cannot win that race against such huge companies anyway. it is true that we are in the information era, but social media wise, nostr should probably be different and offer something new, perhaps reintroduce the natural side of human interactions? one where humans have actual free will and won't run after people or algorithms to make choices for them. i did see there are suggestions of nips for users to share what their interests are through events and such though, and overall sure why not look for new ways of doing algorithmic curation as it could attract people. but i think nostr algorithms won't ever beat big tech algorithms, probably impossible. the real change nostr brings to the table is slowly shaping itself, apps are getting faster, better and so on. i see the last few big issues for onboarding more people are UX related. (the recent spam problem is ultimately good as we're reminded that what we have is not good enough yet, its a constant work in progress) in the beginnings of twitter, there wasn't much content on the platform and people still used it and were amazed at it, right? i think nostr could (and to many of us, it does) give the same mind blowing moment. as it grows and expands, people are going to come up with ideas and like with any other new technology, it will be seen as something new, not an alternative.
richard's avatar
richard 6 months ago
theres a reason why the best note discovery algorithms (DVMs) right now seem to be from primal. idk this sounds similar to the fiat mindset in a way, you gotta disconnect from that and explore new ways. users only care about stuff being convenient, so why would they bother using nostr if legacy social media offers the most relevant content to them? why not accept the nature of nostr where there is no guarantee of anything and pulling data from big brother relays is centralizing and bad? i think we should keep pushing for the outbox model and keep in mind that algorithms are hard to implement when data is spread everywhere.
I've tried Primal and Amytheyst algos before. They're not bad, but it's just a matter of time before you can ask an Open Source AI bot to vibe code your own algo the same way it can summarize your feed or make a picture.
Right, because nothing makes me feel like engaging more than a 17 hour old post I’ve somehow just seen that’s already been commented to death and anything I have to add to it would be redundant. I don’t miss it at all.
IMO the idea of a truly decentralized recommendation system is misguided. Decentralization has limits, Nostr shows this and any system which is just a client talking to relays, or decentralized in some other way, is limited. Luckily, what one can have is a FLOSS recommendation system. Any instance can fetch posts from Nostr relays and show results. Of course, you can't prove for sure the authenticity of the code running on the server, as a user, but it would still be better than centralized platforms. A feature of Nostr is how easy fetching data is. I think it's great for applications like this.
In any case, people need to understand that every Nostr client, without exception, runs on algorithms. That's because all software does. Even showing posts in reverse chronological order is an algorithm. Client developers also take a great deal of liberty in what exactly to achieve with their algorithm, given there isn't really a specification, about what heuristics to apply, what and how many posts to show etc…
doesnt matter how good the app is if the content is all b!tc01n, stack sats, zaps and wallets normies wont use it
Could be a snowflake chart that lets users know how their algorithm is behaving and allows for free adjustment. image
@rabble, we already have an extensible recommendation engine ready to be built upon in exactly this manner. It’s called GrapeRank @david designed the algo and I developed the library. At its core, GrapeRank is a WoT engine. It generates a weighted list of “influential” users from the perspective of a single “observer”, by ingesting and interpreting any kind of content (follows, mutes, reports, ect..) from across the network. These multiple and customizable “recommended user lists” can then be used to build content feeds … by identifying the authoritative or desirable users on a given topic. The point I’m trying to make is that the open and extensible recommendation engine we’ve already built will bring Nostr closer to having customizable feed algos… and that these feeds must be built on a user customizable WoT engine. We have this. I am actively looking for funding to develop GrapeRank further.
Fix Nostr login on mobile, and PWA will be unstoppable. The “masses” don’t give a shit about native apps or web apps. People care about usability, and they will LOVE the interoperability that Nostr provides across apps. Apps with links to other apps, instant login without download and install from a KYC App Store, and “I don’t know what app I’m using, it just works” … this is how web apps will win. We “just” need to fix Nostr login for the mobile web.
Open algos to me just sounds like following people and see what you find through natural discovery. Not seeing enough new stuff follow more people and then unfollow ones you don't like for whatever reason. I don't get why we need algos. Just sounds like people trying to sell you something and tell you want you need to be engaging with.
I’m the opposite of a computer scientist, so bear with me. Why can’t we have a switch that says “algo on/off” and if we choose on it gives us a switchboard for how we want that algo to serve us. It’s an open source algo and each user can turn on/off things like “show me outside friends list” “with or without certain category/topics” “Filter out this. Filter in that” I don’t want the algo to flood me with gym bros if I linger on a workout I find interesting, but I’m open to receiving new kettlebell workouts from other users should they show up, for example
Extensions add complexity … and also … bugs and inconsistency. Extensions don’t always work as expected on mobile. UX is broken … on top of being “complicated”. Pasting nsec around (while always a reliable login) is not great for a number of reasons. Mobile web login will be fixed once the UX is : “login once on web and stay logged in across apps”. No extensions. No compromised nsec. No hassle.
HTTP auth (NIP 98) … is an interesting approach. So a user (somehow) authenticates their nsec with a web client (still haven’t fixed this part) and this client then lays an auth cookie in the user’s browser which can be validated by other clients? And what about when these other clients request “additional” permissions not covered by the cookie? Seems tricky to handle Nostr auth without actual live access (somehow) to the nsec for signing…?
jb55's avatar
jb55 _@jb55.com 6 months ago
our plan is to track interaction events locally and then build ddynamic feeds from that
What does it mean to have “auth”? Well … it means the browser user who claims to be pubkey actually is in possession of the private key. Nothing more. So, how does this work? > “- redirect to another site with auth” Well … it means that the “other site” can use “auth” to allow CRUD operations within the “black box” of their “other server”. Nothing more. This is usefull for black box apps to interoperate alongside Nostr, but NOT for “sign Nostr events across sites with a single login” solving for the mobile login problem. Am I missing something?
I think we need to base it off of user interaction and activity not follow graphs. But you can build it with the follow graph and lists and see how it works. It just feels like the way things were done a decade ago. Which will work for somethings fine.
@rabble thanks for taking a look. Did you notice that GrapeRank has NOTHING explicitly to do with follows? Use GrapeRank to make a list of users matching ANY interaction criteria. It’s a library waiting to be extended. Heres how easy it is … let me help you extend it further :
We don’t have to choose between follows vs user interactions vs something else. Our trust graphs are ultimately going to incorporate all sources of data available to us: follows, mutes, reports, reactions, replies, zaps, etc. The key to making this work is a step that I like to call interpretation: find some raw data sources (like replies and other user interactions), execute a script that translates the raw data into a standardized format that is ready to be digested by your trust score calculation engine. This is how GrapeRank works. My goal is to create personalized WoT relays that use GrapeRank to calculate contextual trust scores, with interpretations tailored to fit your personal preferences and beliefs.
Just to clarify: “standardized format” is internal to your WoT relay, not necessarily standardized across relays. Meaning: All interpreted data gets transformed into the same format inside the same relay. But the internal standard that your WoT relay uses does not necessarily have to be the exact same internal standard that my WoT relay uses.