My internship experience at AppyHigh Technology LLP

Divyaansh Devarriya
AppyHigh Blog
Published in
4 min readJun 11, 2020

I’m am a student pursuing a Bachelor's in Computer Science from Bennett Univerisity and for my last semester project, I worked as a Machine Learning Intern in a start-up based in Gurgaon.

AppyHigh Technology LLP is an LLP founded by Venus Dhuria and Aneesh Rayancha with its offices at Gurgaon and Hyderabad. A laboratory that continuously finds new opportunities, tests them, builds great products, and gets them trending. AppyHigh has launched over 30 apps with around 40 Million downloads as of 2018. Some of the products in the portfolio of AppyHigh are:

  1. Messenger Pro (Available here)
  2. Analytics Profile (Available here)
  3. Asviral (Available here)
  4. LiveTV (Available here)

I joined AppyHigh as a Machine Learning Intern and I majorly worked on two projects, one was for the app Messenger Pro and the other was for the app LiveTV. For the Messenger Pro app, I was responsible to help build an automatic interest tagging system and a ranking system for the posts. For the LiveTV app, I was responsible for collecting the data which is shown in the app, and also to build a ranking system for the app content.

An automatic interest tagging system refers to a system that can automatically tag data or post to its relevant interest. For example, a post related to technology should be automatically tagged as technology. I and my teammate were responsible to build this system, and the approach was in a step-by-step manner.

Flow chart of our approach to building an automatic interest tagging system

The first step was to collect training data, we collected data from various social networking sites using their APIs. After retrieving the data, we stored the data in MongoDB in a proper format. Feature extraction from the raw data was a challenging process, we used many methods including using Word Embedding models for that approach and ended up using a mix of best two approaches. After extracting the features, the next step was to train a model on the extracted features. For this step, we trained multiple models and used the one which gave the best results on validation data. After finding the best model, we used that model to tag interests on unseen data. We are collecting data regularly, therefore the model is also being trained on new data at regular intervals to improve the performance.

A ranking system refers to a system which can rank the posts based on some metrics so that high ranking posts come on top. To build a good ranking system, I used a combination of various metrics of the post and gave a final score based on the combination. The following flow chart clearly explains my approach to build the ranking system.

For the data collection for the LiveTV app, I used various approaches involving APIs. Getting the right content was challenging but a careful inspection of HTML data of the webpage and also other websites gave me what was needed. After getting the data, it was also important to store data in a proper format. For storing data, MongoDB was used. The following flow chart explains the part in a step-by-step manner.

Flowchart to collect data for LiveTV project

Building a ranking system for LiveTV content was another part of the project I worked on. A somewhat similar approach as used for the content in Messenger Pro, I got various metrics that are important to evaluate a post, and after getting them, I combined them to get a number. The type of content was different for both the apps therefore, the combination was also and the final number was also different. The following flow chart explains the ranking system.

Flowchart to explain the ranking system for LiveTV

Overall, it proved to be a journey where I learned quite a lot. It’s not only about the new stuff that you learn but its also about how to properly apply the common stuff and I realized this while working at AppyHigh. It felt great to be a part of the company where the outcome of my work is seen by thousands of people all around the world. I realized that how important it is that your code is readable, making a proper code is also a skill that I learned here. I believe that each challenge is a learning opportunity and I’m glad that I learned many things while working at Appyhigh.

References

--

--