Inspiration
I used to track my time manually, using google calendar to keep track of ways I was spending my time. I always thought it would be nice if there was an app or a way to track this automatically, or at least summarize the information quickly.
What it does
This webapp connects to your google account and summarizes the time spend in each of your calendars in google calendar in the last 7 days. For example I have a calendar called sleep, so all the time/events listed as sleep are counted, and the total time is presented in a table. This is done for all calendar (sleep, university, social, etc.)
How I built it
The webapp is mainly build with Flask for backend, hosted on render. The google calendar api is used, as well as google oauth and auth. The frontend is basic html/css with Jinja templates, and Chart.js
Challenges I ran into
I hadn't used python in a while, so it took some time to get used to it again. The main challenge however was OAuth configuration. Since it is a security protocol, a lot of the code has to be setup in a way that is secure, and URIs and keys/secrets have to be implemented correctly (not coded in). A lot of troubleshooting was also spent trying to configure the app to work when hosted on a server, instead of offline.
Accomplishments that I'm proud of
Being able to develop the idea, plan out the essential things I wanted it to have, and successfully build and host it feels like an unreal accomplishment. I'm not a very experienced coder, I have never programmed anything that wasn't a school assignment or university project and I knew that joining a team would mean I would probably end with a better product, but I wanted to see what I was capable on my own. I know it is a very simple, visually muted product, but it feels like something incredible to have been able to create this myself and I am very proud of it.
What I learned
I feel like I have a much better understanding of webapps and webapp development. I started with knowing next to nothing about frontend, and feel like now I have a better understanding of html and css, and an idea into how dynamic web pages work. I also got to know google APIs and OAuth, as well as learning a bit about hosting web apps. Reading documentation, particularly for Flask, helped me learn how to start to familiarize myself with new frameworks.
What's next for Calendar track
The main feature I would like to add is one where you pick the week you want to track/summarize. I feel like the visuals are quite lacking, so adding a more attractive and user friendly interface would be a good next step. Long term, quality of life improvements like a logout button and an about page would be ideal, for a more user focused product.
Log in or sign up for Devpost to join the conversation.