💡Inspiration

A group of friends, keen to take the world together - but the way we’re keeping track of bucket list items is… pinned comments in a messenger group chat and a shared album on apple photos?

Managing wishlists scattered across different places like Instagram saved posts, screenshots, random group chats, notes - make it difficult to share them efficiently when the need arises, and makes it a common occurrence for bucket list items to get lost.

Coupled with the common frustration of coordinating schedules with friends and family due to busy lives and juggling multiple commitments - Buckets 🪣 aims to centralise these tasks into one seamless platform.

🔨 How we built it

In our initial stages, we wanted to create a name that would be trendy, catchy, recognisable, and also encompass our theme about centralising things that we want to do - just like a bucket list.

With our tech stack we utilised the following technologies: React and Typescript for frontend, Express and Typescript for backend, Google cloud platform and its calendar API for calendar integration and Gemini AI for our LLM that handles bucket list suggestions.

As a team, we were able to divide our tasks into front end and back end work. We began by designing our prototype on Figma, prioritising a user-friendly and minimalistic interface, then defining our back end routes in Swagger.

🤔Challenges we ran into

Google Calendar API: During the hackathon, we ran into many issues with the Google Calendar API. Since it required Google authentication through OAuth2, any deviation resulted in errors - this resulted in many hours of reading documentation, trial and error, and countless stack overflow/reddit links before it was solved. In addition to this, the fact that it is meant to link at least two google calendars required us to be able to access the local browser through many different Google accounts in order to test it, complicating the process.

Automating calendar overlap: One of the major challenges was developing an algorithm that could efficiently analyse multiple users' calendars to identify overlapping availability. We had to handle different time zones, recurring events, and varying calendar formats. Implementing real-time synchronisation while minimising conflicts required extensive testing and debugging.

🎉 Accomplishments that we're proud of

We are proud that we were able to achieve functionality in less than 48 hours of coding, even sacrificing sleep to do so. However, the added time pressure and infectious passion helped us maintain productivity for a large majority of the hackathon - something that a lot of us had not expected us to be able to do.

Despite a lot of us meeting each other for the first time, the group was able to work harmoniously with the nights filled with balance between moments of laughter, and silence filled with keyboards tapping away at code.

Each team member was able to work towards their strengths, and despite several blockers at multiple stages, were able to maintain a positive attitude and help each other when needed.

🌟 What we learned

Integrating Google Calendar API: We learned how to handle OAuth2 authentication and manage multiple calendar accounts while dealing with time zones and recurring events.

Google Gemini API: Gained experience in utilizing the Gemini API for intelligent recommendations and predictive analytics.

Coding in react and utilising components and linking the backend with the frontend.

🧗What's next for Buckets

In the future for Buckets, we will be developing a mobile application that will include the ability to notify friends when a bucket list item is added.

In addition to this, the web application will receive several new features such as browser extensions that automatically add bookmarked websites into Buckets, and increasing the scope of calendar integration to Outlook calendar, Apple calendar etc.

Share this project:

Updates