Inspiration: We fall asleep very often while during homework, or attending AP Courses. We wanted to create a platform, which would enable us to stay awake during these vital events.
What it does: Diligence is a platform that wants to keep it's users "diligent". It is a smart watch app that when activated, records the user's heart rate. Once the user's heart rate falls below a threshold (we intend on having an algorithm to determine that threshold which will be unique to the user), the user's smart watch notifies them through haptic feedback, to reinforce the user to do something in order to wake themselves up. Often when driving, or attending lectures, people do not realize they are falling asleep. We intend on alleviating that flaw.
How we built it: We had a very ambitious product for a more inexperienced team, however we used Xcode, Eclipse, Brackets, Objective C, CSS, Java Spark, HealthKitSDK, and HTML5 to do the majority of our project
Challenges we ran into: One MAJOR challenge we faced, were apple development restrictions. I (Curtis Mason) am very familiar with apple development, however they recently strengthened restrictions for non official developers, in an attempt to generate more revenue. To avoid these restrictions, I would need to purchase a developer license which you must renew yearly, and it cost $100. One significant restriction we faced, were provision ID's. Apple's provision ID's limit the amount of deployments we were allowed to create. These deployment's were associated with our ITunes accounts. To alleviate this, we made dozen's of fake ITunes accounts using a scrap email generator. However as we were creating these ITunes accounts, we unknowingly were using the same Apple ID's (First and Last name), consequently ITunes eventually started to link all of these accounts under the same team therefore further limiting our deployment's. This along with a lack of man power as two members in our group came to learn programming, gave us a rather strenuous timeframe to work under. Additionally, smart watches are very new to the market and therefore aren't very well documented. Understanding the poor documentation along with limited deployment's made this project needlessly difficult.
Accomplishments that we're proud of: We're proud of all the thought that went into the project, although we lacked the time to complete it. We intend on pursuing this idea into the next hackathon to flush out our idea's, start implementing a more functioning backend, and potentially sell the app commercially.
What we learned: Bahij, and Hana were very new to programming. They were very proud of their website. Curtis Mason was new to backend programming, and he managed to get a very basic Java Spark hosted server running although it has little functionality as of right now. This experience has been a gateway to further developing our comp sci skills.
What's next for Diligence: We have a lot of idea's to further Diligence for we believe it has a lot of potential. First and foremost, we wish to have heart rate callback's, and graphical analysis fully functioning. The ability to analyze large sums of data and automatically determine a "threshold" for drowsiness, along with exporting this information to a java/php/python server where it can be databased in SQL, and then exported to more powerful spreadsheet utilities such as google sheets could be a potential marketing medium. The client's (with permission of course) would give permission for us to potentially use their information for medical research. One such example, is if doctors wish to see the heart rate patterns of a user with a rare heart disease, we could give them a clear and concise graphical analysis of the user's heart rate. Secondly, we wish to add a twilio interface, as an alternative to vibrations. Twilio is a software company which allows developers to send sms messages to their clients. This may prove to be a more prominent form of notification, as it can be supplemented with the vibration, and the phone notification may encourage the user to check their phone hence raising their alertness to a specific degree. We could have Twilio send "Philisophical quotes, meme's, or witty puns to keep the user amused". Thirdly, we wished to create an AI, in the long run, which would be responsible for discerning between good data, and false data. We acknowledge that not all heart rate's logged into HKHealthStore may be accurate, for they must be inputted by apps and henceforth may experience an "adjustment period" where the user may log an unrealistic value. An AI that judges the normal heart rate of it's user should produce more reliable information, as it personalizes the user's experience. Fourthly, we wish