Yash Agrawal

Software Engineer, Learning Enthusiast, IITian, Volleyball fanatic, Programming geek, Anime Aficionado, Web Developer, Ex-Coordinator Programming Club

About me

Name : Yash Agrawal

Email : yashagrawal048@gmail.com

Phone : (+91) 9736211448

University : Indian Institute Of Technology, Mandi, HP

Company : Google India Pvt Ltd

A passionate and driven SWE III at Google, tackling complex challenges and building innovative solutions. Designed and implemented high-performance systems, with a proven track record of delivering impactful results.

Prior to Google, I was a Software Engineer at Microsoft, where I played a pivotal role in shaping the Microsoft Teams experience, especially in the education sector. I redesigned the class navigation flow for the iOS app, benefiting over 100 Million Monthly Active Users. This redesign improved ease of use for educators and students, contributing to increased user engagement and potentially boosting the Net Promoter Score (NPS).

With a strong foundation in building scalable, impactful systems and a passion for efficient, elegant coding, I continuously seek challenging opportunities to innovate and drive performance improvements in high-impact products. I have a passion for building elegant and efficient solutions and I'm always eager to explore new technologies and contribute to projects that make a difference.

TIMELINE

2024 - Present

2022 - 2024

2020 - 2022

2019

2018 - 2019

2016 - 2020

2015 - 2016

2008 - 2015

Born in BUNDI (a prominent town in the Hadoti region of Rajasthan state in northwest India, also known as "CHHOTI KASHI" ).

Projects

A handful of projects I've worked on and are owing to my interest.

Google Home Platform Infra, Dashboard and Testing Framework

Infrastructure for Google Home Platform

Created the Google Home Platform infrastructure by designing and implementing a robust testing framework for Google Internal rpc services. more ...

Google Home Platform Infra, Dashboard and Testing Framework


Developed a Google Home Quality Dashboard using Google SQL, enabling leadership to monitor critical quality metrics with actionable insights and streamlined tracking across multiple dimensions. The dashboard’s optimized data loading process improved performance and responsiveness, enhancing real-time data access for key stakeholders.

Additionally, designed a new integration testing framework from the ground up using Java and Blaze build systems, incorporating complex logic to handle intricate replay scenarios, and implemented serialization and deserialization of traffic records from RPC services. This framework increased the accuracy and reliability of integration tests, significantly enhancing testing robustness.

Furthermore, I have optimized infrastructure compatibility for the Google Home Platform, including sending device trait updates to mobile clients through RPC services and leveraging the Google Pub/Sub System. This ensured consistent communication and reliable data synchronization across mobile devices and backend systems, contributing to improved device performance and user experience on the Google Home Platform.

Microsoft
Teams EDU

A visually captivating user experience for Microsoft Teams
Redesigned the Teams EDU iOS app’s class navigation and user experience, creating a visually engaging, intuitive platform that benefits over 100 million Monthly Active Users.
more ...

Transforming Teams EDU:
A Redesigned iOS Experience for Enhanced Learning


I redesigned the class navigation flow and user experience in Teams EDU to create a more visually appealing and intuitive iOS app. The updated design made it easier for users to navigate, transforming the app into a smoother, more user-friendly platform for both educators and students.

With this redesign, the application now serves over 100 million Monthly Active Users, providing an improved experience that supports educators in classroom management and helps students access resources effortlessly. The streamlined navigation has greatly enhanced ease of use, making it simpler for users to achieve their goals within the app.

This enhanced usability has had a positive impact on key engagement metrics, potentially increasing Net Promoter Score (NPS) and driving higher user retention rates. The redesign has strengthened Teams EDU's role in education by making it a more effective tool, fostering a more engaging learning environment.

Full explaination of the project can be found in the link given below.
Click to know more

Parent - Teacher
Meeting

