Inspiration
The idea for Shopstr initially came from calvadev's father questioning what Bitcoin was good for if he couldn't buy things with it directly. There wasn't really a go-to place to buy things other than gift cards natively with Bitcoin, and we wanted to change that. The anonymous online marketplace, Silk Road, also served as a spark to start on the project. We drew on the idea of building a completely free-flowing and open marketplace of exchange over the internet, but focused more on empowering individual creators and artisans. Ross had Bitcoin as the tool to facilitate the free flow of money, and now Nostr is here to allow the free flow of content and communication. Commerce on the internet can be freed with the capabilities that Bitcoin and Nostr provide, and this is what Shopstr was made for.
What it does
Shopstr makes it easy to buy and sell anything online directly with Bitcoin, without middle-men or risk of censorship. It can also be considered an earn-ramp or a way to get started acquiring and using Bitcoin without needing much technical knowledge.
How we built it
Shopstr started being worked on at a Replit hackathon after wanting to build a Nostr app that facilitated commerce. calvadev brought TommySatoshi and eric onboard after meeting at an internship and Bitcoin meetup, respectively, and we launched the site at another Replit hackathon in San Francisco. There was little usage in the first month or so, but the team progressed and made many improvements, eventually catching the eye of a prominent Nostr developer, Vitor, who integrated the listing spec into his social Nostr client, Amethyst. Since then, traction has picked up a lot and has brought the team to the Nostrasia conference in Tokyo, where we won our track of the Nostrasia hackathon; the final round of PlebLab's Top Builder competition, where we worked on hitting several development milestones over the course of 2 months; and the Sovereign Engineering cohort, where like-minded Bitcoin and Nostr developers gathered together to ideate and work on their products in the middle of the Atlantic.
On the technical side, the site was built based on the NIP-99 spec in the Nostr NIPs repo, using nostr-tools as the library to work with the Nostr protocol. When deciding on what to use for payments, Cashu was selected due to its privacy preserving nature and ease of use, with the cashu-ts as the library. NIP-04 is used for DMs and for delivering payments in the form of Cashu tokens. NextUI components are used in the front-end, with user-selected Nostr relays as the back-end. Alby's js-lightning-tools library is used for handling Lightning addresses, currency conversions, and Cashu token redemptions. Nostr.build is used for image hosting, and there are also several other NIPs followed for various purposes listed on our repo's README.
Challenges we ran into
The biggest technical challenges we faced were learning how to build on top of Nostr, working with WebSockets, and implementing Lightning payments and Cashu minting. They all required diving into protocols and technologies that we were all relatively new to, giving us a lot to learn.
On the product side, the biggest challenge we faced was getting actual products from real users listed on Shopstr. Especially in the early days, Shopstr was not very reputable and had a very scrappy design, so building trust among sellers to list items, as well as for buyers to actually want to spend their money on the site, was the biggest hurdle we faced.
Accomplishments that we're proud of
- We have facilitated over 2.5 million sats worth of transactions
- We won the Marketplaces & V4V track of the Nostrasia Hackathon
- We made it to the final round of PlebLab's Top Builder competition
- We one of, if not the first, marketplaces to use Cashu as a settlement mechanism
- We have facilitated the largest economic transaction using Cashu to date
- We have been invited to present at several conferences, including Nostrasia, Nostr PHX, PlebLab's Startup Day, BTC Prague, Bitcoin 2024, Nostriga, and btc++
What we learned
We've learned a lot about working with the new technologies that we have had to work with, but mostly about what it takes to build out something people actually use. A lot goes into giving people an experience that they trust and love outside of writing code and deploying it. Every aspect of a product needs to be considered, even how people will talk about it outside of online spaces, and that is something we think about constantly now.
What's next for Shopstr
We are working on building out several features to make it easier for merchants to manage orders, set up custom storefronts, and manage their earnings more seamlessly. There are also several infrastructure improvements planned to make the site more snappy and functional, as well as a redesign to make it feel like more of the online storefront experience people are used to.
Built With
- cashu
- indexeddb
- lightning
- next.js
- nostr
- nostr.build
- replit
- typescript
Log in or sign up for Devpost to join the conversation.