Hi there! My name is Ankur and am currently pursuing my Masters' in Computer Science @ Stony Brook University. My interests are varied. Currently I am drawn to Human Computer Interaction and Machine Learning. I also have fascination for distributed data computation, web, linux and networking. I often go to hackathons, and pursue hacks/projects of my own. When not coding, I take to photography, sketching, trekking, guitar, wikipedia and youtube maze.
Projects
  • Email Text to UI
    [Self]   [Source]   [Report]   [Sept 2016 - Dec 2016]
    To simplify email conversations, an AI assistant in the form of a chrome extension tuned to gmail Web-Client, uses a classifier built using machine learning to find question that needs to be answered/replied. These are further bucketed into certain types of questions which are mapped to UI elements. For eg., a boolean question is mapped to a checkbox, an open ended question is mapped to a input text box etc.
  • English Premier League Table Prediction
    [Team of 3]   [Source]   [Report]   [Nov 2016 - Dec 2016]
    This project aims to predict the final standing table of English Premier League. Using data from 2008-2015, we were able to get a accuracy of 87% on predicting season of 2016. We used several features like player rating, past performances. By using highly correlated features only, we tested several machine learning algorithms and performed analysis.
  • Per-Process System Call Vector
    [Team of 3]   [Source]   [Report]   [Oct 2016 - Dec 2016]
    This project aim was to provide an alternate mechanism to override existing system calls in linux operating system. The flexibility of having different system calls per process for eg, a web server should not be allowed to create new files in the system, hence mkdir call can be replaced with special mkdir call which prohibits that. My undertaking in this project was to come up with an overall design and provide low level API to deal with maintainance(adding/removing/replacing) of system calls for processes, usage statistics and handling race conditions.
  • Test Framework for MAAP - Apache Spark Web Server
    [Self - Goldman Sachs]   [Jan 2016 - Jul 2016]
    Measurement as a Service is a new platform being developed @ Goldman Sachs. The idea is to provide an interpretable language to define transformations before ingestion. The transformation is described in a neatly defined API built on scala with additional API's not supported by Apache Spark. The computation is performed using Apache Spark. My role was to transform Apache Spark into a Web Server which can accept/delete jobs, provide statuses of existing jobs. The challenge was to handle different job requests, load balancing and management of spark nodes/processes. This test server was conceptualized as a way to test transformations written by data scientists.
  • MOSAIC
    [Part of Risk and Control Team - Goldman Sachs]   [Aug 2014 - Dec 2015]
    MOSAIC is a workflow engine designed to ease and fasten the development process for traditional workflow applications. Using a workflow, security and UI specification, MOSAIC rendered screens automatically and provided coherent UX. I had the opportunity to work on the development of core engine, infrastructure upgrades like additional nodes, load balancing, security - HTTPS, client negotiations and build applications on top of MOSAIC on behalf of non technical clients.
  • Cards
    [Self]   [Source]   [Sept 2015 - Present]
    Through this project, I want to redefine our way of communication. The idea is to create small actionable cards as contents that can be sent to users. For eg., If I were to schedule a meeting with a person, I will recieve a card which has a date and time duration option which needs to filled and sent. I am still working on the prototype of this concept in the form of an android application.
  • Real Time Handwritten Content Collaboration
    [Team of 3]   [Source]   [Report]   [Jan 2014 - May 2014]
    This project creates a physical handwritten collaboration framework wherein a camera and projector will be used to give the feel of collaboration using an ordinary pen and paper. Also support for collaboration via mobile devices is provided. The users can scribble, draw, design, brainstorm on the paper or mobile devices and share their work. Open CV is used to identify the scannable area. Websockets is used for communication between the groups.
  • Tayga - NAT64
    [Team of 2]   [Source]   [Blog]   [Sept 2013 - Dec 2013]
    TAYGA is an open source NAT64 software, implemented in such a way that it performs transparent mapping ,that is 1 to 1 mapping. For every IPv6 it assigns an IPv4 address and performs packet conversion. To improve efficiency, we make it Stateful by maintaining N:1 mapping of the state via port number and IP address combination. Both UDP/TCP states are supported, and intermediate states of TCP is also maintained.
  • Intuit Composite App
    [Self - Intuit]   [Jun 2013 - Jul 2013]
    Intuit has many mobile applications which are related and have same client directory. As part of a proof of concept, I developed a composite app which took many existing intuit applications with common client list. These smaller applications could be installed into current working environment of the user by a simple drag-drop onto the main screen. The screen automatically re-adjusts itself. Also these smaller applications could define APIs with the help of which it could interact with one-another.
  • Virtual Classroom
    [Project Lead for Team of 13]   [Source]   [Feb 2013 - April 2013]
    A distance education learning facility through which a teacher broadcasts his/her live audio/video feed and presentation material to students. Students can communicate with the teacher using chat functionality in real time. A shared calendar system was used to view lecture schedules and to sign up for classes. Websockets and WebRTC was used for networking and group sharing aspect which significantly improved performance due to peer-to-peer model rather than a client-server model. I was the project lead of a team comprising 13 people.
Hacks
  • Audio Enabled Webpages
    [Self]   [Source]   [Jun 2015 - Jul 2015]
    A simple hack which used google chrome's voice recognition feature and applies to any web page using chrome extension. With a click of button, voice can be used to write emails, fill forms etc in any HTML page. Multiple forms, and iframes are also handled.
  • Mood Nation
    [Team of 3]   [Source]   [Jun 2014]
    As part of a venturecity 24-hour hackathon @ Microsoft R&D, Bangalore, we sought to develop a real time sentiment analysis of twitter feed filtered by hashtags to determine which political party has vote of the majority by the people.
  • Augmented Visiting Card
    [Team of 3]   [Video/Demo]   [Oct 2012]
    As part of 24-hour hackathon, we sought to develop a smart AR application which detects presence of a visiting card, and annotates it with maps, call, social media profiles etc.
Courses
Work Experience
  • Goldman Sachs Group, Inc.
    [Jun 2014 - July 2016]   Technology Analyst
  • McAfee Inc.
    [Jan 2014 - May 2014]   Software Engineering Intern
  • Intuit Inc.
    [Jun 2013 - Jul 2013]   Software Engineering Intern
  • Frappant Technologies Pvt. Ltd.
    [Jun 2012 - Jul 2012]   Software Engineering Intern
Activities
  • Secured 27/48th position in ACM – ICPC Greater NY regionals, representing Stony Book University.
  • Best mobile application themed “Hacking for Democracy” (to aid in the Indian General Elections) for a real-time sentiment analysis of Twitter feeds to obtain statistics reflecting the mood of the nation built during a hackathon held at Microsoft R&D, Bangalore.
  • Part of organizing team of Design and Innovation workshop held at PES Institute of Technology in collaboration with the Massachusetts Institute of Technology (MIT Media Labs-‘13).
Photography

Contact
Made by ME