While working on a personal blog we wanted to accept donations using cryptocurrency. For fiat there existed solutions like buymeacoffee.com, pateron.com etc. but we could not find anything for cryptocurrency. We realised for common users there is a need for a simple and secure interface where they can sponsor creators using cryptocurrency.
What it does
Our app enables creators to get sponsored by their fans via SOL tokens using phantom wallet.
How we built it
We have built our app using Next.js (a React.js based framework) which allows build to write SSR websites. We designed all our React components using vanilla CSS. For wallet we have integrated Phantom wallet. To communicate with Solana Blockchain we are using Solana Web3.js library. For persisting app data we are using firebase.
Challenges we ran into
Integrating phantom wallet was challenging as we did not use any adapter libraries due to some of its conflict with our node version. As the native apis do not have any types defined, had to do some work to enable phantom wallet integration.
Our app does not use any UI library and we have built almost all the components from scratch in vanilla CSS which includes snackbar, modal, forms, tables etc. Implementing everything took its time and was challenging to solve complex CSS problems especially when try to make it compatible across devices, OSes and browsers.
We follow the principal of make all our features with great UX and bug free, so a lot of efforts was given to code review and having an eye for detail throughout the project development for now and in future as well.
We had been working hard to build a crypto based subscription feature into our app, but due to lack of our expertise in building on Solana we could not finish the smart contract development.
Accomplishments that we're proud of
- Our app is fully responsive
- Support for Dark Mode
- User experience is awesome
- Our app is fast
What we learned
We should not create lot of tech debts in the process of creating MVPs. MVPs should have a decent UI/UX, should not have any bugs or side effects, should have at least a few test cases for core workflows. We did the first 2 things diligently but couldn't do testing properly for which we had to encounter bugs and longer code review time. So it is important to write test cases. We are working on adding unit tests using Jest, integration tests using Mocha and E2E tests using Cypress.
We should have regular team meetings so that there is a good sync and knowledge sharing so that we do not end up working in silos. We learnt it from our past hackathon experience at Building Out Loud. This time we setup meetings every 2 days and it worked well and we had a very good team bonding while the project grew smoothly and consistently,
What's next for Buy Me Crypto
We will build a SPL token for a subscription based payment in our app like Superfluid of Ethereum (maybe we will create an independent project out of it). We also want to build an Oracle that tracks creator's growth on different social media like Youtube, Twitter, Facebook, Instagram, Reddit, Discord, Twitch. This will allow us to support yield farming where fans can sponsor their creators and get rewarded based on creator's growth. In Q1 of 2022, we will try to onboard private investor(s) who can also serve as a mentor/advisor and expand our team.
Log in or sign up for Devpost to join the conversation.