Inspiration

During my sophomore year, one of my main issues was managing my time. I attempted to manage athletics, clubs, coursework, and personal projects, but I required something to succeed. My performance faltered and fell short of my expectations in those days of sports, clubs, and schools as a result of these small errors. Looking back, it's obvious how disorganized I was and how easily my phone or random tasks could divert my attention. I want to develop a trustworthy add-on for time management because I was terrible at managing my time and I want other people to benefit from my experience managing several things at once.

What it does

I developed a script that accepts the user's name of the event, start date and time, end date and time, location, and description to record the preferences and tasks for time management. The algorithm considers those selections, producing all that data, which is then input into Google Sheets to enhance your planned event organization, speed the process, and above all, prevent additional events from showing up if you have prioritized events in your Google Sheet that are more important so they don't overlap and impact your time management.

How we built it

I had a different strategic strategy for TimeWiseV2 than I did for the original version of TimeWise. Instead of using Python in Google Shell Editor or Google Cloud Platform (GCP) for TimeWiseV2, I used the built-in Google Sheets script editor. Using Google Apps Script and the Calendar API, the initial step is importing the Calendar Events into our spreadsheet. Finally, using Google Apps Script and the Calendar API, add Google Meet Links to Calendar Events.

Code

The get_Events function's main purpose was to retrieve events from the calendar and update the spreadsheet with the event details. I created variables in the function. var ss = SpreadsheetApp.getActiveSpreadsheet();: This line gets the currently active spreadsheet. var sheet = ss.getSheetByName("GetEvents");: This line gets the specific sheet named "GetEvents" from the spreadsheet. Calendar Retrieval: var cal = CalendarApp.getCalendarById("______@gmail.com");: This line gets the calendar with the specified ID. Event Retrieval: var events = cal.getEvents(new Date("4/24/2024 12:00 AM"), new Date("4/25/2024 9:00 PM"));: This line retrieves events from the calendar within the specified date range. Every event in the events array is iterated over by the for loop. events[i].getTitle();: Returns the event's title at that moment. events[i].getStartTime();: Returns the current event's start time. events[i].getEndTime();: Returns the current event's end time. events[i].getLocation();: Returns the current event's location. events[i].getDescription();: Returns the current event's description. In order to use set the title I used, sheet.getRange(i+2,1).setValue(title);: Sets the title of the current event in the first column of the spreadsheet, starting from the second row (i+2 because spreadsheet rows are 1-indexed). Similar code is performed to set the start time, end time, location, and description of each event in the corresponding columns of the spreadsheet. Lastly, Logger.log("Events have been added to the Spreadsheet");: Logs a message indicating that events have been successfully added to the spreadsheet.

Challenges we ran into

Since this is a version 2 project, the main issue was to improve and finish what the initial project didn't do. It was also difficult to find the time to complete this task because I am in my junior year and have the SAT, ACT WorkKeys, and MSTEP. It was difficult for me to find the time to improve before the deadline because I have AP Exams to study for in addition to other personal projects I'm currently working on.

Accomplishments that we're proud of

I'm proud of myself for resolving the errors and issues I made in my first TimeWise version because I was so caught up in them the first time, and I felt horrible for not finishing the project on time because GCP was so confusing to me. I've heard that GCP certification exams can be difficult, but they can be passed with the right study habits, preparation, and practical experience, so I'm thrilled to be able to experience this at an early stage of my high school computer science career. I'm also proud I managed to complete this on time because of the tight schedule I'm currently in.

What we learned

Despite the fact that my software was only passable, I learned how to improve it by reaching out to experts with IT expertise, qualifications, and a ton of research and problem-solving skills. Because of the research, I became more knowledgeable about Google Sheets and how much more streamlined they are, which I then integrated into the Calendar API. Since I'm not usually proficient in scripting, I also learned how to do it using Google Sheets' script editor.

What's next for TimeWise V2

I intend to update my application with AI-powered schedule optimization and AI algorithms that examine users' habits, schedules, and priorities to recommend the best times to complete tasks and engage in activities. (The app could get feedback from users to keep refining its recommendations).

Additional Message

I want to clarify while TimeWiseV2 is inspired by the original TimeWise, all the code and plans you see here are developed in the hackathon window and I didn't use any code from the original TimeWise

Built With

Share this project:

Updates