Inspiration

We were tired of hitting snooze in the morning only to find out that after 5 minutes, 3 hours had passed.

What it does

HackClock is an alarm clock that will only shut off after the user has solved a short coding problem.

How we built it

Research was the initial step since we only had basic experience with Android Studio and its features. Using Android Studio, we first started developing the core feature, the alarm clock. After the alarm clock was functional, development of the database to store multiple alarm times and programming problems began. A significant amount of tweaking and debugging occurred throughout the development process we had never used some of the features, such as the Alarm system, before.

Challenges we ran into

  1. The alarm system and background services were not as intuitive as we initially thought it was. There was a time delay between when the alarm went off and when it should have went off, resulting in us believing our code was wrong for approximately 3 hours.
  2. The initial proposal involved the user inputted code actually being generated with a few initial languages being supported, such as Java and C++. However, given the time restriction and the lack of knowledge in this area, we could not bring this feature to fruition. Instead, we simply stored a few coding related problems in a SQLite database.

Accomplishments that we're proud of

  1. Having the app run successfully in the background since we had never done this before.
  2. Managed to lock the volume, so the user has less methods of shutting off the alarm without due procedure. Stuck with our initial idea even though some of the challenges we faced were hair-ripping, headache-inducing

What we learned

More about Android development. Our personal limitations in time restricted environments.

What's next for HackClock

  1. Get rid of what we think is the most significant bug, which is a delay between when the alarm actually goes off compared to when it should.
  2. Determine how to execute user inputted code.

Built With

Share this project:

Updates