Inspiration
The idea for Circle sparked when one of our teammates shared their challenges of converting Canadian cash into the local currency of a foreign country. They found that it was difficult to find and compare locations to get the lowest exchange and foreign transaction rates, and felt that they were not getting good value for their conversions.
Conversely, our team had a conversation about the increasing prevalent use cases of cryptocurrencies in the 21st century, and in discussing more about decentralized platform and blockchain technology to retain maximum value for currency owners, the spark for Circle was born.
What it does
Eliminates time and hassle of going to a currency exchange, and saves money on high foreign transaction rates.
Circle provides users with an alternative solution to traditional payment methods with the introduction of NFC cryptocurrency payments. Through the tap between two iOS or Android mobile devices, money can be transferred directly and instantaneously between digital wallets, similar to the concept of e-transfer (except we're better!)
A product for the individual, but also a product for the merchant. As a growing number of small and medium sized businesses shift towards accepting cryptocurrencies as a form of payment, Circle is the perfect platform to easily request and receive payments for customers.
To send money, simply click "Send", enter the type of currency and the amount you wish to send. Then, tap your phone with the receiving phone to make an instant transfer. You can view all past transactions directly within the app. To request money, click "Request", and follow the same process as above. It's as easy as 1-2-3!
How we built it
Since we wanted our app to be functional as a web app as well as a native app we decided to build it on top of Ionic Framework, which let us target multiple different platforms with one codebase. This lets us easily integrate new users using our web interface as well as provide rich native functionality through our app. We chose to go with react.js as most of our team was familiar with it. We chose to go without a backend since it was unnecessary and would create privacy concerns. Since our main objective was to create a transaction app with peer-to-peer communication, we had to use NFC and work with tools for capturing and sending those messages.
Challenges we ran into
Since all of us were new to mobile development, we struggled with a lot of basic tasks such as navigating and handling app lifecycle. Although our web development experience helped us with these problems, we had a lot on our plate during this hackathon.
We also struggled with core functionality such as NFC scanning. We went in thinking this would be the easiest part but soon realized there was a lot more to NFC than we had previously thought. Throughout this hackathon, we had to learn about the various different NFC standards and encoding schemes. Initially, we were planning on using the web NFC API, but as soon as we realized that the web API did not support P2P transfer between devices we had to restart the entire project and start from scratch.
Accomplishments that we're proud of
We are proud of being able to create a functional prototype, especially taking into account our lack of experience with mobile development and working with low level hardware. We made many mistakes along the way, and although we didn't accomplish some QOL features we are still proud of what we were able to do in the time that we had.
What we learned
We learned mobile development and the knowledge that's required along with developing fully offline in contrast to the web with the use of the Ionic framework. We also learned to work with many low level APIs such as NFC.
What's next for circle
For future improvements, we hope to integrate credit card and direct bank payment solutions into Circle to create an all-in-one solution for users who can choose which method they prefer.
Log in or sign up for Devpost to join the conversation.