Bridging the Gap Between Home and School for Enhanced Collaboration
Implemented the Parent-Teacher Meeting feature in the Teams Mobile iOS app for Microsoft EDU. This online solution bridges the gap between in-person interactions & offers flexibility for busy schedules. more ...

Bridging the Gap Between Home and School for Enhanced Collaboration


Implemented the Parent-Teacher Meeting feature in the Teams Mobile iOS app for Microsoft EDU, enabling teachers to easily create and schedule meetings. This feature provides flexibility for educators and parents, facilitating better communication outside of in-person meetings.

The online Parent-Teacher Meeting experience addresses a global need for convenient, scheduled interactions between teachers and parents. It bridges the gap between in-person meetings, offering an efficient and flexible alternative that fits into busy schedules.

The feature also boosted educator engagement by increasing the overall time spent on Teams. As a result, it enhanced collaboration between home and school, supporting a more connected educational experience and fostering stronger partnerships between parents and teachers.

Full explaination of the project can be found in the link given below.
Click to know more

Copilot for Students & Teachers

Enhancing Education through AI-Powered Mobile Solutions

Developed the Copilot solution for students and teachers, a mobile-centric platform designed to support educators by streamlining lesson preparation and providing easy access to resources stored in SharePoint. more ...

A Mobile-Centric Platform for
Streamlined Teaching and Personalized Learning


The Copilot solution for students and teachers was developed as a mobile-centric platform aimed at supporting educators in enhancing their teaching practices. By streamlining lesson preparation and simplifying access to teaching materials stored in SharePoint, this platform allows teachers to focus more on engaging students and less on administrative tasks.

The solution leverages Python Flask and Graph API to ensure smooth integration with SharePoint and other educational tools. By creating a unified platform, Copilot enhances communication between teachers and students, making it easier for both to access the resources and support they need.

In addition to supporting teachers, Copilot also serves as a comprehensive learning assistant for students. Using OpenAI’s Large Language Model (LLM) and ChatGPT, it provides personalized guidance and addresses students' doubts, acting as an interactive tutor available at all times.

This innovative approach not only improves the teaching experience but also empowers students to take control of their learning, driving better engagement and academic outcomes.

Full explaination of the project can be found in the link given below.
Click to know more

Microsoft Graph API

Membership Role Filters and Join Requests in Graph API

Implemented support for membership role filters in the List Team Members API, now handling over 25k requests per day. The addition, combined with a visitor pattern-based query parsing logic, improved request execution time and response consistency. more ...

Improving Request Efficiency and User Management
With Advanced Query Parsing and API Design


I enhanced the List Team Members API by adding support for membership role filters, enabling more precise and efficient querying of team members based on their roles. This enhancement is now handling more than 25,000 requests per day in production, providing teams with a faster and more flexible way to manage and filter team member data.

Constructed a robust query parsing logic using the visitor pattern. This approach streamlined the processing of queries, allowing the system to handle complex expressions more efficiently. The implementation significantly improved the overall execution time for requests while maintaining consistency in the responses, ensuring that users get accurate and fast results when filtering team members.

Additionally, I designed a Request to Add Members API , addressing one of our prominent customer requests. This new API allows callers to submit and process join membership requests for users in private teams. By leveraging Graph APIs, this solution simplifies the process of adding members to private teams, enhancing user experience and improving team management capabilities.

Full explaination of the project can be found in the link given below.
Click to know more

Pictorial

Have you ever seen Cortana?
What if we say we did !!!
Do you wish if your image can speak on your behalf with perfect pronounciation?
Well pictorial is here for you. Let's bring your meetings to life. By using deepfake technology, NLP, and GANs, it allows virtual delivery through lifelike speech and synchronized animations. The project was ranked among the top 10 in India. more ...

Bring your meetings to life


Pictorial is a library designed to generate voice and animation based on text input, simulating a real-life delivery of content to consumers. It innovatively combines voice synthesis and animation to enable realistic virtual content delivery.

