TTCing is a 3-year-old project of mine that aims to crowd-source useful tweets about the TTC to inform people. It’s a project that I’m very proud of, to date it has over 2,758 followers, and I felt it finally warranted a blog post detailing why and how it was built, and its exciting future.
What is TTCing?
The ultimate purpose of @TTCing is to help people make better decisions in regards to the TTC and their commute. It will let followers know if there is a passenger assistance alarm activated at Eglinton Station or a smoke at track level situation at St. George (for example) so they can plan accordingly.
The beauty of it all is that I’m not the man behind the curtains sitting at my computer and manually going through tweets to share on @TTCing: it is a bot that I created to work for me (and the community), even while I’m out and about, admiring cats, or sleeping. You (you in the general public sense) power it with your tweets.
Sometimes when I wake up, I drowsily check my Twitter feed and when I see a lot of tweets from @TTCing, I know there’s almost certainly a transit issue. I am a commuter, I spend about 1h30m every weekday commuting to and from downtown Toronto => at least 6h30m every week => 32.5 hours every month => 390 hours (equivalent of 16.25 days) every year.
I want to point out that TTCing is not meant to replace the official @TTCnotices Twitter account, it is meant to supplement it, just like whey protein (@TTCing) and a nice juicy steak (@TTCnotices). And for all intents and purposes, I need to make it clear that I and TTCing are not affiliated with the Toronto Transit Commission in any shape or form.
Fun (and slightly awkward) Tidbit
“TTCing” is a term that I’ve used most of my life. In the early stages of working on TTCing, I saw that ttcing.ca was available so I grabbed it. A couple Google searches later, and I found out that TTCing has a second (very frequent) meaning: Trying To Conceive (as in, trying to have a baby).
How TTCing Helps People
It is easy to imagine that the biggest benefit of TTCing is informing people, but over these three years, I’ve noticed a couple of additional benefits:
- Building a community: over time, more and more people began interacting not only with TTCing, but with other people. Some are debates about the TTC, but most are usually “I know, me too!” tweets.
- Emergency situations: I am able to quickly get the word out about adverse weather conditions or issues that impact a person’s well-being. During some of the past storms/blackouts, I’ve tweeted and retweeted information about closures and safety considerations through TTCing. I also try to retweet about any lost items on the TTC or missing people, leveraging the fact that there are nearly 3,000 people following @TTCing.
- The positives about the TTC: while it is easy to assume that @TTCing will tweet only about service disruptions or delays (which is definitely not the case), it also shares tweets about kind service operators, random acts of kindness, awe at the new streetcars, and also the occasional “my bus driver is so hot” tweet.
Just like the Scarecrow from the Wizard of Oz, because TTCing does not rely on specific hashtags to identify “useful” tweets, I had to code it to have some “intelligence” or heuristics in a sense.
Without going into technical detail, TTCing scores each and every public tweet it picks up using a custom algorithm I developed and tweaked over these 3 years. It avoids making duplicate tweets and blocks/censors tweets that contain profanity (as I am cognizant of the fact that underage people may be following @TTCing).
It may be weird of me to say this, but TTCing has become almost like a child of mine because I felt like I’ve taught it to think for itself. And it’s time for it to further grow.
Since yesterday, I have been teaching it which tweets are useful or junk, automatically building a database of words and scores for each word, somewhat like a father teaching his child how to bike for the first time :’)
It features some nifty calculations I came up with, such as confidence levels and weighted scores. It also keeps track of the last time a word was used, and will automatically delete words not encountered after a month or so.
As shown in the screenshot above (click on it to enlarge it), after just one day of training, it already has a good idea of which tweets are useful or junk, and which tweets are probably useful or junk.
I will be spending time thinking about how to more or less take myself out of the picture and have this little baby of mine stand on its own two feet and think for itself, but that’s a question that I will be pondering in my 1h30m commutes every week day.
Hi, my name is Andrew. You may find and follow me at @andryou.
Amidst many things – such as curry, cats, and chicken biryani – coding is one of my passions. #alliteration
Helping people is another passion of mine, and the two passions very frequently combine and end up in the creation of various projects, one of which being @TTCing.
And to the left is a vague representation of me. I do not have a Wii controller attached to my left arm at all times.