DEV Community

Cover image for Ignoring the Gatekeepers of The Internet's Wild West
pinkie zwane
pinkie zwane

Posted on

Ignoring the Gatekeepers of The Internet's Wild West

The Problem We Were Actually Solving

We were building a store to sell a software product that happened to be a cryptocurrency wallet extension for a popular browser. It's not a malicious or high-risk product by any stretch, but its connection to cryptocurrency made some marketplaces nervous. Our product was audited and deemed secure by several prominent security firms, but that didn't guarantee we'd be allowed to sell it on every platform. I needed a solution to sell our product without relying on gatekeepers that might block us at any moment.

What We Tried First (And Why It Failed)

Initially, I thought I could use IPFS (InterPlanetary File System) as a decentralized solution to host our digital downloads. IPFS is a fascinating technology that allows for peer-to-peer sharing of files, making it difficult for central authorities to block or censor content. However, after experimenting with IPFS, I discovered that most modern browsers and devices have poor support for it, making it impractical for widespread use. Plus, IPFS requires a significant amount of development effort to implement properly, which added complexity to our project timeline.

The Architecture Decision

I decided to use an Amazon S3 bucket to host our digital downloads, combined with a custom-built web application that uses the S3 bucket to generate secure, time-limited URLs for our customers. This approach allowed us to maintain control over our product distribution without relying on a third-party marketplace. When a customer buys our product, they receive a unique, encrypted URL that grants them access to the download for a limited time (24 hours, for example). If a customer tries to access the URL after the time limit expires, the S3 bucket will block them, which helps prevent unauthorized redistribution.

What The Numbers Said After

Using this architecture, we were able to sell our digital product on our own terms, without any restrictions from marketplaces. Our sales metrics show a stable increase in revenue over the last quarter, with a minor dip in the initial phase due to a brief glitch in our S3 bucket configuration. The average transaction time is around 2 seconds, which is acceptable for our use case. What's more important is that we've avoided the hassle and uncertainty of relying on third-party marketplaces, which has saved us a significant amount of time and stress.

What I Would Do Differently

If I were to implement this solution again, I'd consider using a more advanced content delivery network (CDN) that integrates better with S3 and offers more robust features for secure file sharing. I'd also invest more time in exploring alternative solutions, such as using a digital rights management (DRM) system to protect our intellectual property. Overall, I'm pleased with the outcome of our architecture decision, as it has allowed us to maintain control over our product distribution and avoid the limitations imposed by marketplaces.

Top comments (0)