Klatch means "a social gathering, especially for coffee and conversation."
Klatch is designed to be a peer to peer meetup application.
Why can't the community host its own platform?
Think of it as Bittorrent meets Meetup.
People collaborated to steal music back in the early 2000s. Why can't they collaborate to host a decentralized network to meet each other in real life?
What if Meetup decides to start charging each of their member to generate cash?
You know, due to a failed IPO, a yoga doing, tequila drinking ex-CEO and a desperate Japanese visionary trying to shore up a multi-billion dollar VC mega fund?
Just hypothetically, you know ;).
More pragmatically, Meetup is the perfect candidate for a decentralized application because its about connecting people to people.
It can be seen as a commons where the peer to peer communication can scale a network.
Users are the clients and the servers. So the infurastructure costs are low.
Also, I think it would be cool just to create one.
I'd like to create an app that attempts to seperate the programmatic value (cryptocurrencies) and peer to peer communication to establish better design patterns for a distributed web.
Think of this as a bubble gum and duck tape case study in building a practical distributed/decentralized app.
The errors will be as valuable as the key insights.
Hell no.
But tinkering is how progress happens. So, let's tinker.
Yes. And it goes one step further. It is distributed. Meaning that the users are both the clients and the servers. Imagine if Bittorrent was also a meetup application.
Decentralization still has bottlenecks.
Not for the backend logic.
They will be used for payments and experiments in programmtic value. Say if you don't show up your money is sent to those that did.
Instead of using say ExpressJS for a traditional client server app, I will be using js-libp2p.
I don't want to pay any sever fees. This means the overhead is as low as possible.
I don't want users to pay mining fees for every transaction.
Ethereum as of 2019 does not scale. Plus, there are all these mining fees that would incur each transaction. Smart contract platforms are great for programmatic value, ie programmatic money. Not infurastructure.
Klatch goes one layer lower and eliminates the crypto incentives and mining and uses the peer to peer networking protocols that distribute the blockchain.
Have you tried to build a scalable dapp on a smart contract platform?
Then we are right back where we were with centralization. The more centralized the faster.
Yet, somehow Bittorrent doesn't suffer from these problems.
This probably could work as a Blockstack Dapp. Most of the logic is pushed client side and it barely touches the blockchain.
I might port over the UX/UI to Blockstack.
However, for now, I am building it using js-Libp2p for fun.
Dapps should seperate their networking and back end logic to p2p stack and only use smart contracts layer for value transfer.
Touching the blockchain should be kept to a minimum. The more critical the transaction to long term functioning of the application, the closer it should be to the main chain.
This can be a case study to help others create distributed applications.
This can be a case study in a search for a business model on open networks.
How can one establishing an economy to balance leechers (file receivers) and seeders (file givers).
This could serve as an experiment to test out models that incentivize cooperation.
This is where smart contracts could play a role. Not really in the routing of data, but of value.
Such findings could benefit other peer to peer applications.
It can help discover new business models in managing open networks.
Think of how Red Hat makes its money with open source software.
How can a company make money helping to manage an and free network
Who knows? Won't know until we try. So let's try.
There really isn't a good manual for creating peer to peer apps. So, lets stumble our way forward and make a small million mistakes.