I'm Aseem Patni I'm a professional Software Engineer,
and a hobbyist photographer and musician.

I like doing simple things that matter.

I have worked at a few places.

I'm currently a Senior Software Engineer at Google.

In the Cloud AI team, we are building Conversational AI products leveraging state of the art Large Language Models.

I have led the launch of various features to help summarize conversations and to help search from knowledge bases. I have also helped improve the software architecture to simplify systems and increase development velocity.

At Oracle, I led the development of end-to-end Machine Learning workflows within AI Apps as well as their deployment on Kubernetes. I helped improve the performance of product recommendation models.

I also contribute to the Machine Learning platform, simplifying how Machine Learning models are trained and served.

I've previously led design, development and deployment of a system for creating and serving knowledge graph of entities extracted from the source code to enhance code discovery.

At eBay Inc I contributed to Apache Kylin, an open source Distributed Analytics Engine from eBay Inc, re-routing the queries not supported by Apache Kylin to Hive on Spark.

This gave me exposure to some of the most important technologies & services in distributed systems like Hadoop, Spark, HBase, Hive, Kylin, Ambari, HDP, Zookeeper, Tomcat, etc.

This is also where I met one of my best friends, Docker, who was a 6 month old kid back then. :)

At, I developed a scalable web crawler using MEAN stack to find add-ons used by millions of websites.

We also predicted engagement scores for websites by analyzing features like visibility of call to action, contrast ratios and link densities using OpenCV library in Python.

This gave me exposure to the power of MEAN stack and also to an interesting domain of image processing.

A little bit about me...


I believe that everyone should learn coding (algorithms and data structures) because it teaches you how to think.

I think I have a distinct ability to transform any vague real life situation to concrete mathematical or computer science problem and systematically solve it.

Machine Learning

My love for Mathematics and Computer Science has driven me towards Artificial Intelligence and Machine Learning.

I am an active member of meetups related to Machine Learning around the Bay Area.

I find Machine Learning Research even more fun. You can find more about my academic research work here.

Search and Recommendation

I love organizing information into knowledge and I get excited by the ability to search from that knowledge and discover more related information.


I love music. I have a huge collection of songs. I try to keep it organised in best quality possible.

I like rock and metal and I'm driven by the solos of Mark Trimonti and the likes.

I also enjoy playing guitar and keyboard.


I have always loved taking photos. I learn something new everyday.

I believe in the power of visuals. It's a language we use to see into each other's lives, one frame at a time.

Research is fun.

Large Scale Object Identification and Image Captioning using GPUs and Apache Spark

I've worked with Dr. Sourangshu Bhattacharya on Large Scale visual recognition (precisely dense image captioning) using Deep Learning on GPUs and Apache Spark.

Along with this, I worked with Spark community for efficient implementation of CNN and RNN in Apache Spark.

While working on this project, I also came across using convolution neural network to mix the content and style from different images. So, I implemented that and the results are very encouraging.

View Report »

Author Profiling from Personal Content Blogs

Predicting gender and age of the author using semantic features.

This project involves predicting personal information of authors like gender, age etc by training classifiers using content based and semantic features extracted from a KB like Wikipedia.

There is a lot of contextual difference between blogs written by different people. In this project with Prof. Pawan Goyal, we explored those contextual differences to predict age and gender of the author of a text.

View Report »

Modeling Retweet Dynamics using Hawkes Process - A Temporal Approach

In Twitter, mentioning (or tagging) users can be considered as an effective way of spreading an information beyond the reach of the followers.

The objective we had is to model retweeting patterns based on historical data of user interactions, inherent topical similarity between tweets reaching current user and tweets of his top K friends, and the nature of interactions of a user with his neighbours in the social network.

Point Processes have recently received significant attention from researchers in social media analytics. We have modelled Hawkes Process for online social networks to investigate retweeting patterns.

View Report »

I making cool stuff.

Infinity Books

Implemented a complete online book store from registration to checkout including search, reviews and recommendations.

View source code »


Implemented an information retrieval system for Bosch power tools using Apache Nutch and Apache Solr. Did sentiment analysis on the reviews to give better search results than those using standard techniques.

View source code »


Have you ever found yourself googling about the new term your friend just tossed in a chat? Or searching for a video comparison to win a iPad vs Surface battle with your buddy. Don't need to do that any more.

Kibitz is an interactive chat application, I built along with my friend Arkanath, which automatically finds out the context of the chat and gives real time feeds of the related content from the web, including videos, definitions, news, etc.

Moreover, it also personalises your chat experience by changing the background based on the chat content.

View source code »

Plot It

It is a utility software for graph plotting, where a user enters the equation and variour other parameters, to get the corresponding graph, that can be exported to various formats.

View source code »


An old school game, played by connecting the dots to make squares. Made it for Windows Phone, with many new extensions.

View source code »


A tool for Computer Aided Software Engineering. It can be used to create(draw) data flow diagrams, modules, hierarchies etc. for automating various activities associated with structured software analysis and design.

View source code »

Besides these, I have also built a 32 bit MIPS CPU using Verilog, Compiler for TinyC (simplified C), PhotoFeed A photo sharing stream, and much more.

Find me on Github for more open source projects I have created and contributed to.


Indian Institute of Technology Kharagpur, India

B.Tech. in Computer Science and Engineering

I completed various graduate level courses on Information Retrieval, Machine Learning and AI as electives.

I was also actively involved in research on Artificial Neural Network, specifically CNNs and RNNs.

Let's connect