Back to Parent

Outcome


What is TimeBuddy?

TimeBuddy is a SMS chatbot that can help users check international timezones by telling it a city name. But if you chat with TimeBuddy a little bit more, you can unveil some secrets about its creator, e.g. random facts, portfolio links. TimeBuddy is designed to be a simple and easy-to-use chatbot that has a little bit of personality to it.

Women userflow 2x
Show Advanced Options

Motivation behind TimeBuddy

When the pandemic broke out and the entire world went into social-distancing mode, interestingly,  I found myself and others more eager to connect with long-time-no-see friends online. Growing up, I went to a K-12 international school, most of my friends are all currently living in different countries, so it’s really difficult for us to figure each others’ time zones out in order to even find a time to chat. The idea of TimeBuddy came from this simple motivation - to help my friends and I stay connected just a little bit easier.

Timebuddysms
Show Advanced Options

Conceptualize

I started off by asking myself what little things in life I sometimes find just a little bit annoying, and that I wish there was something that could either just do it for me or at least make the process a little easier.

I came up with the following :

  • Getting dressed in the morning and not knowing what to wear
  • Mealtimes, not knowing what to eat
  • Chatting with international friends, never know if they're up

The idea was to keep the problem small (because this was my first time coding something so I know I had to keep the scale small and within my capabilities), but if there was a solution for it it would still have a significant impact in making my life just a little easier.

Determining a direction

In the beginning, I wanted to create a stylist-bot, one that would help me decide on what to wear every morning. But after numerous unsuccessful attempts at finding an API that would support the features I wanted to build and also be easy enough for me to work with, I decided it might be better if I pivoted.

This was how I landed on TimeBuddy.

Challenges

First-time coding anything is a challenge. So TimeBuddy, despite its super basic and super simple interactions, it was still not a piece of cake.

Challenge #1: Deciding on an API

You'd think it's easy to find an API that would allow simple time conversions, it's way way harder than I thought! (Perhaps I was just looking in the wrong places? Maybe I just couldn't understand the basic code-lingo so I over-complicated a lot of things? We will never know...) It was a nightmare looking through pages after pages of APIs. I ran into gems that won't install, outdated gems, gems that simply don't work...

Why isn't there a universal format for API documentations??

I finally found this beautiful API called timezonedb. It had clear documentations, easy instructions, and required no gem installs ;)

Challenge #2: Working around naming conventions

Timezonedb, while I loved its simplicity, had its limitations. It would only work if users type in city names in exactly this format: City/London, which is a somewhat unnatural way for people to type in city names (at least for me). So I had to look for an alternative way to get around this issue. Luckily, our professor Daragh came up with a brilliant way of poaching the coordinates-location feature of a weather API and integrating it with timezonedb. His solution opened my eyes on how code can be manipulated, and also how much more I still have to learn!!

Reflection

TimeBuddy was my very first code-creation. Although it's so basic and the code is elementary-level-simple, I'm still incredibly proud with what I came up with. This entire process was grueling, but the results are ever so satisfying. Looking back, I definitely underestimated the time needed to build out an easy-chatbot like Timebuddy. There are still so many features that I want to continue adding to my chatbot, and hopefully with the skills I've been equipped with this semester, I can actually improve it further!


Drop files here or click to select

You can upload files of up to 20MB using this form.