The process begins by converting a still image into a video using the First Order Motion Model, a deep learning technique that decouples appearance and motion. By feeding the model a source image and a sample video, the system identifies keypoints, calculates movement relative to the sample video, and then applies the motion to the original image, creating a realistic animation of the person.

Next, Natural Language Processing (NLP) is used to synthesize speech from the provided text. To complete the effect, lip syncing is achieved using a Generative Adversarial Network (GAN). The model, trained on the LRS2 dataset, generates accurate lip movements based on the synthesized speech. The GAN architecture, consisting of a generator and discriminator, ensures that the generated lip movements align with the audio, creating a truly realistic virtual interaction. This final stage ensures that the virtual presenter’s lips move in sync with the speech, enhancing the realism of the animation.

I have volunteered to lead this project during the Microsoft Global Hackathon 2k21, where it was selected as one of the top 10 projects out of 1,500 entries across India.
Click to know more

Synthetic Data Generation Tool

The goal of the project is to build an internal tool through which synthetic data can be generated for any number of test tenants, triggering the application in different scenarios more ...

Synthetic Data Generation Tool for MS teams


Major Goal of Analytics and reporting services in "Microsoft Teams" is to measure the growth and engagement of owners and members to understand how teams is being used. Several metrics can be tracked in MS teams like : Active users, volume of messages, number of file uploads, top channels, top contributors etc. To be able to build these data driven features inside MS teams the primary requirement is to check these features using synthetic data so that the features can be rolled out in production. Real customer data can not be used due to privacy concerns, data protection and security reasons.

The goal of the project is to build an internal tool through which data can be generated for any number of test tenants. During the intenship at Micorosoft I Created the synthetic data generation tool which triggers the application (MS teams) in different scenarios. The tool was built on following technologies : Python, Javascript, Selenium, Chrome Extension, Postman, Azure Server, REST API, SMTP server, Database Server, Object oriented programming. Javascript was used to convert the data from extension into json format and make a POST request to the flask server deployed on azure. In the background Daemon scripts are running in distributed systems and constantly checking for new jobs from the database.

After the completion of the project Microsoft developers were able to use the GUI using chrome extension to submit a job which will generate the data. Database is used to make the data persistent and multiple jobs can run at the same time. In the production version whenever a job gets completed a notification was sent to the cocerned person using an SMTP server.

Automatic Commentary Generation

Generated commentary of the given cricket video using different neural networks : scene segmentation, Single Shot multibox Detector, classifiers for annotating batsman more ...

Automatic Commentary Generation Using Deep Learning


Created a deep learning application to automatically generates commentary of a cricket video provided. Networks used in the project were : scene segmentation, SSD (Single Shot multibox Detector), classifiers for annotating batsman and bowler name and shot played by the batsman using conv LSTM.

Following technologies were used to build the project : Python (Used to import all the libraries related to deep learning like tensorflow, imageai, object detection etc.), Keras (an open source neural network library capable of running on top of tensorflow), cv2 (Python library used to load and read the image files provided).

Initially the full length cricket video was cut into videos of each ball. Now the video of each ball was converted into frames and saved into the corresponding ball number folder. Given a ball video length folder, separated the starting scene frames from other scenes using scene segmentation. A pre-trainded SSD was used to generate the bounding boxes for batsman and bowler. The frames were cropped with the bounding boxes and saved into the corresponding folders as batsman/player_id and the bowler/player_id. These cropped images were then used to train a siamese network for naming batsman and the bowler and then the commentary is generated using NLP (Natural Language Processing).

Full explaination of the project can be found in the link given below.
Click to know more

Hosting Students Projects

Bash script created through which students of IIT Mandi can host new projects in docker containers. Docker swarm used for dynamic scaling to handle load on the server. more ...

Hosting Students Projects


