Inspiration

Our team drew interest from our past hobbies. We have all been interested blockchain space and realized that there are many web 2.0 features that can be transferred to web 3. Bill splitting in the web3 world is something that has not been done before.

What it does

Splitty is a service that allows users in a group to automatically calculate and send out payment requests on Metamask through SMS. We designed the payment process to be as fast and convenient as possible. After all users in the group have paid, we mint an NFT to the owner of the group to represent a receipt.

How we built it

We built the frontend using React's Next.js framework because we really liked all the features that the service provides, especially the CI/CD pipeline. We used Twilio API to send SMS links to users for them to pay through. We used Ankr RPC url and Etherscan API to query blockchain data to monitor transactions and detect user payments. We also used Thirdweb SDK to easily do Metamask integration and NFT minting. Finally, we are storing the group transactions on Google Firebase to keep track of people who have paid.

Challenges we ran into

One significant challenge we ran into is keeping track of transactions. As you know, the blockchain is a public ledger, so there are hundreds of transactions happening per second. As part of our product, we needed a way to make sure that everyone who was sent out a request paid to sender, so we can finish the transaction and conclude by minting an NFT of the receipt. We thought of several ways to work around this, but we ultimately decided on the following solution. After a user pays, they would go through their activity on the metamask app and text back the transaction id to the number. This way, we can monitor the blockchain, make sure they sent a valid transaction number, and note that they paid.

Accomplishments that we're proud of

We are all very proud of building out this project over the weekend. We learned a lot about different services that we would never thought of using. Overall, this was a very exciting weekend with a lot of takeaways.

What we learned

We learned how to use Twilio API to send SMS messages to users. Twilio is a great and easy to use service, and we are definitely going to integrate it more in our future projects. We also used typescript for the first time for the frontend and backend of the project. We can see now why adding types to javascript is very beneficial. Lastly, we learned a lot more about the blockchain space and RPC through Ankr RPC guides.

What's next for Splitty

We plan on continuing Splitty after this hackathon. In the future, we want users to be able to send any type of cryptocurrency with any wallet, and we'll create a swap exchange to swap between currencies. We hope to be the Venmo of the future!

Built With

Share this project:

Updates