If you're the type that likes to wake up early in the morning, maybe you find that your energy and ability to focus are at their highest peak during those early hours.
Or maybe you're a night owl – you find that you're on fire at 1 A.M., hacking away on a project while everyone else sleeps.
You can probably dredge up some basic answers to these questions from your memory. But what if you knew exactly when your energy level would hit its peak on an average day?
What it does
Hourly is an app that helps you track your daily energy levels, analyze the results, and predict when your energy will peak. It allows you to shift meetings, errands, and other busywork to other times of the day – thus ensuring that your "Prime" never gets taken up by things you know you could do half-asleep. Once you've got your system set up, all that's left to do is gather the data. Over the next 1-2 weeks, keep your system running and diligently enter your energy level each hour during the time window you want to track.
How we built it
We implemented this idea in the form of a web app. We used to React for the frontend and Django for the backend. We took advantage of Django REST Framework to allow us to connect Django and React flawlessly. In the backend, the server handles every request by responding to the client with a code 201 or a 404.
Challenges we ran into
We initially decided to use Django as our foundation and implement the frontend as an app in Django. To do so would have meant we couldn't use the full functionality of React and that stifled our creativity. We then decided to host the frontend and backend on two separate standalone servers so that the frontend can do CRUD operations on the backend.
Accomplishments that we're proud of
- Interactive Graphic for the Energy levels for the day, the entire week, and every instance.
- Realtime update of graphic based on input from the user.
- Pretty interface
- Complex backend data processing to give you accurate information about your energy levels so you can make informed changes
What we learned
- Working as a team to identify and solve real-world problems
- Collaborate efficiently on Github
- Work seamlessly with peers and communicate effectively
- New technology including React, Django, and Django REST Framework
- Researching scientific papers to back our idea