Last weekend I had an amazing opportunity to take part in one of the premier Hackathons on the West coast and had a blast. What better way to end spring break, than to hack away on some amazing technologies with some cool teammates! I took part in LAHacks, a hackathon that is organized by UCLA.
The organizers had busses plying from UCSD campus. I took the bus, along with my friend Akshansh. We arrived at the venue by around 6 pm on Friday and were blown away by the campus. The hackathon was being organized in the Pauley Pavilion and the place was massive. The pavilion had a beautiful modern building and this was the first time I ever saw a Basketball 🏀 court from the inside. After the opening ceremony, we took part in a team building activity and met with some really cool people. We decided to team up with Anirudh and Anuj, from USC. They had some nice ideas for using some APIs and we believed we could create a fun project together.
The Problem 🤔
Our team building conversation itself started shaping up our product. We discussed the APIs provided by some of the companies sponsoring the hackathon and how we could use them to create an impactful product. We knew that SMS service by Twilio could help us cater to users that are not connected to the internet. Maybe we could provide news to people not connected to the internet! Surely most of the people in rural areas have access to news through scheduled sources like TV and radio 📻.
But what if we could provide them with on-demand, summarized, news on topics that have been trending globally, in the last hour without the internet? This could help them stay connected to meaningful information, whenever they need!
The solution 💡
We used Twilio’s SMS API to allow users to interact with our service using SMS. Thus we do not need any front end app or website, the stock messaging apps on their phone would suffice. We would allow users to first select their region and allow them to have the news translated to their native language. Then we would fetch the trending topics in the region and present them to the users. upon selecting a topic, the user would be presented a short summary of news about the selected topic. All via SMS!
- Help people stay connected, without internet
- Have simple navigation in the service
- Createa minimal number of commands so older citizens can use it too
- Have several redundant but intituitive alternatives for navigation e.g. allow using ‘n’, ‘news’, ‘topic’, ‘topics’, ‘t’ etc to get trends
We were set with the main idea after a few hours of brainstorming, late into the Friday night 🌌.
The Tech 📱
Our user facing technology was just any messaging/SMS app the users would have on their phone. The backend was created in Django. We used several APIs to achieve various tasks and create a valuable service.
Twilio: SMS infrastructure
Twilio is the leading service provider for using SMS to interact with users. We had a really helpful team from Twilio at the Hackathon who guided us all along. We bought a number form Twilio and registered our backend as a webhook to it. When any user sends an SMS to the registered number, it is sent to our webhook as a POST request along with some othe rmetadata about the user. Our backend then generates an appropriate response, which is returned to Twilio and eventually back to the user.
Taboola API: Trends
Taboola was anoter sponsor at LAHacks. They were here with an API that allows one to get a list of trending topics in the past 24 hours, bucketed by 30min intervals. It also has a range of additional information like trending articles for these topics, a score of their trend, similarity with other topics etc. We used this API to get the regions to present to the user and then to show the topics for the selected region. Then, upon selecting a topic, we used the article links from the API to get an article.
|Current trends in US|
Diffbot Article API: Article Extraction
Just having a URL to an article is not enough to extract its content. We need to be able to get just the relevant text of the article. We used this API to get this.
DeepAI API: Text Summarization
Once we have retrieved the whole article, we pass it to the DeepAI text summarization API to reduce its size to about 20% of the original article. This summary is important to give only the important information to the user and keep the SMS text in sane limits.
Google Cloud API: Translation
Based on our understanding of the target demographic, we also decided to add an option to have the news summary translated to a local language. We added this only for one country. When a user would select India, we would present them with an option to have all their news summaries to be translated to Hindi. This was more of an experimental feature we had.
How I improved from previous Hackathons
- I learnt at UC Health Hack how using APIs is good and helps avoiding us from re-inventing the wheel. This was a learning we stuck to. As a result, we were able to add a lot of meaningful and functional features in the limited time we had.
- We also had a more to-the-point presentation with some cool graphics.
- Teamed up with new people I met at the Hackathon.
- Explored SMS as a new way of reaching out and interacting with users.
What I learnt from this Hackathon
- Although we used a lot of APIs, I again wrote the chat bot logic myself. This resulted in a lot of if-else logic code. Next time I’d like to try and use some service that would do the weighlifting of the chat bt logic.
- We made some assumptions about the metadata returned by Taboola API. It would have been better if we had asked more questions about the API and understood it better.
- It’s great hacking with new people and having diversity in a team.
The icing on the cake was that we won the Fairness Hack challenge sponsored by Honey. Each of us got a pair of these amazing headphones! Major thanks to the Honey team 🎉
|Overly excited team 😛|
It was amazing!
We had lots of fun hacking! We weren’t as prepared as the other teams carrying sleeping bags, but were able to catch a few hours of sleep on the seats and the floor. We are grateful for all the company reprentatives present. Especially the team from Twilio, who were present and resolved our doubts all through the night. I also want to thank the organizers and amazing energy they had through out the hackathon. The food was amazing, with a lot of variety too 🍕, 🌯, 🍔 …
Shout out to my teammates Akshansh, Anirudh and Anuj! And congrats to the winners!
Our pitch deck, Github repo and DevPost submission.
Some more pics 😀
|😋||No sticker 😟||Bruin and a new friend 🐕!|
Peace n chow ✌🏼