The project was intended for all the students, faculties, and clubs in IIT Mandi who want to host their projects. This may also be useful for other students who want to work on similar project for their organization or for some other purpose. Projects made by students from different fields need to be hosted at a place providing efficient consumption of host resources. These student projects are heterogeneous in terms of the software components required. However, there may be certain software components that are common to a group of projects. Rather than creating a docker container for each project, we had shared containers for shared components across projects. Sharing containers is not always a good idea. If one of the projects that shares a container has a heavy load, it would affect others as well.

In terms of design aspets, There was a single VM (Virtual Machine) on which several docker containers were running in parallel. A container for hosting Apache websites e.g, Programming Club website, SNTC website, STAC website, etc which are static websites. Another container to host NodeJS applications. One container for MongoDB and another for MySQL. These all were setup using Docker swarm to enable dynamic replication of the containers for load balancing. The actual files and folders containing the actual websites and database are stored in the VM itself and mapped from the container. So that the deletion and creation of new containers would not take much time as all the data was stored in the VM itself.

Find the final report of the project in the link given below.
Click to know more

Search Guru

A web app that dynamically scrapes data from IIT websites, gathering detailed academic information from multiple sources, extracting and compiling contact information, addresses, skills, and accomplishments of professors across institutes for easy access and reference.

Library Assisstant Bot

Aim of the project was to help library workers in arranging the returned books. The bot scan books using image processing to read the bar code mapped to a location in the shelf and according to the location the bot followed the path respectively.

Anugami

A human following robot which follows user using GPS signals of the smartphone converted into respective latitudes and longitudes. Further the distance moved and angle rotated is calculated with the help of mobile inbuilt magnetic motion sensors.

Other Activities

Some of my recent activities.

ACM ICPC 2019 👨‍💻

8 Dec. 2019 and 27 Dec. 2019

ACM ICPC 2019


I've been selected in ICPC 2019 online round securing 277th rank all over India and represented IIT mandi at ACM ICPC india regionals 2019 securing 27th rank in kharagpur regionals.

The ICPC formerly known as ACM-ICPC (Association for Computing Machinery - International Collegiate Programming Contest) is considered as the "Olympics of Programming Competitions". It is quite simply, the oldest, largest, and most prestigious programming contest in the world. The ICPC is a multi-tier, team-based, programming competition. The contest participants come from over 2,000 universities that are spread across 80 countries and six continents. (Know more)


Line Follower Bot 🤖

7 Apr. 2018

Line Follower Bot


Designed a line follower bot and participated in exodia line follower event. Respresented IIT Mandi in Exodia 2k18 securing 1st rank all over IIT Mandi for the amazing work done in completing this awesome bot whether it be related to algorithm coded in the bot, or the way the hardware is designed. Go through the following link to check out how the bot performed.


Travel Diaries ✈

Since Aug. 2016

Travel Diaries


Track down a lot of new places (still discovering) during my 4 years in B.Tech. as a part of Inter IIT meets, Programming competitions, volleyball matches, or some casual trips with friends. These trips showed me how independent I could be and what I was truly capable of. It also showed me the beauty of immersing yourself in cultures different than your own and connecting with locals who want to share them with you. You may not always like what you see, but there will always be something that you will like. You just need to look hard enough to find it!

To access travel photo gallery, enter the OTP sent to the owner :

Volleyball 🏐

Aug 2016 - Aug 2020

Volleyball


Started my volleyball journey while doing engineering in IIT Mandi. When I joined my university, I've started discovering a bunch of sports that fall into my interest and joined volley ball club IIT Mandi as a part of extra curricular activity. Participated in a number of competitions and volleyball matches and represented IIT Mandi in 52nd, 53rd, 54th All India Inter IIT sports meet.

"Humans don't have wings, we look for ways to fly."
This is a quote from haikyu (a volleyball anime) that inspired me a lot. I was keen to watch Haikyu and would highly recommend everyone to watch at least once in lifetime. Got to Learn a lot while watching this anime whether it be related to maintaining team spirit, improving skills, social bonding, managing studies with sports, handling failures etc.

Checkout the following link for some awesome memories of my volleyball matches.