Automated Tax Receipt
In today's world where everything is accessible at the touch of a button, the technology used by charities has grown very little. Studies show something that make you wait an extra 30 seconds makes you 50% less likely to actually do it. We aim to solve this via two principles. Firstly, make charitable donations as frictionless as possible, secondly, to provide an incentive for charitable donations via the use of automated tax receipt generation.
What it does
At the simple bump of a phone, a donation can be made and a tax receipt can be generated and sent to your phone by the time you walk out the door. By only requiring the user to have a mobile wallet such as Apple Pay or Android pay, our app should incentivize more people to donate money because of the simplistic nature. We also believe that by having a tax receipt generated on your phone for your donation by the time you walk out the door, is another reason that people will be more willing to donate money using our app. It automatically sends a PDF tax receipt to the user's email. Cherry also donates 100% of all funds to the receiver.
How we built it
We used Android studio and Kotlin to create the UI and interface of our app. Android Studio is a common way for Android development. We had no prior experience in writing Android apps as most of the team has Apple, however, we used Android because Apple does not allow the NFC reader to be used by the open source development community. We also did not use React-Native because it does not have support for NFC reading as well. We used Invoiced to create our automated tax receipts without any user input. The data for the tax receipt is directly retrieved from the host device when the user bumps their phone.
Challenges we ran into
We wanted to implement Nessie API, however, we had trouble using the HTTP requests with Kotlin. The NFC communication and NDEF was a pain to work with. Also one of our team members "Enter" key stopped working. Only one person in our team had an Android phone, so our only option was to use MLH's Amazon Fire Phone. Fire Phone had an outdated OS that made development complicated, however, we successfully implemented all the features we envisioned.
Accomplishments that we're proud of
We had no prior experience with NFC's or Android studio, however, by the end of the hackathon, we created a fully functional NFC mobile application with real-time payments. We created a visually pleasing Android application with zero Kotlin experience. Integrating the NFC was quite a pain because it was written in Byte Code, but with a good amount of research, we were able to implement it and have our phones recognize each other.
What's next for Cherry
We want to create an iOS version for the app and add support for Apple and Android Pay.