TRAFI Hackathon: How we hacked the **** out of it

Good teams build good stuff. Great teams build great stuff. Freaking awesome teams build exceptional stuff and such team happens to be working at TRAFI.

Enough bragging. I want to tell you a story about 5 teams, 5 ideas, and 30 hours of non stop hacking which happened during internal TRAFI hackathon not that long ago.

This is exactly what happened at our office. Except “several days” were compressed into 30 hours and “large number of people” was 16. Which is still a lot of people building cool stuff! So here are the teams, their ideas and what they accomplished.

Team 1: RAPTORs

Idea: Build offline route search in 2 days instead of 3 months :trollface:

TRAFI has offline mode for quite a while now, which allows users to download timetables and check them without internet connection. It does not include route search, though, which we have promised to our users.

However, it’s not that simple, unless you have a couple of PhD and C++ geniuses who know much more about route finding than Dijkstra (hence the team name) and who decided to get on it during the hackathon.

When you sit and think about it, it’s not as scary as it looks — just build up a graph of public transport lines, perform ride-walk-ride-walk-ride-walk a few times, fix a few segfaults, and you’ve got yourself a decent route. Oh, and you need to convert it to the format that UI likes (the hard part).

Aaaand it worked! The team had a working version of route search algorithm which finds routes from A to B without internet connection. Coming to TRAFI app soon!

Team 2: Profesionalus požiūris

Idea: TRAFI Explorers — an app for crowdsourcing the public transport data.

It’s nice when there’s an option to import public transport information from smart cities with open data, nice and clean APIs, blah blah blah. You can then just go and take it. Simple, easy, and everything works.

That’s not the case in emerging markets, where TRAFI is active. They are still under process of emeeeerging. It means that their public transportation system is chaotic and data is non existent.

This is where app for route and bus stop crowdsourcing comes in handy. And that’s what this team hacked during the hackathon.

After the API safely puts data from the mobile app into PostgreSQL, post-processing unit takes care of map-matching noisy GPS data piece by piece to produce sensible track shapes. It also bundles multiple stop data from various users to identify actual stop positions in the city.

Oh, and don’t forget a neat visualization to show it all. Informative maps and smart images we like.

Team 3: Žalieji

Idea: An app which lists public events. Nobody has built it yet and nobody knows why.

You know the feeling, when you have so many different invites and options to go out that it’s really hard to decide which event to attend? Well, this team didn’t. So they decided to build an app which lists public Facebook events. And they elegantly named it @end

But there’s a problem: you can’t get all events from Facebook. So they did what people do during hackathon — they hacked it:

  • User logs in with his facebook account
  • App fetches public events that this user has access to
  • All events are saved for other users to browse

Smart and simple. This way the more people register, the larger event database becomes.

And of course the team didn’t forget to include “Go there with TRAFI” widget to earn some extra points.

Team 4: Du

Idea: Offline realtime.

This is simple: allow users to download realtime information while offline. Wait, what?

Realtime when users are offline. Kind of hard to wrap one’s head around but they did it by using good ol’ SMS.

In essence it goes like this:

Phone -> SMS -> TRAFI API -> SMS -> Phone — and voila, up-to-date real time information is available within the app!

Team 5: Autobusiukas99

Idea: Bus drivers are too mainstream. Let’s build a self driving bus!

Well, to be more precise, the real idea behind this was to use artificial neural network and train a toy car to ride by itself. That sounds challenging.

First of all, you need to do some wiring and soldering to establish a connection between the PC and the toy car (Arduino comes in handy):

This connection is two-way: PC sends instructions via radio transmitter (go forward, left, right, back) while the car sends what it “sees” — a JPEG stream from the smartphone camera mounted in front of the car.

Once the data was flowing, the team went hacking:

After a looong and sleepless night, the baby car was smart enough to ride along the white track by itself and also react to… a lemon! If the car started to act crazy and panic around (totally understandable — it’s only 1 day old!), the guys would hold a lemon in front of it to calm it down (i.e. slow down acceleration and stop).

So in the end I want to say a big thankyou to everybody who participated in this crazy marathon. I really doubt that there’s another team in Lithuania who can do all this in such a short time and with such passion. Looking forward to the next TRAFI Hackathon!

And for dessert, here’s some “buitiakas” (can’t really translate this one) from the night:

Tadas is ready to continue hacking after the shower!
Power nap
TRAFI has some really comfy beds