Ankit Aggarwal

Curriculum Vitae

Currently in Bengaluru, India. Graduated with bachelors in engineering with first-class distinction. I'm working as a software engineer in the CTO Office at Wipro Technologies Ltd. Previously, I was working part-time as a software engineer and senior researcher at mLabs Research Inc.

I'm a software engineer, researcher and full-stack web developer. I'm interested in and work on networking, peer-to-peer systems, distributed systems, cloud computing, artificial intelligence, pervasive/mobile computing, machine learning, computer vision, data science and more.

I love DIY and open source. I'm smart, reliable, and committed. I usually code in C/C++, Python, JavaScript, Java or Ruby on Linux/Windows.

I'm looking for exciting development and/or research opportunities. If you're looking to collaborate, feel free to contact me.

Follow me on github@ankitaggarwal011 or twitter@ankit_aggarwal1.


Wipro Technologies Ltd.

Software (Project) Engineer, CTO Office, Star Batch '15

  • Software engineer and researcher in Chief Technological Office focusing on Computer Vision, Machine Learning, Peer-to-Peer (P2P) Networking, Internet of Things (IoT).
  • Algorithm analysis & development for 3D tracking/augmentation based visual assistance product, helping a US based healthcare giant.
  • Application development for object recognition/tracking based product on Desktop/Android (NDK) platforms.
  • Shipped web/desktop application on peer-to-peer networking based remote collaboration/communication using WebRTC & Electron framework for multiple clients.

C++, Java EE, OpenCV, Android + NDK, JavaScript, Node.js, npm, WebRTC, HTML5, Electron framework.

mLabs Research Inc.

Software Lead / Senior Researcher

  • Full stack software engineer and senior researcher focusing on cloud computing and Internet of Things.
  • Design and management of the web-architecture (web-interface, API, Frontend, Backend) for an Internet of Things ecosystem. Plugins on Machine learning, Natural language processing and Github for integration with the web-infrastructure.
  • Design and develop real-time dashboard architecture for Internet of Things application store and ecosystem.
  • Develop multi-language deployment support using graphical and advanced interface for Internet of Things. Work on customized Linux OS distribution for Internet of Things platform.
  • Work on exciting research ideas in the area of the Internet and ubiquitous computing, later published as two IEEE Xplore papers.
  • Product team manager for a team of junior interns during the development cycle.

C/C++, Python, NodeJS, PHP, JavaScript, jQuery, HTML5, CSS3, MySQL, SVG, Git, Linux, Apache web-stack, Wolfram language, Advanced wordPress, Latex, Raspberry Pi, Intel Edison, Arduino, Prediction IO, Wit AI, various APIs.


Social Network of Internet of Things (SNIoT)

Team Lead | Research | API and Framework design | Embedded Programming

This is the thesis submission for my Bachelor's degree in engineering. SNIoT is the architecture to create an intelligent network of smart machines/devices capable of acting together to make decisions with or without human interaction.

Node.js, JavaScript, MongoDB, jQuery, Git, Python, HTML5, CSS3, APIs, Raspberry Pi.



An application store for Internet of Things.
Funstore makes it ridiculously easy for people to start using Internet of Things devices, services and platforms. It enables them to quickly install, or create, or share applications on all smart things.

C/C++, Python, NodeJS, PHP, JavaScript, jQuery, Bootstrap, Angular JS, IoT dashboard architecture, Sails JS, HTML5, CSS3, MySQL, SVG, Git, Linux, Apache web-stack, MEAN stack, Wolfram language, Advanced wordPress, Raspberry Pi, Intel Edison, Arduino, various APIs.

Bit By Bit (B3)

Software Lead

A platform to learn and design Internet of things (IoT) products. B3 comes with an online app-store to create, deploy and share IoT products. The product is patented by mLabs Research Inc. and supported by Microsoft Ventures in London, UK. A few topics of interest related to the project are Human computer interface, Ubiquitous computing, Education. The project is part of the work at mLabs Research Inc.

C/C++, Python, NodeJS, PHP, JavaScript, jQuery, Bootstrap, HTML5, CSS3, MySQL, SVG, Git, Linux, Apache web-stack, Wolfram language, Advanced wordPress, Raspberry Pi, Intel Edison, Arduino, Prediction IO, Wit AI, various APIs.



This python library is the implementation of Cellular neural networks for the application of image processing. This is an extension of a demo at 14th Cellular Nanoscale Networks and Applications (CNNA) Conference, 2014, Notre Dame, USA.


FaceGrab: Facebook Image Grab


Grab everyone's Facebook profile image without any login and create an image dataset. This python library will provide a simple API or direct usage to grab any number of full-size facebook profile images of users. No login is required to generate this data-set of facebook images. The generated image-set could be useful for the purposes of research (Machine Learning, Image Processing), or marketing or maybe more.




This python library turns Raspberry Pi into an Oscilloscope/XY Plotter using an analog-to-digital converter. This can used for characterization of different electronic elements and boards, sensor data plot, and as a DAQ for sensors and devices.

Python, Shell, Raspberry Pi.

Instrumentation oscilloscope

Team Lead

A portable, low-cost oscilloscope designed especially for laboratory usage.

Embedded C, Arduino, TI MSP430, FRDM KL25Z, Eagle CAD, Soldering.

Twitter web application


A web application to output the more popular of the two input keywords using Twitter PHP API. This was the final project for the online course on edX, Harvard CS50x.

