I want to address the issue of online goods selling, which constantly involves reliance on third parties, is subject to ever-changing terms of service, lacks transparency, and incurs increasing fees.
I will develop a self-contained locally-run dApp for browsing and interacting with Cardano-hosted stores, with all communications E2E encrypted. Promoting decentralization and privacy in e-commerce.
This is the total amount allocated to E2E Encrypted and Decentralized Web Market for Real-life Product Listings.
None.
No dependencies.
Project will be fully open source.
The problem that this solution addresses is the lack of truly decentralized and private online stores. In the current market, there's a need for a platform that guarantees end-to-end privacy, while also being user-friendly and self-sustainable.
The proposed solution specifically involves a locally run HTML file, as I believe it is the best approach to achieve true decentralization and privacy. By avoiding dependencies on frameworks and utilizing open standards, the application becomes easily auditable by individuals with limited expertise.
A single HTML file can be easily hidden, shared, and launched from any device with web browser and a Cardano wallet extension installed.
Selling goods online is a delicate subject, which is why a cautious approach is necessary. It is important to ensure that there is no trace of app usage on the device, and that the maximum amount of metadata and data is encrypted when stored on-chain. The application should be designed to be fool-proof, minimizing the risk of accidental mistakes. Additionally, proper user education through documentation is crucial.
It is the store owner who dictates which goods are sold under their domain. Thanks to the Cardano, we now have the opportunity to accomplish just that - truly decentralized and censorship-resistant offerings. I believe there's much room for innovation in this area, and this dApp is just a step forward. Anyone who shops online these days is a potential target audience for this project.
This innovative, first-of-its-kind solution addresses the challenge by providing a truly decentralized, privacy-centric method for creating and managing online stores. This project not only reaches out to the current Cardano community but is designed to spark widespread interest in the ecosystem.
I will measure and publicize the following metrics: the number of app downloads, general GitHub activity (such as commits, issues, and stars). I want to specifically limit any form of in-app tracking for privacy and security reasons. The metrics already mentioned will provide a decent approximation of the growth and total user base. To encourage community engagement, project discussions will be handled via the GitHub platform and their Discussions feature.
The complete dApp will be released under an open-source license, promoting free software. Anyone will be able to develop and build on top of the project.
Managing risk,
I have developed a working PoC solution, which is a testament to the feasibility of this project. My plan is to continuously monitor, test, and refine the solution based on the community feedback and identified needs.
The user journey includes querying blockchain info, transaction creation, placing orders, utilizing built-in end-to-end on-chain chat, and rating the seller experience.
Querying of blockchain information,
This will include store information, active listings, buy offers, chats, ratings, and more. It will be facilitated through a blockchain connection using a lightweight wallet if possible, or a self-hosted or managed Blockfrost instance.
Encryption,
I will utilize symmetric and asymmetric encryption to achieve end-to-end communication between sellers and buyers. I plan to use noble libraries since they are free software and have undergone multiple audits.
Transaction creation,
To create transactions locally, I will use cardano-serialization-lib, which will be included in the self-contained HTML bundle.
Smart-contracts,
For smart contract development, I will most likely use Haskell Plutus. Currently, I have no plans for any package dependencies. The encryption will be handled client-side. Validators will use plain metadata to allow spending.
Placing orders,
When an order is placed, a seller will need to accept it within a limited time frame. Otherwise, the client will be able to revert it. Additional timeouts will be in place in case one of the parties stops communicating.
Communication,
The dApp will include a built-in end-to-end on-chain chat for easy communication, such as tracking numbers, returns, and warranty cases.
Trust,
Each store will have its own identification key, which also stores encryption information. To avoid scams, clients will be advised to purchase from externally verified stores. This verification process can happen (but is not limited to) decentralized solutions.
Ratings,
After completing an order, clients will have the opportunity to rate their experience and comment on the store. This information will be aggregated and displayed to new clients as an extra precautionary measure.
Transparency,
The bundled application will not be minified or obfuscated. It's important for the complete bundle to be easily self-auditable, without requiring substantial expertise.
FAQ,
Proper education is just as important. A dedicated project page will answer the most common questions and provide guidance on how to stay safe and avoid scams.
Project sustainability,
The project will aim to transition to a donation-based model to sustain its future growth. There will be an option to donate directly on-chain.
End of month 1,
The development environment is set up. The baseline code for smart contracts is completed. Work is underway for frontend logic development, while frontend visual development has just begun.
End of month 2,
The frontend is completed and functional, but it still lacks a few features, such as manual checking for updates, a blockchain provider selector, support for only one wallet, and periodic data refresh.
End of month 3,
Both the backend (smart-contracts) and frontend are finished. Additional wallets are supported. The project website is completed, and the FAQ and getting started guide are also finished. Application release scripts are done.
End of month 1,
A reproducible development environment will be established, making use of Nix. Additionally, a managed development Blockfrost instance will be initiated.
End of month 2,
The smart contracts will be completed and open-sourced.
End of month 3,
The frontend development will be finished and open-sourced. The project website will be completed, open-sourced, and deployed on a server.
Development costs align with the average salary of a Senior Developer in Warsaw, Poland. Infrastructure cost is tailored to meet the needs of the project for effective delivery.
Any extra funds will be used to accelerate the project's development, including hiring additional team members, and to deliver a more feature-rich experience. The purchase of marketing or promotion is not under consideration. I believe that an innovative release will attract the attention of numerous privacy and decentralization advocates who will promote the project through their channels.
Any unspent funds will be allocated towards a reserve. I believe that maintaining a decent reserve is necessary to sustain the project for a few more months until it gains broader traction and recognition, and becomes self-sustainable through donations.
The development cost is 15k ADA/month, which is approximately 17k PLN/month, and falls within the mid-range for a Senior Developer in Warsaw, Poland. The infrastructure cost is 200+200+600 ADA, which is approximately 220+220+660 PLN. I intend to use Hetzner as the server hosting provider. Shortly after the release, some scaling may be required, which is why there is an extra buffer allocated for the third month. Unspent funds will go towards reserve for future maintenance costs.
Kamil Monicz - Lead Developer