{"id":20716340,"url":"https://github.com/cluster-labs/simpleaswater","last_synced_at":"2026-04-25T09:02:38.250Z","repository":{"id":99739135,"uuid":"198881451","full_name":"cluster-labs/simpleaswater","owner":"cluster-labs","description":"A collaborative platform(community) that allows you to build dapps  ","archived":false,"fork":false,"pushed_at":"2019-07-28T17:46:39.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-11T07:26:09.170Z","etag":null,"topics":["collaborate","community","dappbase","firebase-for-dapps","glitch-for-dapps","ipfs","ipld","libp2p","multiformats"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cluster-labs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-25T18:19:37.000Z","updated_at":"2019-07-28T17:46:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"88730bb5-3e3c-4428-b6b8-c96b5d7947fe","html_url":"https://github.com/cluster-labs/simpleaswater","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cluster-labs/simpleaswater","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cluster-labs%2Fsimpleaswater","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cluster-labs%2Fsimpleaswater/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cluster-labs%2Fsimpleaswater/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cluster-labs%2Fsimpleaswater/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cluster-labs","download_url":"https://codeload.github.com/cluster-labs/simpleaswater/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cluster-labs%2Fsimpleaswater/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32256217,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T04:23:17.126Z","status":"ssl_error","status_checked_at":"2026-04-25T04:21:53.360Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["collaborate","community","dappbase","firebase-for-dapps","glitch-for-dapps","ipfs","ipld","libp2p","multiformats"],"created_at":"2024-11-17T03:05:32.976Z","updated_at":"2026-04-25T09:02:38.234Z","avatar_url":"https://github.com/cluster-labs.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# SimpleAsWater\n\u003e A Community Platform to Learn, Build \u0026 Share Dapps and Stories\n\nWho is doing this crazy thing?: [@vasa-develop](https://github.com/vasa-develop)\u003cbr /\u003e\nSimpleAsWater Website: [dappbase.clusterlabs.io](https://dappbase.clusterlabs.io)\n\n\n## Presentation\n\nThe purpose of the presentation is to explain the problem and an overview of how SimpleAsWater works.\n\n[**Link to Presentation**](https://bit.ly/2JFH6eE)\n\n\n## Problem Statement\n\nI meet a lot of developers who ask me:\n\n```\nI want to build this X dapp. How can I build it?\n```\n\nAfter discussing more on what the app is going to do, we come up with an answer that usually looks like this:\n\n```\nUse \nUport for Auth\nIPFS for Storage\nEthereum for Core Logic\nAnd the List GOES ON...\n```\n\nWell, that doesn't sound easy, right?\n\n**The problem is that there is NO SINGLE PROJECT that has ALL that you NEED. Also, a lot of projects never see a light of day, however awesome they maybe. There are a lot of complex platforms/projects where lack of community interaction is really slowing down the Developer adoption, let alone the general public adoption.**\n\n\n## Proposed Solution\n\nA **COLLABORATIVE PLATFORM**, which makes it easy to use **MULTIPLE PLATFORMS**.\u003cbr /\u003e \nPlus you can also **ADD YOUR OWN PROJECTS** that **OTHERS CAN USE**.\n\nWell, I know what you are thinking now...\n\n![How Standards Proliferate](https://imgs.xkcd.com/comics/standards.png)\n\nNo. We are NOT building just another WALLED GARDEN that allows you to use only the features that we want you to add to your app.\n\u003cbr /\u003e\n**What we are trying to build is a shared platform that allows users to add their own projects that others can use.**\n\n## How it works?\n\nOur goal is to use generalized standards that allow a lot of projects to the platform. And while working IPFS stack for a while I realized that projects like [Libp2p](http://libp2p.io), [Multiformats](http://multiformats.io), [IPLD](http://ipld.io) provide a great base to start from.\n\n\nThe SimpleAsWater platform is divided into different sections:\n- Authentication [WIP]\n- Database [WIP]\n- Storage [WIP]\n- Hosting [FUNCTIONAL]\n- Functions [COMINNG_SOON]\n- Crashlytics [COMINNG_SOON]\n- Analytics [COMINNG_SOON]\n- Notifications [WIP]\n- Ad Service [WIP]\n- Much more [[ADD_YOUR_SUGGESSTIONS_HERE](https://forms.gle/ju8v9DQLz1oNXrFE8)]\n\n### Authentication\n\nFor Authentication we use [**DID standards spec**](https://w3c-ccg.github.io/did-spec/) as our core specification.\u003cbr /\u003e\nAny project that conforms with the DID spec can be listed in the Authentication section. \u003cbr /\u003e\nThere are a ton of projects out there like uport, blockstack, selfkey, Jolocom who provide there own DID methods enabling decetralized authentication. But this kind of approach leads to classic software usability problems.\n\n![Classic Software Usability Problems](https://i.pinimg.com/originals/13/64/cc/1364cca87c3eea53849a5adf11b12507.png)\n\nSo, we allow all these projects to co-exist while still keeping them functional. We use [**IDM**](https://github.com/ipfs-shipyard/pm-idm) spec for managing multiple DIDs.\n\n\nYou can check out [**Authentication Section**](http://dappbase.clusterlabs.io/) in SimpleAsWater.\n\n\n### Storage\n\nFor Storage we use [**IPLD**](http://ipld.io) as out core specification.\n\n\nThere are a ton of decentralized Storage projects like IPFS(well, not just storage), Sia, Storj, Ethereum Swarm, MaidSafe, etc.\u003cbr /\u003e\nThe noticible thing to observe here is that all these projects use hash based data structures to store data. We use IPLD spec to traverse the data from any hash based data structure. You may also use multiple projects to store your data and then link the data in the different projects.\n\n![That's Lit](https://media.giphy.com/media/jba8ucWVAhG9VcUkx9/giphy.gif)\n\nYou can check out [**Storage Section**](http://dappbase.clusterlabs.io/storage) in SimpleAsWater.\n\n\n### Ad Service\n\nIn web2 you have 3 parties in the advertisment ecosystem.\u003cbr /\u003e\nFirst is the advertiser, who has an advertisement that he wants to publish.\u003cbr /\u003e\nSecond is the advertisement platform that helps advertisers to place their adds on their platforms in a targetted way, so the ads are seen by a specific set of users.\u003cbr /\u003e\nAnd third is the users who see the advertisements.\n\n\nNow the problem here is that the middle men, the advertisement platforms take a cut for displaying ads on their platform and the users don’t get anything for bieng bombarded by tens and hundreds of ads everyday.\n\n\nSo, what we do is that we replace the advertisement platform with the network of users itself.\nNow, Let’s suppose all the users using the dapp form a network. Each user has surfs the app and the behaviour is tracked and recorded. All of this recorded behavioural data is stored with in the users device and is never sent out of the device. Now this data is reduced to some mathmatical vector which represents the user’s behaviour. \u003cbr /\u003e\nNow, an advertiser somes with an ad, and he wants to target a specific demographic. He choses the user behaviour that he wants to target. These desired properties are also converted to a mathematical vector which represents an ideal target customer.\u003cbr /\u003e\nNow, the advertiser publishes the ad on the network of users. Now this ad goes to every users device and checks if the user behavious vector is close to the advertiser’s desired vectors. If the vectors are close enough then the ad gets displayed.\u003cbr /\u003e\nUsing this way, we totally remove the need of a middle man to publish the ads. Here, the advertisers save the cut that they gave to the advertisment platform and the users can get some fee for allowing the ads to display.\n\n\n## Checkout, Follow \u0026 Contribute\n\nSimpleAsWater is an Open Source Project Under [**Cluster Labs**](https://github.com/cluster-labs/)\n\nCheckout our progress at [**SimpleAsWater Github**](https://github.com/simpleaswater)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcluster-labs%2Fsimpleaswater","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcluster-labs%2Fsimpleaswater","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcluster-labs%2Fsimpleaswater/lists"}