PHP, JavaScript, HTML5, CSS3.


Internet based electronic prototyping system for memristor characterization

Ankit Aggarwal & Dr. Gaurav Gandhi, Cellular Nanoscale Network and Applications (CNNA) Conference, USA, 2014, IEEE Xplore

A cloud based electronic prototyping platform is proposed for realizing the characteristics of a memristive system.

C++, PHP, JavaScript, Analog to Digital converter.

B3: A plug-n-play Internet enabled platform for real time image processing

Ankit Aggarwal & Dr. Gaurav Gandhi, Cellular Nanoscale Network and Applications (CNNA) Conference, USA, 2014, IEEE Xplore

A plug-n-play internet enabled platform for real time simulation of image processing algorithms (like CNN) is demonstrated on the Bit by Bit platform.

Python, C++, PHP, JavaScript.

pIoT: A Privacy-centered Architecture for Smart Internet of Things


Software development, Full-stack web engineering, Peer-to-Peer Applications, Networking, Socket Programming, Android + NDK applications, Desktop applications, Academic research, Algorithm design and analysis, RESTful API design, Web application development, Web server management, CMS and Frameworks, Hardware design, Embedded systems, Project management.

Networking, Peer-to-Peer Networking, Distributed Systems, Mobile Computing, Internet of Things, Artificial Intelligence, Computer Vision, Object detection and tracking, Privacy, Research, Data science, Machine learning, Image processing, Augmented Reality, Cellular neural networks, Memristors.


C, C++, Python, PHP, Java, Java EE, Android, Android-NDK, JavaScript, Node.js, npm, R, HTML5, CSS3, Wolfram language, git, SVN, XML, SVG, MySQL, MongoDB.

Linux, MEAN stack, OpenCV, WebRTC, Electron framework, Apache web-stack, JavaScript libraries, jQuery, Bootstrap, AngularJS, Grunt, advanced knowledge of WordPress, ANT, JUnit, JDBC, JSP, Servlets, Tomcat, Hibernate, Spring, Eclipse, Android Studio.

MATLAB, LABVIEW, Latex, Markdown, Raspberry Pi, Intel Edison, Arduino/TI MSP430/FRDM KL25Z, Sketchup, PSPICE, Eagle CAD.


Netaji Subhas Institute of Technology, University of Delhi

Bachelor of Engineering, Instrumentation and Control


Artificial Intelligence

Computer Networking

Computer Graphics

System design and engineering

Algorithm design and analysis


Analog and digital communication


edX, Harvard University

CS50x: Introduction to Computer Science I

edX, MIT

6.00x: Introduction to Computer Science and Programming

Coursera, Stanford University

Machine Learning

Coursera, University of Washington

Introduction to Data Science

edX, Linux Foundation

LFS 101x: Introduction to Linux

Coursera, Princeton University

Statistics One

Coursera, Stanford University

Algorithms: Design and Analysis

Coursera, Georgia Institute of Technology

Computational Photography


Wipro Technologies, STAR Batch, Bangalore

Algorithms and Data Structures with Core Java

Wipro Technologies, STAR Batch, Bangalore

Web Applications with Java EE

Netaji Subhas Institute of Technology, Delhi

System engineering and analysis with MATLAB

Netaji Subhas Institute of Technology, Delhi

System engineering and analysis with LabView

Please visit my LinkedIn profile for a longer list.


Open Source

  • Electron by GitHub

     Build cross platform desktop apps with web technologies.

  • Atom by GitHub

     The hackable text editor.

  • FreeCodeCamp by FreeCodeCamp

     The open source codebase and curriculum. Learn to code and help nonprofits.

  • pdf.js by Mozilla

     PDF Reader in JavaScript.

  • learnxinyminutes-docs

     Code documentation written as code!

  • tota11ly by Khan Academy

     An accessibility (a11y) visualization toolkit.

Programming contests

  • Google APAC University Graduate Test 2015, Asia-pacific, Round A, Rank - 122 (Top 2%). Called for onsite Google interview .
  • Won (Rank 2) the worldwide coding contests Wipro Codestorm JavaScript Arena and Wipro Codestorm Botwars at Wipro.
  • Facebook Hacker Cup 2015, Qualification round, Rank - 528 (Top 5%).
  • Google Code Jam 2014, Round 1, Rank - 2196 (Top 4%).
  • Topcoder Open 2015, Qualification Round, Rank - 693 (Top 5%).
  • Codechef handle: ankit_aggarwal, Codeforces handle: ankitaggarwal011, Topcoder handle: ankitaggarwal.
  • Tag ME 2014, Machine learning contest by IISc Bangalore, participant.
  • Participated in Code for India Social Innovation Hackathon at Rastrapathi Bhavan, New Delhi as part of Festival of Innovations ’16.

C/C++, Python, JavaScript, Node.js, MATLAB.

Technical Reviewer

Social causes

  • ENACTUS, NSIT Chapter, 2012-13, Coordinator, Project Pratham, a social initiative to generate employment for rag-pickers.
  • Teach India, Volunteer, 2010-11, an initiative to teach spoken English to learners in underprivileged areas by British Council and The Times of India. Spoken English Instructor for a batch of 20 learners. 7 learners successfully completed the 3-month training leading to future employment.


Photography, Music, Guitar, Jogging, Badminton, Technology.

If you prefer a PDF, please download this short resume.

Last updated: 02/04/2016