
Kunal Grover
Verified Expert in Engineering
Full-stack Developer
Bengaluru, Karnataka, India
Toptal member since September 4, 2019
Kunal is a software engineer experienced in working with large companies, startups, and freelancing. He has strong skills in full-stack web and mobile app development, as well as machine learning, which helps him devise solutions for real-world business problems. He enjoys creating end-to-end products, and solving complex engineering challenges.
Portfolio
Experience
- Machine Learning - 4 years
- Java - 4 years
- Django - 4 years
- Python - 4 years
- Full-stack - 4 years
- React - 2 years
- Angular - 2 years
- Vue - 2 years
Availability
Preferred Environment
MacOS, Linux
The most amazing...
...project I've built was a high-performing polygon algorithm for finding the area from geo coordinates using TSP heuristics.
Work Experience
Software Development Engineer
Amazon
- Developed the post-purchase experience for the Amazon shopping website. This involved understanding customer behavior and optimizing the experience to enable customers to shop without limits.
- Supported the purchasing of large customer orders by working across the domains of the shipping and ordering services.
Technology Head
LeanAgri
- Worked on the growth phase of an early agri-tech startup, scaling it from 100 to 2000 farmers in various regions.
- Owned end-to-end product development from customer requirements, wireframes, UI/UX, to delivery of all four products delivered by the company.
- Modeled complex real-world data in a LeanAgri back-end system with a Relational Database Management System (RDBMS). Created high-performance customer apps with offline support, internationalization, GIS tooling, analytics, and hot app updates.
- Managed the technical team, and implemented high-quality software development with code reviews, and unit and integration testing CI suites. Followed sprint-based task planning and tracking.
- Oversaw the high availability setup with nearly 100% uptime. Performance testing and optimization helped serve over 100 concurrent users with two servers and P99.9 latencies under one second in production servers.
- Led machine learning research initiatives: Crop detection using satellite imagery, detection of pests using imagery, and price formulation algorithms using Time Series analysis (extension of SARIMAX algorithm).
Software Development Engineer
Amazon
- Developed a highly scalable and performant infrastructure solution responsible for handling all incoming traffic to the Amazon shopping website.
- Developed load testing, evaluation of risks related to performance and high availability, and created solutions targeted to add redundancy.
- Worked extensively on the server-side rendering a Reactive framework developed on top of Java 8 CompletableFutures.
- Satisfied project requirements. The success of these high availability designs was great. No downtime was noted even with unexpected peaks and running at extremely high efficiency.
- Implemented a circuit breaker mechanism leading to a fault-tolerant solution able to serve when dependencies are unavailable. Presented at Rootconf 2016 about my work.
Experience
RNN Implementation Using Amazon SageMaker
Try it out: http://tensorflow-frontend.s3-website-us-east-1.amazonaws.com/
How does it work?
We used RNN because we were trying to train what comes next given part of a word. We know that the context of the next character depends on previous characters. Trained data for an RNN uses X number of characters as training data with a prediction value as the next character. Now, we know that RNNs have gradient problems, and we also require a longer context (e.g., what was the word ten words before this), so we used long short-term memory (LSTM) to solve these problems.
Steps:
Character tokenization into integers.
Implement a simple RNN with TensorFlow and LSTM.
For training, feed a large amount, e.g., 60 characters to predict the next character.
Next, add characters sequentially to retrieve the complete sentence.
Result: A simple Flask-based app on the back end working with a ReactJ front end as the user interface.
NLP-based Content Clustering Engine for Recommendations
The received set of text cards displayed to the user are required to create clusters or topics for the content so that the user receives suggestions based on similar content.
Solution:
Data cleaning with stop word removal.
Keyword extraction using term frequency-inverse document frequency (tf-idf). We selected top X words that would be used to create clusters with Word2Vec pre-trained models from Wikipedia data (fastText).
A select subset of keywords helped to get our keywords and cluster vectors. Cluster sizes could be determined by using the Elbow method. We could also do hierarchical clustering to help visualize the clustering, and thereby select good clusters.
Each article can be assigned a cluster based on the mode of clusters of keywords in that article.
Alternative approach:
Doc2Vec, didn’t try it out, but fairly similar, it combines document Word2Vecs into a single vector for comparison.
Image Recognition Python-based Classifier
Education
Bachelor of Technology Degree in Mechanical Engineering
Indian Institute of Technology - Chennai, India
Skills
Libraries/APIs
React, Vue
Tools
Apache Tomcat
Languages
Java, Python
Frameworks
Django, Angular, Ionic, Flutter
Paradigms
Concurrent Programming, Functional Programming
Platforms
Linux, MacOS
Storage
MySQL
Other
Full-stack, Machine Learning
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring