Inspiration

As a team of Computer Science students, we understand firsthand the stress which stems from a competitive and intensive course such as CS. Due to the nature of our course, we often forget the importance of hygiene, spending too much time coding and fixing our programmes. Hence a universal stereotype emerged, where students from other courses believe that CS students do not shower. Unsurprisingly, "smelly" and "CS majors" often go hand in hand.

What it does

ShowerBreak interacts with users to track if he or she has showered today via a telegram bot. It sends daily reminders to shower, shower tracking and content accessibility.

How we built it

The overall conversation logic is built using Telegram's popular TeleBot API.

More specifically:

  1. Daily reminders utilise UTC timing to send accurate notifications to users.
  2. Shower tracking relies on computer vision to determine if the user has indeed showered.
  3. Content accessibility hacks your chrome browser by blocking certain productivity websites using a chrome extension, requiring only the user's Telegram handle.

Challenges we ran into

Building the Telegram Bot logic was fairly straightforward, however we encountered many hurdles implementing the content accessibility feature.

The true crux of this feature was that chrome extension has third party security enforcement which prevents the injection of JavaScript from non-local sources, which restricted us from calling our Supabase backend directly. To overcome this, we created a middleman by redirecting communication to itself instead of directly between Supabase and the chrome extension.

Accomplishments that we're proud of

The bot works (kinda).

What we learned

We got more familiar and intimate with the TeleBot API. Additionally, we managed to learn how to build our own Computer Vision system to validate whether the user has showered.

What's next for ShowerBreak

Further extension by improving your shower experience, such as water usage statistic, soap usage during showers and cleanliness index.

Additionally, we also aim to deploy this bot as a full fledged application.

Built With

Share this project:

Updates