Inspiration
Nia: I came up with the idea for a “Charity Clock” in high school but throughout the hackathon, the idea was augmented to fit our purposes. My inspiration was me. I struggle a lot with waking up on time and through the pandemic it has only gotten worse (bad circadian rhythm, being less active, not going out as much). The point of this app was to motivate me to get out of bed. Time in this app will literally cost you. Alternatively, on the flip side, if I did sleep in, I would feel less bad because I am donating to an organization or charity I care about and trust to do good work.
Theme
Social Impact
What it does
This app allows the user to set up an alarm, an organization to donate to, a donation amount, and an interval for the alarm. When the user's preferred alarm time is triggered, the app displays the alarm and two buttons. The first button is "Wake Up." If you press “Wake Up”, you are applauded for waking up on time. The interval the user set prior keeps the alarm going if “Wake Up” is not pressed before the interval is up. It will then transition into the donation screen asking for confirmation of a donation that the user set up prior. The second button is "Pay Up." The user can choose to “Pay Up” instead of waking up from the alarm screen, buying them sleep time, and donating to a cause and charity they are passionate about. Causes include health, the environment, human rights, world hunger, education, women, and more.
How we built it
This project was done in android studio in Java and XML.
The settings screens were made by using custom Dialog Fragment classes that contain a DialogListener Interface. The dialogs are connected to custom layout files and pass the information to other activities by the listener as well as the Intent class. The Alarm works by using the information from the settings dialogs. The alarm starts at it’s scheduled time running until the interval is completed. After that it triggers the “Pay up” Screen unless the “Wake up Button” is pressed.
All of the buttons have onClickListeners to give it context of what to do when pressed.
Challenges we ran into
Nia: I have had experience with Android development in the past, but I was reluctant to code this idea from my high school days because I felt like I did not have enough experience. I’d never used the Timer or TimeClicker classes and objects before. In a real deployment setting this app needs partnerships with organizations who either have API’s to integrate with or writing code workarounds if they don’t. I also had never worked with a payment API before. Due to time I was not able to implement Square’s API but after this experience I feel ready and up to the challenge. So my challenge was being brave enough to dare to code something I was unfamiliar with. Getting the Dialogs to work was also my job and I learned that there are several ways to implement them, but choosing the best one to work uniformly with other people was more important than a quick fix-version.
Arsela: As a complete beginner in Android App Development, this experience was definitely outside of my comfort zone and knowledge. I encountered some errors in my code due to my unfamiliarity with the language and its syntax. I learned that the XML code must be linked with its corresponding Java code. However, I was able to navigate through due to the collaboration with my teammates and some android development studying, such as researching UI Design, Java, and more.
Ahsanul: I had also never made an Android App or coded in Java so this was an enormous learning experience. Understanding how to translate my knowledge in web development into app development seemed challenging at first, but eventually, I got the hang of the process and understood the similarities between the two although there were still many things I wish I could do.
Accomplishments that we're proud of
Nia: Seeing this through to the end, whether we come up with a finished product or not is an accomplishment for me. This is my second hackathon and I am really glad I pushed myself to team up with strangers. I usually work alone so working on a team was a pleasant change. Another accomplishment is to code another app as well, the last app I coded was 2 years ago, so getting back into the practice is a win for me.
Arsela: Since this is my first experience not only coding an Android app, but even attending my first hackathon, I am so proud that I got to experience it with this incredible team and this innovative project. I am very glad I was able to immerse myself into this new world of hacking with such passion and creativity!
Ahsanul: All three of us are first-time hackers and two of us are first time Java/Android developers (we've never developed an Android application before). The task to build an Android application from scratch for the first time seemed like a daunting task but it was a great learning opportunity for us and once we learned the Android development process the task seemed far more feasible.
What we learned
Nia: I learned so much about Git from our teammate Ahsanul. As I said before, I normally work alone so my git repo’s are just me. He helped tremendously with Version control and I was so excited to finally get a glimpse of how a multiple person repos would function. I also learned about different parts of Android development. Timer class, Dialogs, and Timepicker to note a few.
Arsela: I have learned so much in this experience. This was my first time coding an app! I also learned XML and Git for the first time. I practiced UI Design for the first time, which has always been a huge interest mine. I mainly learned the importance of patience and analysis in coding. To build a great app or any kind of code, you must be able to approach your mistakes with an analytical mind to be able to problem solve as efficiently as possible and trust the whole process. I am truly passionate about this app idea and could definitely see it coming to life one day. I would love to continue working on this in the future to positively impact people's lives. My favorite part of this experience was its creativity and seeing our team’s ideas come to life!
Ahsanul: As long as you’re willing to put in the work and take the time to learn, app development is a relatively straightforward and fun activity! You’d be surprised at how easy it can be to develop your first app in just 1-2 days.
What's next for PenniezZZ
PenniezZZ has big dreams for the future. Firstly, we plan to implement our payment method through the app to be able to officially donate to the charities listed. We hope to be able to connect our app's payment system to apps like Venmo for smooth donation processing. Secondly, we hope to establish connections and partnerships with the organizations and charities we have linked for donations on the app. We want to inspire our users to not only donate to live a life of service and helping others but also to live more productive lives by waking up on time and achieving their daily goals, one penny at a time.
Log in or sign up for Devpost to join the conversation.