When driving in bad weather conditions, train drivers often cannot see signals and track-side equipment in front of their engine. They have to speed down in this situation just because they can't see outside like before. Now think about the passengers which can't see the beauty outside. boring!
What it does
Using provided geotagged video and data of the train route, we will give the drivers insight when bad weather. There will be a Mobile app for their tablet. With that, they can see what's going outside, what's the nearest track sign, and how far they are from it and where is the train on the map. Very same thing for a passenger, who wants to see outside so they won't get bored seeing nothing outside, or maybe just a smart TV in the wagon for all!
How we built it
As we needed to be as realtime as possible and other limitations like internet outages on the way, We had to cache data to the mobile client as well as doing some calculation there. Alongside the heavy-duty of the mobile app, we designed a back-end system in which mobile clients get files needed to cache. Our Flask app will be called to retrieve the new video and meta-data from the cloud storage (S3 in our case) and it will start compressing the video to the proper settings as well as cleaning invalid data on its meta-data and saving them on the server. On the other hand, Nginx will serve these files to the clients.
Challenges we ran into
- Different time zones. one of our developers just gone to bed after sending the final demo, forget sending the source code needed for submission! He just woke up some minutes before the deadline!
- Putting together the right team with the right set of skills until the last minute of the matching session.
- Matching GPS location and Movies' location for synchronization.
- Train speed may vary and image must stay synced.
- Being Realtime, therefore we need to cache on the mobile side efficiently.
- There are internet connectivity outages in some places on the way.
- GPS doesn't work in tunnels.
- There are some invalid location data in the raw dataset.
Accomplishments we are proud of
- Building a hybrid diverse (in terms of age, location, and sex) team of experienced hackers!
We had Vikram our legend mobile developer and a swiss trains user, Paria our brave backend dev which is also a developer in a map platform with more than one million users, Mouhssen our kind UI/UX designer, Walid our sleepless skillful hacker, and Mohammad Reza our restless leader and software architecture.
- The first successful experience of participating in a hackathon with a hybrid team.
- Making a badass video for the presentation.
What we learned
- The importance of networking
- Wide range of track signs used for the trains and how they actually being used.
What's next for Lift the Veil
a smooth solution for constant frame and location synchronization