Samvad

Samvad

The next front page of the internet

Samvad

Samvad

The next front page of the internet

The problem Samvad solves

Samvad gives you a strong financial incentive to post quality content. You earn when people reply either to you, or someone who replied to you. With this specific geometrically decreasing incentive, the upside of posting quality content is high. You stop earning if you cross a specific number of downvotes, which prevents spam and overly controversial discussions who want to game the system.

Samvad is also deployed cross-chain! Infact this reply itself is being sent from Avalanche Fuji to Ethereum Sepolia using Cross Chain Transfer Protocol.

It also has a great user experience. Samvad shows real-time data on how many people are reading a particular post, which would enable participants to choose the highest audience. Notifications are also delivered whenever someone interacts with content. Once you start using samvad, it's hard to go back to the social media where you contribute and they earn.

Challenges we ran into

Intro

We ran into several issues while using some of the tech but we dived deep into their tech and figured it out.

ChainLink

Starting with ChainLink, we were particularly oriented towards them because we wanted such a platform to be accessible from multiple chains. The CCIP send was showing a gas estimation failure error on Remix, and when we forced the transaction it kept failing. When we ran the sample functions given in the docs, it worked fine. Our use case was a bit more complicated. For 3 of the 4 CCIP functions, used a one way token/data transfer. The other however included a transfer from source to destination chain which triggered another send from destination to source. We realized having the CCIPReceiver and a fallback function for the contract to accept token was necessary to prevent the failures.

Push Protocol

With Push Protocol, we faced version conflicts. We were using ethers 6.x.x while Push Protocol supported only 5.x.x, so we chose to downgrade it for the sake of the UX improvement their notifications offer. That lead to a cascading issue with several other dependencies like hardhat and axios. Eventually we resolved the conflicts by modifying some functionalities.

Waku

While integrating Waku we were unsure of where to place the LightNode object, due to which often the node was bootstrapping repeatedlyand was leading to null errors where a request was made to the node the moment it reinitialized. We got over it by moving the object further up the ladder. We were reluctant at first since we were using Waku to show live audience reading a particular post on our platform, a metric we call liveliness. But eventually we figured out we could use ephemeral push to trigger soft reloads instead of relying on the total state of the liveliness.

Overall, we faced several other issues like minor solidity version conflicts and some snags with The Graph and Metamask here and there, but I only mentioned the issues we had to spend considerable time on.

Tracks Applied (7)

Filecoin Track

In addition to URLs we also support media uploads in the form of images or videos for the posts.

Filecoin

The Graph Track

Instead of our own indexing platform, we are using The Graph for super fast and reliable fetcher for on-chain data. We a...Read More

The Graph

Waku Track

To incentivise people maximize their engagement, we show a highly unique and powerful metric to them: the number of peop...Read More

waku

Chainlink Track

We use CCIP to interact with our contract on the primary chain (sepolia) from other chains (currently, avalanche fuji). ...Read More

Chainlink

Alliance Track

We are confident we are building the most innovative incentivised protocol which is most likely to be a startup. We will...Read More

Alliance

Push Protocol Track

We use Push Protocol to show real-time notifications to people who's post or reply we are engaging with.

Push Protocol

MetaMask Track

We fetch real time gas prices from Infura and show them to the user when they want to do a transaction. We multiply the ...Read More

MetaMask

Cheer Project

Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.

Discussion